Форматы видео файлов

Тема в разделе "WASM.ASSEMBLER", создана пользователем blueboar, 1 фев 2011.

  1. blueboar

    blueboar New Member

    Публикаций:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    110
    Адрес:
    Россия, Курган
    Десять лет я искал нормальный документ, в котором русским языком было бы описано как декодировать JPG файл с примерами. И вот в этом же форуме правда в соседней ветке нашел - http://community.livejournal.com/fotobooks/285330.html

    Но раз уж такой праздник - а нет ли таких же книжек по DivX, MPG, MP3, DJVU и другим сжатым форматам?
    Пока я вручную декодирую только Deflate (ZIP,PNG), JPG и GIF
     
  2. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Спасибо за ссылку на книгу!
     
  3. blueboar

    blueboar New Member

    Публикаций:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    110
    Адрес:
    Россия, Курган
    Хм. То не мне спасибо :)

    Это спасибо Exception13 вот отсюда http://www.wasm.ru/forum/viewtopic.php?id=39795
     
  4. LShadow77

    LShadow77 New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2010
    Сообщения:
    36
    Присоединяюсь к автору темы. Подробное описание алгоритмов MP3, JPEG, MPEG, x264 с доходчивыми исходниками на C ищу давно и упорно, так что за любые ссылки на эту тему будет приагромнейшее спасибо.
    А ещё я ищу аналогичные материалы по формату PDF. Тут курьёз в том, что поисковики по этому запросу выдают половину интернета!
     
  5. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Если надо на русском - то ничего толкового ты не найдёшь.
    Если подходит английский - тогда в чём проблема? Читай спецификации.
    По JPEG в частности ITU-T81.PDF - там алгоритм в деталях расписан, есть примеры реализации (псевдокод).
     
  6. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Зачем вручную декодировать видео и аудио, если есть кодеки? Декодирование современных форматов типа MPEG - достаточно сложное и муторное дело.
     
  7. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.551
    Адрес:
    Russia
    Ursus
    Согласен.
    Писать самому реализацию MPEG4 (хотя бы одного из стандартов, типа part 2 Visual или part 10 AVC) очень трудоемко - вижу смысл тока в профите, и если есть огромное кол-во времени. Лучше все равно не сделаете.
    Или тс придумывает собственный стандарт на базе готового ?
     
  8. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    вы такие писсимисты. а еслиб все так думали. то что не было бы кодеков. парень молодец. его интересует сделать, а не тупо юзать то. что не всегда работает так ка хочется.
     
  9. Ursus

    Ursus Member

    Публикаций:
    0
    Регистрация:
    15 мар 2006
    Сообщения:
    238
    Адрес:
    Russia
    Мы не пессимисты, мы прагматики, ёпт.
     
  10. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.551
    Адрес:
    Russia
    abcd008
    Вы сами хоть пробовали писать в одиночку MPEG4 одну из частей, по стандарту, имея на руках только док стандарта?
    Я пробовал, и знаю о чем речь.
    В принципе, дока по Part 2 у меня валяется. Могу выложить если надо. Делайте, раз так хотите.
    http://rghost.ru/4603856

    Ну и советую форумы по этому делу
    1) Форум разработчиков стандартов. Короче отцы всего и вся - там Doom9.org
    2) русский ресурс о компрессии compression.ru в нем доки есть и форум.
     
  11. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    я пробовал. но не mpeg. с английским плоховато. но а так когда есть хорошая документация можно все. это лучше чем пытаться разобрать чужие исходники. не понимая что они делают.
     
  12. Maratyszcza

    Maratyszcza New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2006
    Сообщения:
    32
  13. LShadow77

    LShadow77 New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2010
    Сообщения:
    36
    Зачем писать декодеры самому? А для собственного, так сказать, удовольствия, это ж чертовски увлекательно! И чтобы мозг не высох :) Кто-то, например, разгадывает кроссворды, кто-то в шахматы играет. А коддинг -это гораздо круче. И потом, пользоваться библиотеками собственной реализации (тем более полностью ассемблерной) гораздо приятнее, чем готовыми костылями, которыми нас снабжают всякие очень_умные_дяди. Зачем ещё нужно изобретать велосипед на реактивной тяге? Это только НАСТОЯЩИЙ программист может понять. А вы, батенька Ursus, всего лишь настоящий коммерсант (да не в обиду будет сказано)...
    Ну это всё, конечно, в свободное личное время, а не в рабочее (начальник вряд ли оценит)
     
  14. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    LShadow77
    Один вопрос. Зачем на ассемблере?
     
  15. LShadow77

    LShadow77 New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2010
    Сообщения:
    36
    Booster
    Сишных реализаций и без того тьма тьмущая, а вот ассемблерных... Только Ассемблер даёт самые высокие качество кода и производительность, а следовательно, реальное преимущество по сравнению со стандартными кодеками, написанными, как правило, на языках высокого уровня. Ну и конечно, море удовольствия от процесса программирования, осознание собственной власти над машиной...
     
  16. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    LShadow77
    У меня другая информация. Ускорение даёт не ассемблер, а векторизация, sse, многопоточность, gpu и подобные техники. Ассемблер может дать выигрыш, но далеко не везде и небольшую. К примеру кодек использующий dxva побить в принципе невозможно. Минусов у ассемблера достаточно и удовольствие это сомнительное. Сегодня гораздо важнее задействовать все ресурсы, нежели писать на ассемблере.
     
  17. LShadow77

    LShadow77 New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2010
    Сообщения:
    36
    Про векторизацию можно подробнее?
    SSE/SSE2, MMX, 3DNOW - это расширения основной системы команд микропроцессора, т.е. тот же ассемблер.
    Я не понимаю, как многопоточность может увеличивать быстродействие? Разве что, если потоки распределены между разными ядрами в многоядерных процессорах.
    GPU, декодирующие видео, стоят далеко не у всех (у меня, например, нет). И, к тому же, как я понимаю, в этой теме речь идёт именно о программировании алгоритмов декомпрессии.

    Ну, аппаратное решение всегда намного быстрее программного, но опять же, не всем пока доступное. И на ассемблере доступ к аппаратным средствам всё же несколько быстрее.

    Это Ваше личное мнение, спорить не буду.

    Что мешает задействовать все ресурсы на ассемблере?