מעלדונג פון SVT-AV1 2.0 ענקאָדער און dav1d 1.4 דיקאָודער פֿאַר AV1 ווידעא פֿאָרמאַט

די מעלדונג פון די SVT-AV1 2.0 ביבליאָטעק (Scalable Video Technology AV1) איז ארויס מיט ימפּלאַמאַנץ פון די ענקאָדער און דיקאָודער פון די AV1 ווידעא קאָדירונג פֿאָרמאַט, פֿאַר אַקסעלעריישאַן פון די מיטל פון ייַזנוואַרג פּאַראַלעל קאַמפּיוטינג אין מאָדערן ינטעל קפּוס זענען געניצט. די פּרויעקט איז געווען באשאפן דורך ינטעל אין שוטפעס מיט Netflix מיט דער ציל צו דערגרייכן אַ מדרגה פון פאָרשטעלונג פּאַסיק פֿאַר אויף-דעם-פליען ווידעא טראַנסקאָדינג און נוצן אין ווידעא-אויף-פאָדערונג (VOD) באַדינונגס. דערווייַל, אַנטוויקלונג איז דורכגעקאָכט אונטער די אָספּיסיז פון די עפֿן מעדיע אַלליאַנסע (AOMedia), וואָס אָוווערסיז די אַנטוויקלונג פון די AV1 ווידעא קאָדירונג פֿאָרמאַט. ביז אַהער, די פּרויעקט איז דעוועלאָפּעד אין די פריימווערק פון די OpenVisualCloud פּרויעקט, וואָס אויך דעוועלאָפּס די SVT-HEVC און SVT-VP9 ענקאָדערס. דער קאָד איז פונאנדערגעטיילט אונטער די BSD דערלויבעניש.

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

צווישן די ענדערונגען אין די נייַע מעלדונג פון 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, приводившая к записи в область вне границ буфера из-за целочисленного переполнения при обработке кадров очень большого размера.

מקור: opennet.ru

לייגן אַ באַמערקונג