The Khronos Group, a collaborative effort of nearly 200 companies, has been spearheading the development of various APIs for computing. It is renowned for its graphics-focused software such as OpenGL, WebGL, and Vulkan. However, in recent years, the consortium has also turned its attention to video, resulting in the creation of Vulkan Video. Vulkan Video is a low-level API designed to handle video streams. In an exciting development, the Khronos Group has just announced that Vulkan Video now supports hardware acceleration for the popular H.264 and H.265 video standards, both for decoding and encoding.
For those unfamiliar with the term, an API acts as a translation service between a software developer’s code and the hardware’s drivers. It facilitates the production of applications that can make full use of a device’s features. In the context of graphics, popular APIs include Direct3D and Vulkan. While Direct3D is typically limited to Windows-based PCs, Vulkan provides cross-platform functionality across a range of systems, such as Linux, Android, MacOS, and iOS. Applications written with Vulkan in mind can run seamlessly on any of these systems, provided the hardware supports Vulkan. However, until the release of Vulkan Video, there was a lack of a comprehensive cross-platform API for video decompression and compression.
Vulkan Video was introduced by the Khronos Group a few years ago as a solution to the cross-platform video handling challenge. However, its initial version only offered decoding, and even then, it was not a core feature of the API. Instead, decoding was supported through the use of extensions, which are proprietary API snippets specific to a particular vendor’s hardware.
With the latest release of Vulkan Video, both decoding and encoding of the H.264 and H.265 video formats are now core features of the API. While support for AV1 decoding is expected in the near future, the timeline for encoding remains uncertain. Nevertheless, developers can start building video recording and streaming applications using Vulkan Video, ensuring compatibility across different systems. However, it is worth noting that hardware acceleration of video decoding and encoding requires driver updates to recognize the API and its instructions.
Currently, only Nvidia offers drivers that support the new Vulkan Video update, albeit in beta form. AMD and Intel are expected to update their drivers “soon,” although the exact timeframe remains uncertain. The support from these major hardware vendors is crucial for the widespread adoption of Vulkan Video. Without proper driver support, the benefits of the API’s enhanced hardware acceleration may not be fully realized.
One of the notable upcoming applications that will leverage the new Vulkan Video API is FFmpeg. FFmpeg is a widely-used, free, cross-platform tool for recording and streaming video. Although it is still under development, one of the FFmpeg developers has confirmed that work is currently underway to integrate Vulkan Video.
While the adoption of Vulkan for graphics in gaming has been relatively limited compared to Direct3D, the expanded functionality of Vulkan Video has far-reaching implications. By offering an API that is not tied to any specific hardware vendor or platform, developers will find it significantly easier to create software that works seamlessly across different machines. This includes streaming software that can run efficiently and without bugs, regardless of the CPU or GPU in a gaming PC.
However, the ultimate success of Vulkan Video still depends on how well vendors implement the new API in their drivers. High-quality drivers are essential to ensure optimal performance and compatibility. Therefore, it will be crucial to monitor the progress of Vulkan Video and assess how well AMD, Intel, and Nvidia deliver on their driver updates.
The Khronos Group’s announcement regarding Vulkan Video’s enhanced hardware acceleration for video decoding and encoding marks an important milestone in cross-platform video handling. This development has the potential to revolutionize the efficiency and compatibility of video applications across a wide range of systems. Although driver support is currently limited, the future looks promising for the widespread adoption of Vulkan Video. With strong industry support and successful driver implementations, we may soon witness a new era of fast and bug-free video processing on various hardware configurations.