The open-standard industry consortium Khronos Group has released the latest Vulkan specification, upping the version to 1.2.175. As always, the new specification brings several new extensions and among these is the addition of new provisional extensions for "Vulkan Video" acceleration.
The organization says that it has been working on Vulkan Video since 2018 and the technology leverages the underlying philosophy of how the low-level Vulkan API works. Essentially, as Vulkan does in games, Khronos says that the new Vulkan Video API is also meant to provide more control over video processing to the applications, and resources will also be better utilized to reduce performance overhead. While this may not mean much to a user with a powerful and modern device, Vulkan Video could certainly lend a helping hand to the people at the opposite end of the spectrum. And this is in line with Khronos" plan to deploy Vulkan Video in applications across a wide range of devices, from embedded ones all the way up to high-performance servers.
Below is the list of the new provisional Vulkan Video extensions that are for queueing and are codec- independent:
-
VK_KHR_video_queue: API calls that are common to decode and encode operations.
-
VK_KHR_video_decode_queue: API calls used only in decode operations.
-
VK_KHR_video_encode_queue: API calls used only in encode operations.
While the ones below extend data structures for the particular codecs:
-
VK_EXT_video_decode_h264
-
VK_EXT_video_encode_h264
-
VK_EXT_video_decode_h265
-
VK_EXT_video_encode_h265
The diagram below shows how an entire decode or encode operation will carry out with the help of the two types of extensions listed above:
While support for open-standard VP9 and AV1 codecs isn"t available yet, Khronos assures that extensions for those will be added in a future release. There is also no mention of the next-gen H.266/VVC codec but that is hardly surprising seeing how H.266 has nearly zero adoption right now.
As stated above, these extensions are provisional and Khronos is asking developers to sign up to the new specification for testing and providing feedback so it can finalize the Vulkan Video 1.0 specifications. You can find more information related to Vulkan Video in the blog post here and the entire Vulkan specification 1.2.175 is available here.