vulkan video decoding: radv status
I've been working the past couple of weeks with an ffmpeg developer (Lynne) doing Vulkan video decode bringup on radv.
The current status of this work is in a branch[1]. This work is all against the current EXT decode beta extensions in the spec.
Khronos has released the final specs for these extensions. This work is rebased onto the final KHR form and is in a merge request for radv[2].
This contains an initial implementation of H264 and H265 decoding for AMD GPUs from TONGA to NAVI2x. It passes the basic conformance tests but fails some of the more complicated ones, but it has decoded the streams we've been throwing at it using ffmpeg.
Building:
git clone https://gitlab.freedesktop.org/airlied/mesagit checkout radv-vulkan-video-prelim-decode
mkdir build
meson build -Dvulkan-beta=true -Dvulkan-drivers=amd -Dvideo-codecs=h264dec,h265dec --prefix=<prefix>
cd build
ninja
ninja install
Running:
export VK_ICD_FILENAMES=<prefix>/share/vulkan/icd.d/radeon_icd.x86_64.json
export RADV_VIDEO_DECODE=1
For merge branch[2]:
export RADV_PERFTEST=video_decode
vulkaninfo
This should show support for VK_KHR_video_queue, VK_KHR_video_decode_queue, VK_EXT_video_decode_h264 and VK_EXT_video_decode_h265.
[1] https://gitlab.freedesktop.org/airlied/mesa/-/tree/radv-vulkan-video-prelim-decode
[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20388
This is not related to whatever the AMD AMF library is using, right? Though I think AMF depends on AMDVLK...
ReplyDeleteNo AMF is some proprietary AMD stuff. I've no idea what AMD's plans for vulkan video are, this is just radv.
Delete