RADV Vulkan Video Making Progress On H.264 Encoding
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."