← На главную

VideoLAN представила dav2d — быстрый декодер AV2 под x86, ARM и RISC-V

31.05.2026 11:44 · hackernews

Видеолановцы анонсировали dav2d — быстрый декодер для нового видеокодека AV2. Это прямой наследник dav1d, который сейчас стоит за воспроизведением AV1 в VLC, FFmpeg, mpv, Firefox, Chrome, Safari, Android, Windows и Linux. Идея та же: сделать маленький, быстрый, портируемый и корректный декодер для реальных плееров, браузеров, тестовых утилит и ОС.

AV2 разрабатывает Alliance for Open Media. Спецификация уже опубликована. Кодек добавляет новые инструменты в предсказании, трансформациях, энтропийном кодировании, фильтрации и обработке цветности. Прирост эффективности сжатия — примерно 25% относительно AV1, в некоторых тестах ещё больше. Но есть нюанс: декодирование AV2 примерно в пять раз сложнее, чем AV1. На текущем железе софт будет еле крутить его в реальном времени без тщательной, архитектурно-специфичной оптимизации. Поэтому dav2d начали делать заранее, не дожидаясь стабилизации спецификации.

Команда уже извлекла урок из истории dav1d. Тогда, во время финализации AV1, многие в AOM считали, что хватит «железных» декодеров и референсной реализации. Оказалось, что нужен production-quality софт для браузеров и мобильников, и AOM сам профинансировал часть работ. Сейчас dav2d повторяет тот же фокус, но с опережением.

Текущее состояние: в дереве уже есть функционально полный декодер AVM v15, поддерживающий 8-bit и 10-bit. Реализованы разбор битстрима, заголовки кадров и последовательностей, энтропийное декодирование, интра- и интер-предсказание, трансформации, деблокинг, CDEF, фильтр Винера, синтез film grain. Работа идёт над корректностью, конформностью и оптимизацией.

На x86 уже есть AVX2-код для обратных трансформаций, CCTX, деблока, интра-предсказания и CfL. На ARM — AArch64 NEON для энтропийного декодирования, SAD, интра- и палитрового предсказания, DC-предикторов и motion-функций. Есть ранняя работа и под RISC-V.

Большое преимущество — инструмент checkasm, созданный ещё под dav1d. Он валидирует и бенчмаркает оптимизированные реализации, сравнивая их с эталоном на C. В dav2d checkasm работает с первого дня. Это позволяет оптимизировать быстрее и безопаснее.

Проект открытый, лицензия BSD-style — как у dav1d, легко встраивается и в открытые, и в проприетарные приложения. Впереди — доработка под новые версии спецификации AV2, расширение покрытия тестами, дальнейшая оптимизация под x86, ARM, RISC-V, улучшение работы с высокой битностью, тредов и памяти. Но база уже крепкая. Видеолановцы намерены повторить успех dav1d: сделать AV2 практичным задолго до того, как его повсеместно начнут поддерживать железом.

Читать оригинал →