Проекты 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 является больше исследовательским проектом и во многих областях требует улучшения и оптимизации. Разработчики VideoLAN, VLC и FFmpeg выступили с совместной инициативой по созданию нового стабильного высокопроизводительного открытого декодировщика. Консорциум Open Media одобрил это начинание и выступил спонсором проекта. Реализация получилась очень компактной: dav1d включает в 10 раз меньше кода по сравнению с libaom, а размер бинарного файла меньше в три раза. В процессе декодирования dav1d потребляет в 4 раза меньше памяти. В многопоточном режиме работы dav1d опережает libaom 1.0.0, но пока отстает от HEAD-ветки libaom. Данное отставание обусловлено не использованием на данном этапе развития dav1d оптимизаций на языке ассемблера.
Android Intel Microsoft Netflix NVIDIA