We use affiliate links to earn us some pennies. Learn more.

Another expansion of the Vulkan graphics API has arrived with the Vulkan Video Decode VP9 Extension. As announced by The Khronos Group today, with the release of version 1.4.317 of the Vulkan specification.

They said that "This release completes the currently planned set of decode-related extensions, enabling developers to build platform- and vendor-independent accelerated decoding pipelines for all major modern codecs". This joins other supported codecs like H.264, H.265, and AV1 decode extensions.

More details from the blog post:

Although VP9 predates AV1 as a codec, the Vulkan VP9 decode extension was developed after the AV1 extension and was able to build upon it. Because AV1 was based in part on VP9 and shares similar coding tools and structural elements, the existing AV1 decode extension provided a useful foundation for implementing VP9 decoding in Vulkan. This reuse of code and design benefits both implementers and users by streamlining development and ensuring consistency across supported codecs.

A key difference between VP9 decoding and the previous video decode extensions is that each VP9 packet is self-contained. Unlike MPEG-based codecs, which use NAL (Network Abstraction Layer) units to break bitstreams into individually parsed segments, or AV1, which uses OBUs (Open Bitstream Units), VP9 encodes all the data for a frame within a single byte array. This design simplifies parsing by eliminating the need to extract and interpret nested sub-units within the bitstream.

In contrast to other codecs supported by Vulkan Video, VP9 does not require global state management through a video session parameters object, making it the simplest codec to implement with a Vulkan decode extension. This simplicity makes VP9 an ideal starting point for new users or implementers looking to get started with Vulkan Video before extending support to more complex codecs. For codecs that do require session parameters, the recently merged VK_KHR_video_maintenance2 extension helps simplify their management, reducing code complexity.

Right now NVIDIA have a special Vulkan Beta driver out with support added in 570.123.18. For AMD on Mesa + RADV, there's a merge request open to add support too so it will come eventually to a later Mesa release.

See more in their blog post announcement.

Article taken from GamingOnLinux.com.
Tags: Game Dev, Misc, Vulkan
6 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
2 comments Subscribe

scaine 3 hours ago
User Avatar
  • Contributing Editor
  • Mega Supporter
Mad respect for the people who throw themselves into this world and make these features possible. Without them, Microsoft would have yet another monopolised hook into developers with DirectX.

I find it laughable that they're subtlety trying to reinvent PC gaming on their recent marketing by advertising games for "XBOX PC". They'll never change.
Pyrate 3 hours ago
User Avatar
They'll never change.

They'll never change... they'll never change ! ever since they were 95, always the same ! couldn't keep their hands off the monopolistic practices... and they get to be a leading PC publisher ?! What a sick joke !
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon Logo Patreon. Plain Donations: PayPal Logo PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register