DivX, XviD и др.

Тема в разделе "WASM.HEAP", создана пользователем kaspersky, 15 дек 2006.

  1. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    а что там непонятного %), дефект визуально напоминающий прожог(овальное темное пятно справа)
    Да проверил уже в нескольких программах Power DVD, Проигрыватель Windows Media и
    в Light Alloy, везде видно

    к сожалению пока скачать прогу не получается, то ли сайт в дауне, то ли некоторые IP забанены
     
  2. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Asterix
    # в ней есть покадровый просмотр в направлении "вперед"
    настоящего покадрового просмотра нет нигде.
    ибо есть четыре типа кадров (фреймов)
    I-frame - ключевые
    P-frame - содержат разницу от пред. P или I
    B-frame - содежат разницу от след. или пред. или их суперпозицию
    S-frame - фонт типа текстура
    обычная последовательность кадров такова:
    1 2 3 <- исхоные кадры
    I B P <- закодированные
    1 3 2 <- последовательность раскодирования

    таким образом, для просмотра кадра 2,
    мы должны декодировать все три кадра.
    допусти, в кадре 1 или 3 - артефакт.
    тогда кадр два отобразится с ошибкой.
    причем, если дефект в кадре 1,
    то он будет усилен в кадрах 2 и 3,
    хотя они тут не виноваты ;)
    и никакой покрадровый просмотр тут
    не поможет выявить дефект.
    нужно только включать отладочный вывод
    декодера и смотрать кто есть ху
     
  3. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Asterix
    с пятном не знаю... странно...
    оно на одном кадре или на соседних тоже?
    прогу могу послать по мылу. она 10 мег весит всего.
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    занимает несколько кадров, судя по Light Alloy,
    причем дефект в нескольких местах фильма, попарно через 7 секунд,
    т.е. дефект-7сек-дефект...какое-то время...дефект-7сек-дефект...какое-то время...,
    может даже "какое-то время" тоже равно одному значению не проследил

    повременю, может сайт у них все-таки заработает
    да и на гпрз я сейчас, так что 10 Мб много %)
     
  5. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    kaspersky
    >мыщъх вообще быстро грызет и еще быстрее читает ;)
    Я знаю, потому и думаю что ты только статьи\форумы\сайты и читал пока.

    >фундамент остается прежним.
    Я не знаю когда ты сочтешь фундамент другим, можно сказать что он прежний, а можно и сказать что многое изменилось. Можно вообще сказать что у всего один фундамент, смотря как далеко опускаться. Мне лично главное результат, я ставил свои эксперементы и приходил к своим выводам.

    >ты лучше скажи что нового в x264?
    Я все уже перечислил, на словах не так много, но если взглянуть формат глубже то не так и мало. Основное что дает выигрыш это различные трики при кодировании - тут просто смотри стандарт или сорсы, что уже дает выигрыш при транскодирования mpeg4->h264 без доп фишек, CABAC, lowpass фильтр, деблокинг, DCT4x4, новые виды моушена, гораздо большая по сравнению с mpeg4 история кадров из которых можно делать референсы. Это не все, это только то что можно просто описать. Тебе мало? Все фигня? Эта вся фигня и так еле тянет на компе, а тебе мало? Мне в свое время пришлось самому ffdshow оптимизировать, чтобы фильм посмотреть) Ну так покажи что фигня, я посмотрю и может соглашусь.

    >деблокинга, ибо на разумных битрейтах
    >он нафиг не нужен...
    Абсолютно несогласен. Разумный как я понял средний, на среднем и низких биртейтах он как раз очень полезен. На высоких кстати тоже, только использовать надо с умом, только когда приводит к улучшению, но выигрыш конечно уже мал. Я не имею ввиду что в x264 его надо включить или выключить, я как имею ввиду с точки зрения формата. x264 это отдельная песня.

    >а ты в курсе что 90% алгоритмов MPEG4 перешло из MPEG1?
    Я вкурсе алгоритмов MPEG1\2\4, но строго говоря с тобой несогласен, в общих чертах да, но сами алгоритмы разные, точнее есть разные, одинаковые и новые, кое где сравнить трудно. Но mpeg4 на mpeg1 гораздо больше похож чем h264 на mpеg4.

    >ну я распотрошил x264 - a free h264/avc encoder
    Что значит ты его распотрошил?? изучил сорсы и понял как он работает??? Или опять общие статьи о том как все работает?? Типа написали названия фреймов и пишем что фундамент тот же?
    Можно и таким же назвать и когда афинные преобразования там появятся, элементы фрактального сжатия там будут в более полном объеме и многое другое, тоже можно будет сказать что он тот же. Но алгоритм изменится еще сильнее и результат будет другим.
    Где результаты то, собственого сравнения, а не линки на статьи?)
    Кстати, если есть интерес в эксперементах, выкладываю свой мод к x264, чтобы кушал любой сорс понимаемый dshow, удобнее, чем через .avs:
    http://ac3filter.net/~lion/x264.rar
    И учти, что x264 кодер далеко не мастерингового качества, он, например, не строит дерево референсов от каждого макроблока и не использует эту информацию при выборе квантования.
     
  6. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    semen
    спасибо за инфу, буду дальше жевать.
    ты, конечно, знаешь x264 намного глубже меня,
    так что тут спорить с тобой я не могу...
    сорцы mpeg2 и XviD'а я распотрошил основательно,
    разобрался во всех опциях и даже как они хакнули avi,
    чтобы поддержать b-фреймы ;) но это так, ерунда.
    на формуах, кстати, я бываю редко. гораздо больше
    информации можно получить из сорцов ;)

    а вот на x264 просто пока глядел.
    результатов сравнения нет - мой комп их не тянет ;(
    поэтому, пока пришлось ограничится только теорией.
    но эксперименты проводить все-таки хочется ;)
    посему за Avisynth спасибо! вот только жалко,
    что на контейнер avi забили ;( не ну я понимаю,
    конечно, что в него x264 не лезет, но все-таки.
    а от мертвой овцы релиз x264 какой-то не такой.
    в один проход не жмет вообще ;(

    если не трудно - у меня к тебе просьба.
    скажи: какие настройки следует сразу крутить,
    чтобы смотреть фильм на P-III 733Mhz с FFDShow
    и можно ли на таком CPU будет выиграть в сжатии?

    btw, анализируя XviD, я пришел к выводу, что суперпозицию
    кадров в B-фреймах он строит намного хреновее, чем DivX,
    и крайне плохо предсказывает когда нужно сделать I-фрейм.
    часто бывает так, что сцена полностью меняется, а XviD
    все еще отталкивается от последнего P-кадра, в результате
    чего мы имеем резкий "пик" на диаграмме размера кадров,
    и тут же вслед за этим он строит I-фрейм ;(

    p.s. разумный битрейт - понятие растяжимое, определяемое
    сжимаемостью фильма. давай будем говорить о качестве.
    в зависимости от качества исходного видеоматериала,
    я жму его либо с quant = 2, либо с quant = 3, но не более.
    на таком качестве о деблокинге говорить не приходится ;)
     
  7. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    kaspersky
    >посему за Avisynth спасибо!
    Я вообщето наоборот сделал чтоб без него можно было)

    В сжатии выиграть можно. Со скоростью дело обстоит так: чтобы выключить lowpass фильтр моушн верктор должен быть целочисленным, при полупиксельной включается 6tap фильтр, при четвертьпиксельной точности там 1 или 2 6tap фильтра - среднее между 2мя полупиксельными, точность 1/8 считается проще, по 4м точкам. Так что если вектор не целочисленный, то моушн полюбому будет медленее mpeg4, если целочисленный то скорость ~таже. Далее из особо жрущего CABAC и деблокинг - их выключить. Остальное не жрущее, можно оставть, если я ничего не забыл, но обвязка-логика там сложнее и ест поболее, но насколько я незнаю. Вобщем думаю DVD шное разрешение при нормальной оптимизации потянет.

    Насчет деблокинга - проведем мысленный эксперемент: зафиксируем параметры квантования, вектора и остальные параметры кодирования слайса, теперь включим и выключим деблокинг для данного слайса. Что произойдет? Т.к. реконструированный кадр другой, референс из него посчитается по-другому, макроблоки что в него ссылаются закодируются(возможно) разным числом бит, верно? А можно ведь еще и параметрами деблокинга поиграться и посмотреть где же больше выгода или таки ее нет.
    Так что даже на высоких битрейтах он помогает, хоть и не так сильно, исключать что он может привести к выгоде нельзя) Но опенсорс кодеров, которые аккуратно с ним работают я не встречал.
     
  8. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    semen
    слушай, проясни мне одну вещь. когда я в x264 ставлю
    q = 2 или даже q = 4, то получаю файл в _десятки_ раз больше оригинала,
    который тормозит со страшной силой даже на P-4!!! 8-( 0 )
    в руководстве дохлой овцы имеется предостережение ставить
    q < 15 и q > 40, ну я поставил q = 30 и получил _ужасное_
    качество и все равно большие тормоза...
    там что ли по другому понимается квантайзер?
    или я торможу?!

    про моушен вектор я не понял.
    где он задается? в смысле нужно
    Subpixel motion estimation and partition выставить в 1 или нет?

    Asterix
    вот, кстати, пример кривого DVD.
    чтобы нормально посмотреть, пришлось переставлять P и B фреймы.
    хорошо хоть в avidemux'е это можно автоматизировать...
     
  9. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    ага, тоже кривой, но дефект на моем похож на то что DVD делали с широкоформатной пленки
    и она прогорела %)
    Скачал я avidemux - он падает при попытке загрузить туда файл :dntknw:
     
  10. semen

    semen New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2004
    Сообщения:
    334
    Адрес:
    Russia
    kaspersky
    Квантование там другое, так что это совсем не тот q, что в mpeg4 и рэндж у него другой - 0..51, кстати привычное тебе 8х8 DCT и квантование есть только в high профайле, в main и baseline нету, там только 4х4. Так что прежде всего убедитсь что включил что надо и что CABAC и деблокинг выключил (для x264 --nf --no-cabac).
    Недостаток mpeg4 квантования в недостоточной плавности, точнее их там 2 квантования - mpeg2`шное и h263`шное, хотя ты наверно и сам знаешь, раз распотрошил сорсы. h263`шное без матриц и фактор квантования есть q*2 (если не вдаваться в детали) тоесть изменение q на 1 сильно ощутим при маленьких значениях и зачастую виден визуально, что невсегда есть хорошо. С mpeg2`шным получше, там плавность можно эмулировать изменив матрицу, уменьшив в ней коэффициенты, но 1. это не все делают 2. такое изменение в поведении q нередко сносит крышу так заботливо обученному рейт контролу, хотя посути это тоже пункт 1 т.е. недостаточная поддержка такой возможности 3. лишние матрицы в потоке тоже не есть гут, но это только на vlbr ощутимо. 4. повысив плавность, рэндж 0..31 становится тесен.
    С моушеном увы, я не думаю что отключать(свичем или корежа код если нету) полупиксельную\четвертьпиксельную (а для хромы до 1\8пиксельной точности) это хорошая идея, так что это скорее неизбежная плата.
    PS: Кстати забыл)
    >гораздо больше
    >информации можно получить из сорцов ;)
    Жму лапу)