Опубликован выпуск библиотеки SVT-AV1 4.2.0 (Scalable Video Technology AV1) c реализациями кодировщика и декодировщика формата кодирования видео AV1, для ускорения которых задействованы присутствующие в процессорах x86_64 и ARM расширения для аппаратного распараллеливания вычислений. Проект создан компанией Intel в партнёрстве с Netflix с целью достижения уровня производительности, пригодного для перекодирования видео на лету и применения в сервисах, отдающих видео по запросу (VOD). В настоящее время разработка ведётся под эгидой альянса Open Media (AOMedia), курирующего развитие формата кодирования видео AV1. Ранее проект развивался в рамках проекта OpenVisualCloud, который также разрабатывает кодировщики SVT-HEVC и SVT-VP9. Код распространяется под лицензией BSD. SVT-AV1 может быть собран для систем на базе любых архитектур, для которых имеется компилятор с поддержкой стандарта C99, но наилучшая производительность достигается на системах x86_64, для которых применяются ассемблерные оптимизации на базе инструкций SIMD (желательно наличие в CPU поддержки AVX2, но в качестве минимума достаточно и SSE2). Потребление памяти зависит от числа задействованных при кодировании процессорных ядер, регулируемых опцией "--lp". Из-за усложнения применяемых в AV1 алгоритмов, для кодирования данного формата требуется существенно больше ресурсов, чем для других форматов. Среди изменений в новом выпуске SVT-AV1:
Источник: https://www.opennet.ru/opennews/art.shtml?num=65903
- Реализован новый режим оптимизации TUNE-VMAF, позволяющий экономить до 15% битрейта при том же уровне визуального качества в соответствии с метрикой VMAF, оценивающей человеческое восприятие, и незначительном уменьшении качества по метрике PSNR, оценивающей точность воспроизведения исходных данных на уровне пикселей. Реализован однопоточный режим кодирования, который можно использовать с режимом случайного доступа (Random Access). В пресетах M3-M5 проведена оптимизация компромиссов качество/скорость при кодировании в режиме случайного доступа. Добавлены новые опции командной строки: --cqp, --enable-intrabc, --hbd-mds, --enable-kf-tf. Добавлена поддержка вывода в raw-формате OBU в дополнение к ранее поддерживаемому формату IVF. Проведена оптимизация компромиссов качество/скорость при кодировании в режиме "--rtc" (Real-Time Communications), а также повышена эффективность сжатия и снижено потребление памяти при кодировании в низких разрешениях. Добавлены параметры "--max-intra-bitrate-pct" и "--max-inter-bitrate-pct". Добавлен режим кодирования в реальном времени с постоянным битрейтаом - CBR (Constant Bitrate), реализованный с использованием фильтра Калмана и поддерживающий цикличное обновление с размазыванием сложных изменений по нескольким кадрам и перекодирование кадров с худшим качеством, если они не укладываются в заданный битрейт. В режиме "--rtc" добавлена поддержка динамического изменения настроек битрейта и пресетов на лету. Добавлен API для управления опорными кадрами, поддерживающий LTR (Long-Term Reference) и двухуровневую структуру наборов опорных кадров (RPS, Reference Picture Set). Переработана реализация энтропийного кодирования, в которой обеспечена прямая запись в буфер сегментов (tile-buffer), упрощён арифметический кодер и реализовано отсечение остаточных данных после квантования. Добавлены новые оптимизации CDEF (Constrained Directional Enhancement Filter) для исключения размытия в областях смены контраста, MD (Mode Decision) и ME (Motion Estimation) для быстрой обработки статичных объектов. Оптимизировано определение наличия на видео изображения с содержимым экрана для применения специфичных методов кодирования для сохранения чёткости текста. Добавлена сборочная опция ENABLE_STACK_PROTECTOR для отключения флага "-fstack-protector", позволяющая убрать накладные расходы на проверку переполнения стека. Добавлены дополнительные оптимизации для архитектуры ARM и задействованы расширенные инструкции NEON для ускорения вычислений.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65903