RADV Vulkan Video Making Progress On H.264 Encoding

Earlier this month prolific open-source GPU driver developer David Airlie at Red Hat picked up work again on Vulkan Video support for the RADV driver . Initially that RADV Vulkan Video work was focused on H.264 and H.265 video decoding while since then he has shifted focus to initial video encode support with H.264.

With getting a handle on the RADV Vulkan Video decode support for GPU-accelerated acceleration for the newly minted extensions , Airlie turned his focus to video encoding.


The Khronos Group overview of current and planned Vulkan Video extensions.


Vulkan Video encoding for this open-source Radeon driver proved more challenging and involved porting more code over from the Radeon VA-API driver as well as accommodating for AMD VCN encoder engine differences. FFmpeg developer Lynne worked out the FFmpeg-side Vulkan Video encode usage.

Per Airlie's blog , things are beginning to work but will take more time to iron out:
"Lynne meanwhile had written the initial ffmpeg side implementation, and today we threw them at each other, and polished off a lot of sharp edges. We were rewarded with valid encoded frames.

The code at this point is only doing I-frame encoding, we will work on P/B frames when we get a chance.

There are also a bunch of hacks and workarounds for API/hw mismatches, that I need to consult with Vulkan spec and AMD teams about, but we have a good starting point to move forward from."