DirectX VA permits one or more stages of the video decoding process to be divided between the host CPU and the video hardware accelerator. The accelerator executes the motion-compensated prediction (MCP), and may also execute the inverse discrete-cosine transform (IDCT) and the variable-length decoding (VLD) stages of the decoding process.
The DirectX VA API decodes a single video stream. Support of multiple video streams requires a separate DirectX VA session for each video stream (for example, a separate pair of output and input pins for the video decoder and acceleration driver to use in filter graph operation). For more information about a filter graph, see KS Minidriver Architecture.