DirectX 12 has a variety of applications in multimedia environments, especially gaming and video. When it comes to the latter, it already provides APIs for GPU-accelerated video decoding and processing, as well as motion estimation. Microsoft is now introducing a new API for video encoding to DirectX 12 too, and it's native in Windows 11.
Essentially, the Video Encode API allows video engines to make use of the GPU in order to perform video encoding in line with the standards set by DirectX 12. This means that third-party developers can utilize this capability in their applications too. It is important to note that Vulkan already includes APIs for video encoding and decoding for H264 and H265 codecs.
As it stands, the codecs currently supported by this API are H264 and HEVC. Microsoft has recommended that developers should query the support for each codec and their respective encoding tools first because they have driver requirements in place.
The Video Encode API is included in Windows 11 by default and can also be utilized via the DirectX 12 Agility SDK (version 1.700.10-preview or later). The minimum hardware platform and driver version for vendors is defined below:
|Vendor||Supported platforms||Minimum video driver version|
||In development – ETA Q2 ‘2022|
Microsoft's blog post outlines the process for this video encoding as well as the methods that developers can call, so if that sounds something right up your alley, do check it out here.