Eerder deze maand pakte de productieve open-source GPU-stuurprogramma-ontwikkelaar David Airlie bij Red Hat het werk weer op met Vulkan Video-ondersteuning voor het RADV-stuurprogramma. Aanvankelijk was dat RADV Vulkan Video-werk gericht op H.264-en H.265-videodecodering, terwijl hij sindsdien de focus heeft verlegd naar voorlopige ondersteuning voor videocodering met H.264.
Toen Airlie grip kreeg op de RADV Vulkan Video-decoderingsondersteuning voor GPU-versnelde versnelling voor de nieuw uitgebrachte extensies, richtte Airlie zijn aandacht op videocodering.
Vulkan-videocodering voor deze open-source Radeon-driver bleek een grotere uitdaging en omvatte het overzetten van meer code van de Radeon VA-API-driver en het aanpassen aan AMD VCN-encoderengine-verschillen. FFmpeg-ontwikkelaar Lynne werkte het FFmpeg-kant Vulkan Video-coderingsgebruik uit.
Volgens Airlie’s blog beginnen dingen te werken, maar zullen neem meer tijd om glad te strijken:
“Lynne had ondertussen de eerste ffmpeg-side-implementatie geschreven, en vandaag hebben we ze naar elkaar gegooid en veel scherpe kantjes weggepoetst. We werden beloond met geldige gecodeerde frames.
De code doet op dit moment alleen maar I-frame-codering, we zullen werken aan P/B-frames wanneer we de kans krijgen.
Er zijn ook een aantal hacks en tijdelijke oplossingen voor API/hw mismatches, die ik moet raadplegen met Vulkan spec en AMD teams over, maar we hebben een goed uitgangspunt om verder te gaan.”