VideoLAN и FFmpeg разработали новый декодировщик для видеокодека AV1

Разработчики из проектов VideoLAN и FFmpeg представили библиотеку dav1d с реализацией нового свободного декодировщика формата кодирования видео AV1. Код проекта написан на языке Си (C99) с ассемблерными вставками (NASM/GAS) и распространяется под лицензией BSD. Для сборки применяется инструментарий meson.

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

В библиотеке dav1d планируют реализовать все расширенные возможности AV1, включая все виды субдискретизации и параметров управления глубиной цвета. Проектом также планируется создание инструментария, похожего на MFT. В настоящее время реализована поддержка архитектур x86, x64, ARMv7 и ARMv8, и операционных систем Linux, Windows, macOS, Android и iOS.
Библиотека уже готова для тестирования, но пока не пригодна для повседневного использования.

Напомним, что видеокодек AV1 разработан альянсом Open Media (AOMedia), в котором представлены такие компании, как Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN и Realtek. AV1 позиционируется как общедоступный и не требующий оплаты отчислений свободный формат кодирования видео, который заметно опережает H.264 и VP9 по уровню сжатия. Для всего диапазона протестированных разрешений в среднем AV1 обеспечивает тот же уровень качества при уменьшении битрейта на 13% по сравнению с VP9 и на 17% по сравнению с HEVC. На высоких битрейтах выигрыш увеличивается до 22-27% для VP9 и до 30-43% для HEVC. В тестах Facebook AV1 обогнал по уровню сжатия main profile H.264 (x264) на 50.3%, high profile H.264 на 46.2%, а VP9 (libvpx-vp9) на 34.0%.

Штатный эталонный декодировщик AV1 (libaom) является исследовательским проектом и во многих областях требует улучшения и оптимизации. Разработчики VideoLAN, VLC и FFmpeg выступили с совместной инициативой по созданию нового стабильного высокопроизводительного открытого декодировщика. Консорциум Open Media одобрил это начинание и выступил спонсором проекта. Реализация получилась очень компактной: dav1d включает в 10 раз меньше кода по сравнению с libaom, а размер бинарного файла меньше в три раза. В процессе декодирования dav1d потребляет в 4 раза меньше памяти. В многопоточном режиме работы dav1d опережает libaom 1.0.0, но пока отстаёт от HEAD-ветки libaom. Данное отставание обусловлено не использованием на данном этапе развития dav1d оптимизаций на языке ассемблера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.