The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

25.07.2010 13:51  Альтернативная реализация декодера VP8 обогнала по производительности код Google

Разработчик проекта x264, ранее опубликовавший критическую статью, в которой был проведен анализ недостатков открытого компанией Google видеокодека VP8, представил обзор текущего состояния альтернативной свободной реализации декодера VP8 - ffvp8, подготовленной в рамках совместной работы участников проектов FFmpeg и x264. Тестирование производительности показало заметное преимущество кода ffvp8, способного выдать на современных процессорах примерно на 30% больше кадров в секунду при показе видео с разрешением 1080p.

Небольшой отрыв в скорости на процессорах Atom объясняется тем, что разработчики ffvp8 еще не приступили к оптимизации производительности для этого вида процессоров. Несмотря на то, что за месяц после выхода первого рабочего прототипа процесс оптимизации ffvp8 существенно продвинулся вперед, разработка еще остается экспериментальной. Благодаря использованию многих типовых функций, используемых в других декодерах пакета FFmpeg и уже неплохо оптимизированных, код декодера ffvp8 получился достаточно компактным (в пять раз меньше строк кода, чем в эталонном декодере libvpx). Загрузить тестовую версию декодера ffvp8 можно из SVN-репозитория проекта FFmpeg.

В статье также подробно описываются возникшие в процессе работы над ffvp8 проблемы, например, обращается внимание на недостаточно качественное оформление спецификаций, в которых не упомянута логика работы некоторых расширенных функций и некоторые заявления расходятся с практикой, т.е. с тем, что на самом деле представлено в коде. Иными словами, в текущем виде спецификации оказалось недостаточно для создания полностью совместимой с Google реализации декодера, разработчикам пришлось провести серьезный анализ кода, прежде чем удалось добиться полного бинарного совпадения на уровне декодированных потоков.

Из оптимизаций, которые помогли добиться высокой производительности, отмечается проведение работы по увеличению попадания данных в кэш процессора (используется метод умной предварительной загрузки данных из ключевых кадров, обращение к которым наиболее вероятно после обработки текущего кадра) и активное использование ассемблерных оптимизаций с задействованием SIMD-расширений современных процессоров (MMX, SSE, 3DNow), особенно в таких сильно нагружающих CPU задачах, как компенсация движения и фильтр деблокирования. В настоящий момент оптимизация проведена пока только для процессоров x86, поддержка архитектуры ARM остается в планах на будущее.

