Vydanie kodéra SVT-AV1 2.0 a dekodéra dav1d 1.4 pre video formát AV1

Bolo zverejnené vydanie knižnice SVT-AV1 2.0 (Scalable Video Technology AV1) s implementáciou kódovača a dekodéra formátu kódovania videa AV1. Projekt vytvorila spoločnosť Intel v spolupráci so spoločnosťou Netflix s cieľom dosiahnuť úroveň výkonu vhodnú na prekódovanie videa za chodu a použitie v službách videa na požiadanie (VOD). V súčasnosti vývoj prebieha pod záštitou Open Media Alliance (AOMedia), ktorá zastrešuje vývoj formátu kódovania videa AV1. Predtým bol projekt vyvinutý v rámci projektu OpenVisualCloud, ktorý vyvíja aj kodéry SVT-HEVC a SVT-VP9. Kód je distribuovaný pod licenciou BSD.

SVT-AV1 может быть собран для систем на базе любых архитектур, для которых имеется компилятор с поддержкой стандарта C99, но наилучшая производительность достигается на системах x86_64, для которых применяются ассемблерные оптимизации на базе инструкций SIMD (желательно наличие в CPU поддержки AVX2, но в качестве минимума достаточно и SS2). Потребление памяти зависит от числа задействованных при кодировании процессорных ядер, регулируемых опцией «—lp». Из-за усложнения применяемых в AV1 алгоритмов, для кодирования данного формата требуется существенно больше ресурсов, чем для других форматов, что не позволяет применять штатный кодировщик AV1 для перекодирования в реальном времени. Например, штатный кодировщик от проекта AV1 требует в 5721, 5869 и 658 раз больше вычислений по сравнению с кодировщиками x264 (профиль «main»), x264 (профиль «high») и libvpx-vp9.

Medzi zmeny v novom vydaní SVT-AV1:

  • Осуществлён переход на новую нумерацию версий, в соответствии с которой первая цифра в версии будет меняться при каждом изменении API/ABI.
  • Внесены изменения в API, связанные с переходом к индикации завершения потока (EOS — End Of Stream) в последнем кадре вместо использования пустого кадра, что позволило исключить задержку на ожидание лишнего кадра. Изменение API уже отражено в кодовой базе FFmpeg.
  • Удалён трёхпроходный режим переменного битрейта (3-pass VBR), вместо которого теперь используется механизм многопроходного VBR. Многопроходный режим VBR сведён к выполнению двух проходов для обеспечения интеграции с FFmpeg.
  • В кодировщик добавлены оптимизации, в результате которых эффективность сжатия пресетов M9-M13 повысилась на 1-4%, а потребление памяти в пресете M5 снизилась на 20-35% в режиме LP 8 и на 1-5% в других режимах. Потребление памяти в остальных пресетах уменьшилось на 1-5%.
  • Проведена оптимизация компромиссов качество/скорость для пресетов, выставляющих высокий уровень качества. Работа пресета MR, предоставляющего эталонное качество, ускорена на 100%.
  • В функции, написанные только на языке Си, добавлены оптимизации, специфичные для архитектуры ARM.

Дополнительно можно отметить выпуск проекта dav1d 1.4.1, в рамках которого сообщества VideoLAN и FFmpeg развивают библиотеку с реализацией альтернативного свободного декодировщика формата кодирования видео AV1. Библиотека dav1d поддерживает все возможности AV1, включая расширенные виды субдискретизации и все заявленные в спецификации параметры управления глубиной цвета (8, 10 и 12 бит). Ключевой особенностью dav1d является ориентация на достижение максимально возможной производительности декодирования и обеспечение качественной работы в многопоточном режиме. Код проекта написан на языке C (C99) с ассемблерными вставками (NASM/GAS) и распространяется под лицензией BSD. Реализована поддержка архитектур x86, x86_64, ARMv7 и ARMv8, и операционных систем FreeBSD, Linux, Windows, macOS, Android и iOS.

Версия dav1d 1.4 примечательна поддержкой новых архитектур Loongarch и RISC-V, а также задействованием дополнительных оптимизаций на базе инструкций AVX-512, ускорением работы фильтров 6tap на системах ARM, повышением эффективности многопоточной работы и сокращением размера бинарных данных на системах ARM64, ARM32 и RISC-V. Устранена уязвимость CVE-2024-1580, приводившая к записи в область вне границ буфера из-за целочисленного переполнения при обработке кадров очень большого размера.

Zdroj: opennet.ru

Pridať komentár