В FFmpeg представлена рабочая реализация Apple ProRes RAW через Vulkan

good-penguin.png

В дереве разработки FFmpeg появилась серия изменений, связанных с поддержкой аппаратно ускоренного декодирования Apple ProRes RAW. Речь идёт не об отдельном релизе, а о свежих коммитах в Git-ветке проекта, которые должны попасть в один из следующих выпусков мультимедийного фреймворка. FFmpeg — это набор библиотек и утилит для обработки аудио, видео, субтитров и сопутствующих метаданных; в его состав входят, в частности, libavcodec, libavformat, libavfilter, ffmpeg, ffplay и ffprobe.

Главное изменение — декодер ProRes RAW теперь доведён до состояния, которое разработчик Lynne описал как завершение обратной разработки декодера. В коммите prores_raw: synchronize decoder with reference implementation прямо указано, что он синхронизирует реализацию с эталонным поведением и применяет кривую линеаризации, добавленную предыдущим патчем. В коде также отражено, что декодер выдаёт линейные 16-битные данные, а коэффициенты и iDCT остаются 12-битными до применения кривой линеаризации.

Для пользователей Linux особенно важна связка с Vulkan: FFmpeg использует не только классические аппаратные видеоблоки, но и вычислительные шейдеры Vulkan Compute. Такой подход позволяет ускорять профессиональные кодеки на обычных GPU без привязки к специализированному блоку декодирования конкретного формата. В блоге Khronos Lynne объяснял, что Vulkan Compute в FFmpeg дополняет Vulkan Video и закрывает случаи, где фиксированные аппаратные кодеки не помогают.

ProRes RAW — это формат Apple для записи «сырых» данных с сенсора камеры с сохранением высокого качества и цветовой информации. По данным Phoronix, с ним работают некоторые камеры Sony, LUMIX и Nikon, а также новые iPhone. Ранее FFmpeg уже получил ускорение ProRes через Vulkan-шейдеры, а теперь эта работа распространена и на ProRes RAW.

Технически реализация продолжает линию развития Vulkan-инфраструктуры FFmpeg. Ещё в 2025 году в проект был добавлен ProRes RAW Vulkan hwaccel: патч поддерживал потоки версии 0 и 1, а обработка была распараллелена с запуском 512 вычислительных инвокаций на тайл. В опубликованном тогда тесте для 5,8K RAW HQ файла приводились результаты: Radeon RX 6900 XT — 63 кадра/с, Radeon RX 7900 XTX — 84 кадра/с, RTX 6000 Ada — 120 кадра/с, Intel GPU — 9 кадра/с.

Свежая серия изменений показывает, что разработчики не просто добавили быстрый путь декодирования, а продолжают приводить реализацию к корректному поведению. В частности, синхронизация с эталонной реализацией затронула сам декодер, парсер, DSP-код ProRes и Vulkan-часть. Это важно для формата RAW, где ошибка в трактовке кривых, битности или цветопередачи может привести не только к артефактам, но и к ошибкам на этапе цветокоррекции.

Отдельно в FFmpeg добавлена поддержка ProRes RAW VideoToolbox hwaccel для платформ Apple. Соответствующий коммит вносит запись в Changelog, добавляет зависимости в configure и регистрирует новый аппаратный ускоритель рядом с уже существующим ProRes RAW Vulkan hwaccel.

Итог для пользователей: FFmpeg постепенно получает более полноценную поддержку ProRes RAW сразу по двум направлениям — через Vulkan для переносимого GPU-ускорения и через VideoToolbox для экосистемы Apple. Для Linux это особенно заметный шаг, поскольку работа с профессиональными RAW-материалами традиционно была областью дорогих проприетарных решений и тяжёлой CPU-обработки.

>>> Источник

Linux.org.ru прочитано 1091 раз