Microsoft adds video encoding API to DirectX 12
In brief: Microsoft announced this week that it added a new API to DirectX 12 that will support video encoding. The new set of interfaces will give Windows users a consistent framework for encoding videos.
Microsoft explained the new API’s features and requirements on Wednesday. Video encoding joins APIs for features like video decoding, video processing, and motion estimation, which Microsoft had previously implemented.
The video encoding API supports H.264 and HEVC (H.265) codecs. Due to driver requirements, users will have to query for each codec and its encoding tools with ID3D12VideoDevice::CheckFeatureSupport. It’s also up to users to handle the other bitstream codec headers like SEI, VUI, VPS, SPS, or PPS.
Microsoft provides plenty of documentation for using the API in its explanation, including detailed interface definitions and design details.
The API comes with Windows 11, but you can also get it from the DirectX 12 Agility SDK with version 1.700.10-preview or newer.
It supports CPUs going back to Tiger Lake and Ryzeon 2000 and GPUs starting with the Ryzen RX 5000s and the GTX 10 series (including the Quadro RTX). Users will need to have either Intel video driver version 184.108.40.20655 or Nvidia driver version 471.41. The required AMD driver is still in development but is expected to arrive in the second quarter of next year.