vulkano-rs / vulkano

Safe and rich Rust wrapper around the Vulkan API
Apache License 2.0
4.47k stars 433 forks source link

Vulkan Video extensions #2495

Open hgaiser opened 6 months ago

hgaiser commented 6 months ago

Seeing as the video extensions for encoding and decoding have been finalized, what would it take to implement this functionality in Vulkano?

It seems ash has support for these extensions (as far as I can tell). I am very new to Vulkano, ash and Vulkan in general, but if possible I would like to contribute. My goal is to port the video encoding pipeline in my project Moonshine (game streaming application) to Vulkan Video encoding, which hopefully will mean better cross platform (both hardware and OS) support in the near future.

dwlsalmeida commented 2 weeks ago

@hgaiser missed this.

Well, lots of typing, mostly.

Vulkan Video (like VA and other stateless codec acceleration APIs) is mostly about pushing stream parameters to a codec IP. This means giving Vulkano users a way to actually pass said parameters to Vulkan, which is a major share of what my WIP PR is trying to do.

I haven't had the time to work on that recently, but if you're still around and still willing to contribute, you can keep going by just looking at the GStreamer and the FFmpeg implementations. You will need the hardware to make it happen though.

hgaiser commented 2 weeks ago

I'm still interested in this.. but I have no idea if or when I would pick it up. Thanks for the feedback!