Группа Khronos представила очередное расширение графического API Vulkan — Vulkan Video Decode VP9, которое появилось с выходом версии спецификации Vulkan 1.4.317.
Как заявили в Khronos Group:
«Этот релиз завершает запланированный на текущий момент набор расширений для декодирования, позволяя разработчикам создавать аппаратно-ускоренные видеопотоки, независимые от платформ и производителей, для всех основных современных кодеков».
Новое расширение дополняет уже доступные возможности декодирования для кодеков H.264, H.265 и AV1.
Подробности реализации
Хотя кодек VP9 появился раньше AV1, расширение Vulkan для декодирования VP9 было разработано позже и использовало наработки AV1-расширения. Оба кодека имеют схожие инструменты кодирования и структурные элементы, что позволило переиспользовать части реализации. Это упрощает разработку и повышает совместимость между расширениями для различных кодеков.
Ключевым отличием VP9 от других кодеков, поддерживаемых Vulkan Video, является то, что каждый VP9-пакет содержит все данные кадра в едином массиве байт. В отличие от MPEG-кодеков с их сегментированными NAL-единицами или AV1 с OBUs, VP9 не требует разбора вложенных структур, что упрощает парсинг потока.
Также VP9 не требует глобального управления состоянием через объект параметров видеосессии, что делает его самым простым в реализации кодеком среди всех, поддерживаемых Vulkan Video. Это делает VP9 идеальным вариантом для разработчиков, осваивающих Vulkan Video, прежде чем переходить к более сложным кодекам. Для кодеков, которым всё же требуются параметры сессии, недавно было представлено расширение VK_KHR_video_maintenance2, которое упрощает их обработку.
Поддержка драйверами
- NVIDIA уже выпустила специальный бета-драйвер Vulkan с поддержкой нового расширения — версия 570.123.18.
- AMD работает над поддержкой в Mesa с помощью merge request для драйвера RADV. Ожидается, что поддержка будет добавлена в одном из следующих выпусков Mesa.
Дополнительные подробности доступны в официальном блоге Khronos Group.
Linux: обзоры и обновления
• Новости разработки KDE Plasma за 14 – 21 марта: 3D LUT и поиск по мере набора
• Wine 11.5 добавляет поддержку Syscall User Dispatch на Linux
• Debian 2.1, Eazel, Xandros и MkLinux: провалы, создавшие современный Linux
• Steam Beta для Linux получил экспериментальный клиент SteamRT3 – запуск в контейнере Steam Runtime и переход на 64-битную версию
• SteamOS 3.8.0 Preview доступна с поддержкой Steam Machine – крупное обновление с KDE Plasma 6.4, Wayland по умолчанию и улучшенной поддержкой портативных ПК на Intel и AMD
• Релиз GE-Proton 10-33 – исправления для VR-игр, запускаемых вне Steam, и улучшения совместимости

