Дата публикации:Thu, 31 Aug 2023 11:44:20 +0300
Опубликован первый стабильный выпуск библиотеки libavif 1.0, предлагающей кодировщик и декодировщик для формата изображений AVIF (AV1 Image Format), в котором задействованы технологии внутрикадрового сжатия из формата кодирования видео AV1. Контейнер для распространения сжатых данных в AVIF полностью аналогичен HEIF. AVIF поддерживает как изображения в расширенном динамическом диапазоне (HDR, High Dynamic Range) и цветовом пространстве Wide-gamut, так и в стандартном динамическом диапазоне (SDR). В браузерах поддержка AVIF доступна начиная с выпусков Firefox 77 и Chrome 85. Код библиотеки libavif написан на языке Си и распространяется под лицензией BSD.
Новая версия примечательна завершением активной фазы разработки и базовой стабилизацией ABI, который отныне по возможности будет поддерживаться без нарушений обратной совместимости. При этом по сравнению с прошлым выпуском в версии 1.0 внесено достаточно много изменений, нарушающих обратную совместимость на уровне ABI, среди которых добавление новых полей в структуры avifImage, avifEncoder, avifDecoder и avifRGBImage, а также унификация значений, возвращаемых функциями avifEncoderSetCodecSpecificOption(), avifRGBImageAllocatePixels(), avifRWDataRealloc(), avifRWDataSet(), avifImageSetProfileICC(), avifImageSetMetadataExif() и avifImageSetMetadataXMP().
Серди добавленных улучшений:
- Добавлена возможность сборки в форме статически связываемой библиотеки.
Добавлена поддержка чтения и записи метаданных clli (content light level information).
В структуры avifEncoder и avifDecoder добавлен элемент repetitionCount, отражающий число повторов при показе анимированных изображений.
В структуру avifEncoder добавлены элементы quality и qualityAlpha.
В утилиту avifenc добавлены флаги: "--target-size" для автоматического выбора уровня качества, соответствующего желаемому результирующему размеру, "--no-overwrite" для запрета перезаписи существующих файлов, "--clli" для выставления метаданных clli.
В API добавлены функции avifImageIsOpaque(), avifImagePlane(), avifImagePlaneRowBytes(),
avifImagePlaneWidth() и avifImagePlaneHeight().
Добавлен экспериментальный API для кодирования AVIF с поддержкой прогрессивной загрузки.
Реализовано преобразование цветовой модели YUV в RGB в многопоточном режиме.
Добавлена экспериментальная поддержка кодека AV2, включаемая при сборке с флагом AVIF_CODEC_AVM.
Добавлена экспериментальная поддержка цветового пространства YCgCo-R, включаемая при сборке с флагом AVIF_ENABLE_EXPERIMENTAL_YCGCO_R.
Cледом выпущена корректирующая версия 1.0.1 в которой устранён сбой при сборке.
Дополнительно можно отметить выпуск библиотеки SVT-AV1 1.7 (Scalable Video Technology AV1) c реализациями кодировщика и декодировщика формата кодирования видео AV1, для ускорения которых задействованы присутствующие в современных CPU Intel средства аппаратного распараллеливания вычислений. Для использования SVT-AV1 необходим процессор x86_64 с поддержкой инструкций AVX2. Проект создан компанией Intel в партнёрстве с Netflix с целью достижения уровня производительности, пригодного для перекодирования видео на лету и применения в сервисах, отдающих видео по запросу (VOD). В настоящее время разработка ведётся под эгидой альянса Open Media (AOMedia), курирующего развитие формата кодирования видео AV1. Ранее проект развивался в рамках проекта OpenVisualCloud, который также разрабатывает кодировщики SVT-HEVC и SVT-VP9. Код распространяется под лицензией BSD.
В новой версии SVT-AV1:
- Для всех пресетов уровень качества повышен на 0.3-4.5% при оценке при помощи метода BD-Rate (Bjontegaard-Delta).
Для пресетов MR-M13 оптимизированы компромиссы качество/скорость при использовании режима произвольного доступа.
Добавлен экспериментальный режим оптимизации SSIM, позволяющий на 3-4% улучшить показатели режима оценки качества SSIM BD (Structure Similarity Index Metric Bjontegaard-Delta).
Структурирована информация о пресетах: пресеты M2 и M3 в версии 1.7 на 50% быстрее пресетов M1 и M2 в версии 1.6 при идентичном с ними уровне качества, аналогично пресет M4 на 40% быстрее идентичного по уровню качества пресета M3 из версии 1.6, M5 на 30% быстрее M4, а M6 на 25% быстрее M5.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=59679