Microsoft this week announced its new Video Encode utility programming interface (API) for DirectX 12. The API is designed to allow third-party functions to speed up video encoding utilizing GPUs and can present them talents to tweak varied elements of the encoding course of. The expertise provides a constant method for video apps by offering a normal commonplace course of for GPU-accelerated video encoding.
(*12*) DirectX 12 already options APIs to assist GPU acceleration for video decoding, video processing, and movement estimation, which covers the necessities of the overwhelming majority of end-users outdoors of the skilled video industries. Those who want video encoding use skilled functions that assist GPU-accelerated encoding, however that encoding is carried out utilizing proprietary means and requires builders to work intently with GPU distributors as there isn’t a commonplace method for video encoding.
With the discharge of the Video Encode API for DirectX 12, Microsoft is altering that and supplies a normal for video decoding on Windows 11. All proprietary applied sciences will proceed to be supported, however any longer firms will have the ability to make the most of the usual API.
At this level (*12*) Video Encode API for DirectX 12 helps H.264 and H.265 (HEVC) codecs, that are in style amongst each skilled and non-professional audiences. Meanwhile, these professionals who want different codecs, together with AV-1, H.266 (VVC) will proceed to depend on different encoding applied sciences (most of that are CPU-accelerated).
As far as technological implementation is worried, the API takes every video body represented by ID3D12Resource textures and compresses them into an ID3D12Resource buffer that accommodates the slice headers and payload of every encoded body. Right now, solely DXGI_FORMAT_NV12 and DXGI_FORMAT_P010 can be found relying on driver assist, so enter content material might must be colour transformed and down sampled beforehand by the applying. The remainder of the bitstream codec headers (i.e. SEI/VUI/VPS/SPS/PPS) is assigned to the applying, which can create and pack them into the ultimate bitstream together with the compressed bitstream taken from the GPU operation for every body.
(*12*) Video Encode API for DirectX 12 provides exposes a number of configurable parameters for functions (and the top person) to permit tweaking many elements of the encoding course of, which will likely be significantly helpful for professionals.
The Video Encode API is included as a part of Windows 11 and can be accessible in the DirectX 12 Agility SDK (model 1.700.10-preview or newer). Drivers from Intel and Nvidia already assist the brand new API, driver assist from AMD is coming in Q2 2022.
|Vendor||Minimum Supported Platforms||Minimum Video Driver Version|
|AMD||Radeon RX 5000, Ryzen 2000||In improvement – ETA Q2 2022|
|Intel||Ice Lake, Tiger Lake, Alder Lake||v22.214.171.12455|
|Nvidia||GeForce GTX 1000, GeForce RTX 2000, Nvidia RTX, Quadro RTX||v471.41|