
VideoLAN представила dav2d — швидкий програмний декодер для кодека AV2
Учасники спільноти VideoLAN опублікували dav2d — швидкий декодер AV2, наступника AV1 від Alliance for Open Media. Проєкт уже працює з 8- і 10-бітними потоками, а оптимізація ведеться для x86, ARM і RISC-V.
Учасники спільноти VideoLAN представили dav2d — швидкий декодер для AV2, наступника AV1 від Alliance for Open Media. Про це 31 травня 2026 року повідомив Жан-Батіст Кемпф (Jean-Baptiste Kempf) з VideoLAN, через кілька тижнів після відкриття репозиторію та початку розробки у відкритому режимі. Це сталося після першого офіційного релізу специфікації AV2.
Навіщо новий декодер і чому саме зараз
AV1 було завершено 2018 року, і він став одним із найпоширеніших відеокодеків. AV2 додає нові інструменти кодування в прогнозуванні, перетвореннях, ентропійному кодуванні, фільтрації та обробці кольоровості. Заявлений виграш залежить від умов тестування, але покращення приблизно на 25% порівняно з AV1 спостерігаються часто. Проблема в складності: декодування AV2 приблизно вп'ятеро вимогливіше за AV1, тож на нинішньому обладнанні реальний час вимагає ретельної оптимізації під архітектуру. Саме цю прогалину має закрити dav2d, і саме тому робота почалася ще до стабілізації специфікації.
Продовження лінії dav1d
dav2d продовжує підхід, який VideoLAN застосувала у своєму декодері AV1 dav1d: маленький, швидкий, портативний і коректний декодер, придатний для реальних застосунків, медіаплеєрів, браузерів, тестових інструментів та операційних систем. Коли AV1 завершували, команда наполягала на швидкому програмному декодері, а не на очікуванні апаратної підтримки. У спільноті AOM з цим погодилися не всі, але зрештою Альянс профінансував частину початкової розробки. Сьогодні dav1d — найпоширеніший програмний декодер AV1, який використовують VLC, FFmpeg, mpv, Firefox, Chrome, Safari, Android, Windows і Linux.
Що вже працює
Поточне дерево dav2d містить функціонально повний декодер AVM v15 з підтримкою 8- і 10-бітних потоків. Уже реалізовано й тепер оптимізується: розбір бітпотоку, заголовки кадрів і послідовностей, ентропійне декодування та робота з CDF, внутрішньокадрове й міжкадрове прогнозування з опорними векторами руху, перетворення, CCTX і CfL, деблокування, CDEF, фільтр Вінера та синтез кінозернистості. Оскільки AV2 поділяє чимало концепцій з AV1, а dav1d уже розв'язав питання потоків, SIMD, тестування та дизайну API, проєкт просувається швидше за dav1d на тому ж етапі. Фреймворк checkasm, створений під час роботи над dav1d для перевірки та порівняння оптимізованого коду з еквівалентами на C, був доступний від першого дня.
Робота над продуктивністю та подальші кроки
Оптимізація вже почалася на трьох архітектурах: код AVX2 для кількох розмірів зворотних перетворень на x86 разом із роботою над CCTX, деблокуванням, внутрішньокадровим прогнозуванням і шляхами CfL; AArch64 NEON для ентропійного декодування, SAD, внутрішньокадрового й палітрового прогнозування, DC- і smooth-предикторів та функцій руху на ARM; і ранні роботи для RISC-V з повторного ввімкнення асемблера внутрішньокадрового прогнозування та компенсації руху. Попереду — відстеження специфікації, покращення відповідності й тестового покриття, подальша оптимізація x86 та ARM, продуктивність на високій бітності, потоки й використання пам'яті. Декодер випускається за тією ж BSD-подібною ліцензією, що й dav1d, а розробка ведеться відкрито на GitLab VideoLAN.
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.