Также была проведена работа по уменьшению числа распаковки цифровых значений с разной степенью точности (8-битовых в 16-битовые переменные). Например, возьмём операцию abs(a-b) (модуль разности), где a и b - это 8-битные без-знаковые целые числа. Результат вычисления "a - b" требует для своего хранения в памяти 9-бит, так как может быть в промежутке от -255 до 255. Т.е. требуется привлечение дополнительного девятого знакового бита, чего можно избежать используя в условиях конструкцию вида (satsub(a,b) | satsub(b,a)), которая требует всего 4 ассемблерных команд вместо минимум 10 при использовании распаковки.

  1. Главная ссылка к новости (http://x264dev.multimedia.cx/?...)
  2. OpenNews: Сравнение работы кодировщиков VP8, x264 и XviD
  3. OpenNews: Разработчики FFmpeg написали собственный декодер для видеокодека VP8
  4. OpenNews: Релиз FFmpeg 0.6 и успехи в оптимизации видеокодека VP8
  5. OpenNews: Компания Google внесла изменения в лицензию на видеокодек VP8
  6. OpenNews: Компания Google перевела видеокодек VP8 в разряд свободных технологий
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: vp8, video, codec
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.1, vix, 14:55, 25/07/2010 [ответить] [смотреть все]    [к модератору]
  • +5 +/
    во жгут ребята..
    респект..
     
  • 1.2, 666joy666, 15:04, 25/07/2010 [ответить] [смотреть все]    [к модератору]
  • +7 +/
    Суровые мужики показали как нужно работать:)
     
  • 1.3, EuPhobos, 15:40, 25/07/2010 [ответить] [смотреть все]    [к модератору]
  • –2 +/
    Гыы, Мак при более мощьном проце, выдаёт более низкие показатели) Что очередной раз подтверждает уже и без того, подтверждённую теорию "платно - не значит качественно".
     
     
  • 2.9, Andrew, 18:43, 25/07/2010 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]
  • +/
    Где Вы это увидели?
     
     
  • 3.10, EuPhobos, 18:55, 25/07/2010 [^] [ответить] [смотреть все]    [к модератору]
  • +/
    Как бы, на диаграме, которая красуется наверху, в этой новости.
     
     
  • 4.11, Anonim, 19:35, 25/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Как бы на диаграмме C2D под макосью обошел более крутой i7 i5 - камень как бы т... весь текст скрыт [показать]
     
     
  • 5.33, User294, 12:25, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А вон там рядом с атомом уж не мак ли И производительность почти как у атома не... весь текст скрыт [показать]
     
     
  • 6.36, Filosof, 13:05, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Оптимизация ещё в работе как бы намекает, что где-то не эффективно используетс... весь текст скрыт [показать]
     
  • 6.39, Crazy Alex, 13:19, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    В данном случае у i7 частота в полтора раза меньше, так что неудивительно Впроче... весь текст скрыт [показать]
     
  • 6.41, Аноним, 14:05, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    А на индекс посмотреть, не QM Это мобильный У него занижена частота, может ещ... весь текст скрыт [показать]
     
     
  • 7.42, Andrey Mitrofanov, 14:06, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Это на две буквы больше, чем нужно пользователю АМД - ... весь текст скрыт [показать]
     
     
  • 8.49, User294, 19:56, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Судя по чертыханиям в коментах на сайте x264dev - я не один такой кто не понимае... весь текст скрыт [показать]
     
  • 7.45, Anonim, 15:34, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Если смотреть на индекс, то такого процессора вобще не существует Вот все моб... весь текст скрыт [показать]
     
     
  • 8.47, Anonim, 18:19, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Тестировали на i7-720QM с включенным турборежимом http x264dev multimedia cx ... весь текст скрыт [показать]
     
  • 7.48, User294, 19:36, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А теперь попробуйте объяснить юзерам что вон тот i7 - это, дескать, карманный в... весь текст скрыт [показать]
     
  • 6.44, Anonim, 15:20, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну и что Рядом тоже мак и производительность на уровне Сейчас это ни о чем не ... весь текст скрыт [показать]
     
  • 2.34, rfcr, 12:25, 26/07/2010 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    На самом деле скорей всего никто не ждет качества от платных продуктов точнее е... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.37, Filosof, 13:10, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Хмм Если что-то не так работает в платном продукте, это не значит, что произв... весь текст скрыт [показать]
     
  • 3.43, MiG, 14:44, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Так в юзерской лицензии того же микрософта написано, что компания не несёт ответ... весь текст скрыт [показать]
     
     
  • 4.46, EuPhobos, 16:49, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Я это с самого начала и имел ввиду Что приятнее пользоваться свободным ПО, а по... весь текст скрыт [показать]
     
  • 1.4, анон, 15:55, 25/07/2010 [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    Dark Shikari респект
     
  • 1.5, Аноним, 16:13, 25/07/2010 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Хорошее дело делают люди
     
  • 1.6, KERNEL_PANIC, 17:32, 25/07/2010 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Всегда их уважал, и теперь они не разочаровали!
     
  • 1.7, Skipper_gmr, 17:46, 25/07/2010 [ответить] [смотреть все]    [к модератору]  
  • +/
    Вот это правильно.
     
  • 1.8, Arcturus, 17:46, 25/07/2010 [ответить] [смотреть все]    [к модератору]  
  • +/
    Так и должно быть: открытая спецификация и свободные реализации.
     
     
  • 2.16, аноним, 22:59, 25/07/2010 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    ага ага ознакомься с сабжем открытая спецификация не совпадает с референсным... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.40, Crazy Alex, 13:22, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну, тут на гугл валить не стоит Явно это не их вина, а еще On2 А гугл поступил... весь текст скрыт [показать]
     
     
  • 4.50, аноним, 21:26, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Откуда столько любви к этой мерзкой конторке On2 практически нет, а спецификац... весь текст скрыт [показать]
     
     
  • 5.52, ЬЫР, 00:38, 28/07/2010 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    И кому он нужен, простите, этот ваш firefox? Все как юзали IE, так и юзают.
     
     
  • 6.53, аноним, 06:38, 28/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Пропал бы он завтра - даже не заметили бы Опера рулит, а хром подруливает ... весь текст скрыт [показать]
     
  • 1.12, Аноним, 20:49, 25/07/2010 [ответить] [смотреть все]     [к модератору]  
  • +/
    Мне кажется, или здесь действительно ошибка Если а и б в указанных пределах то... весь текст скрыт [показать]
     
     
  • 2.13, Lain_13, 21:37, 25/07/2010 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Перевод, как обычно, жжот Простой пример в случае для архитектуры x86 abs a-b ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.51, pavlinux, 00:27, 27/07/2010 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    0 - 255, Сколько будет?

    Правильно -  11111111 + знаковый бит.


     
  • 2.14, Lain_13, 21:46, 25/07/2010 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Кстати, там ещё рассказывается про операцию satsub, которая здесь лишь указана ... весь текст скрыт [показать] [показать ветку]
     
  • 1.15, FPGA, 22:46, 25/07/2010 [ответить] [смотреть все]    [к модератору]  
  • +6 +/
    Не видно результатов для процессоров AMD.
     
     
  • 2.21, universite, 01:20, 26/07/2010 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –6 +/
    Троллям советую аргументировать свои претензии к АМД, а не голословно высказыват... весь текст скрыт [показать] [показать ветку]
     
  • 2.38, Filosof, 13:13, 26/07/2010 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    не помешали б, но для определения динамики и этого достаточно Они ж сравнивают ... весь текст скрыт [показать] [показать ветку]
     
  • 1.26, StrangeAttractor, 07:35, 26/07/2010 [ответить] [смотреть все]    [к модератору]  
  • +/
    На самом деле всё вообще  может быть гораздо быстрее чем оно есть. Я в этом окончательно уверился увидев как на моей системе (старенький ноут с видео Intel 82852/82855, которая даже ни про какие шейдеры ничего не знает) летает Enlightenment e17 со всеми эффектами и, самое чудесное,  как на ней играется видео командой "mplayer -vo x11 %F"- наприемер при проигрывании FLV (проигрывание которого в браузере "как положено" жрёт 100% CPU) проц (при полностью софтовом декодировании и воспроизведении) загружен всего на 4% и при этом, внимание!, даже к самому видео без всякой запинки применяются эффекты композиции (прозрачность) в любых наслоениях!
     
     
  • 2.29, FractalizeR, 10:31, 26/07/2010 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Это вы о чем сейчас? "Реклама моего домашнего компа"?
     
     
  • 3.30, StrangeAttractor, 11:36, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Основная мысль какбы в первом предложении, а дальше иллюстрация ... весь текст скрыт [показать]
     
     
  • 4.31, vi, 11:43, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    1 и 100500 ... весь текст скрыт [показать]
     
  • 4.32, FractalizeR, 12:13, 26/07/2010 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Мысль философская, ничего не скажешь ... весь текст скрыт [показать]
     
  • 2.35, User294, 12:36, 26/07/2010 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –2 +/
    Посмотрите сколько проца при этом кушает только вывод на экран А если HD подс... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.54, StrangeAttractor, 05:49, 29/07/2010 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    >У флеша удивительно тормозной вывод видео на экран. Связано сие с тем
    >что как я понимаю, вывод декодера должен комбинироваться с картинкой нагенеренной
    >остальным флешом. Ессно сие аццки тормозит.

    В этом и прикол, от это меня и поразило, что если включить прозрачность, сквозь играющееся в mplayer видео видно то, что под ним. Причём можно открыть насколько mplayer-ов и расположить друг над другом, и видео в них будет играться и комбинироваться. И при этом нагрузка на проц копеечная. А если смотреть тот же видеоклип в браузере, то нагрузка на проц 100%.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor