FFmpeg получит собственную реализацию кодека VP8

Разработчики Рональд Бальтджи, Дэвид Конрад и Джейсон Гаррет-Глейзер занялись внедрением нативного видеокодека VP8 в opensource-проект FFmpeg. Цель задачи – реализовать качественную поддержку VP8 на FFmpeg.

PC-Codecs.com

Разработчики Рональд Бальтджи, Дэвид Конрад и Джейсон Гаррет-Глейзер занялись внедрением нативного видеокодека VP8 в opensource-проект FFmpeg.
Цель задачи – реализовать качественную поддержку VP8 на FFmpeg.

Видеокодек VP8 был разработан компанией по мультимедийным технологиям On2, которую недавно приобрела Google. На конференции разработчиков последней в предыдущем месяце поисковый гигант снял интеллектуальную собственность этого кодека и открыл его исходные коды, чтобы сделать доступным для использования в Интернете в самых широких целях. Кодек VP8 считается конкурентом лидирующему в отрасли Н.264, однако остается неясным, сможет ли статус пока не обремененного патентами кодека устоять перед юридическими претензиями. Несколько основных компаний-разработчиков браузеров отдают предпочтение VP8 благодаря использованию в нем кода Google, который был выпущен под свободной лицензией BSD. В записи блога, опубликованной на этой неделе, Бальтджи объяснил, что он со своей командой работает над собственной версией кодека для FFmpeg, чтобы помочь сделать из него видеостандарт. Благодаря разработке для FFmpeg можно будет воспользоваться всеми преимуществами существующего кода. Дело в том, что FFmpeg уже поддерживает предыдущие итерации кодека VP5 и VP6. Они схожи с VP8, а используемые в них методы оптимизации, по мнению Бальтджи, могут быть использованы и для новой реализации кодека. Таким образом, уровень производительности сможет быть значительно выше, чем если бы разработчики просто портировали код Google для FFmpeg. Бальтджи также верит, что он и остальные разработчики смогут создать основанный на FFmpeg VP8-декодер, который также будет существенно более производительным по сравнению с кодом Google. В своей записи в блоге он указывает, что такое решение было бы очень эффективным, поскольку по предыдущему опыту альтернативные FFmpeg-декодеры Theora и Vorbis были широко восприняты как лучшие по отношению к стандартной референсной реализации, разработанной создателем Ogg Xiph.
«Весьма вероятно, что наш нативный VP8-декодер (при правильной оптимизации) будет производительнее libvpx от компании Google. Тенденция такова, что с тех пор как разработчики libXYZ изобрели колесо, их реализация всегда хромала на обе ноги. Подход FFmpeg в этом отношении намного проще, так как мы используем уже существующие колеса, и именно те, что вы бы хотели видеть на вашей следующей спортивной машине».
И хотя разработчики значительно продвинулись в решении соей задачи, они уже столкнулись с определенными проблемами, связанными с ограничениями в официальной спецификации Google по VP8. Документ, описывающий кодек, является весьма запутанным и незавершенным во многих отношениях, что преимущественно объясняется постоянными ссылками на исходный код. Один из разработчиков проекта Гаррет-Глейзер хорошо известен по своему вкладу в работу над x264, весьма эффективной реализацией кодека H.264. Его участие в разработке VP8 достойно внимания, потому что он открытый скептик в отношении патентного статуса этого кодека и его конкурентоспособности с H.264. Именно Гаррет-Глейзер опубликовал всесторонний технический анализ VP8 на своем блоге вскоре после того, как исходные коды кодека были обнародованы Google. В своей статье он определил ряд ключевых недостатков спецификации и описал те области, где к VP8 могут быть предъявлены патентные претензии из-за серьезной схожести с H.264. Тем временем, текущий статус основанной на FFmpeg реализации VP8 впечатляет. Бальтджи говорит, что на данный момент в тестах достигнуто идеальное совпадение с результатами реализации VP8 от Google. Это обнадеживающий признак того, что обе реализации будут совместимыми друг с другом. Сейчас разработчики сфокусированы на этапе оптимизации кода.