DXVA works in conjunction with the video rendering model used by the video card. DXVA 1.0, which was introduced as a standardized API with Windows 2000 and is currently available on Windows 98 or later, can use either the overlay rendering mode or VMR 7/9. DXVA 2.0, available only on Windows Vista and later OSs, integrates with Media Foundation (MF) and uses the Enhanced Video Renderer (EVR) present in MF.
DXVA specifies the Motion Compensation DDI, which specifies the interfaces for iDCT operations, Huffman coding, color correction, motion compensation, alpha blending, inverse quantization, colorspace conversion and frame-rate conversion operations, among others. It also includes three sub-specifications: Deinterlacing DDI, COPP DDI and ProcAmp DDI. The Deinterlacing DDI specifies the callbacks for deinterlacing operations. The COPP (Certified Output Protection Protocol) DDI functions allow the pipeline to be secured for DRM-protected media, by specifying encryption functions. The ProcAmp DDI is used to accelerate post-processing video. The ProcAmp driver module sits between the hardware video renderer and the display driver and provides functions for applying post-processing filters on the decompressed video.
The functions exposed by DXVA DDIs are not accessible directly by a DirectShow client, but are supplied as callback functions to the video renderer. As such, the renderer plays a very important role in anchoring the pipeline.
DXVA 2.0 enhances the implementation of the video pipeline and adds a host of other DDIs, including a Capture DDI for video capture. The DDIs it shares with DXVA 1.0 are also enhanced with support for hardware acceleration of more operations. Also, the DDI functions are directly available to callers and need not be mediated by the video renderer. As such, pipelines for simply decoding the media (without rendering) or post-processing and rendering (without decoding) can also be created. These features require the need of Windows Display Driver Model drivers, which limit DXVA to Windows Vista and Windows Server 2008 only. DXVA supports only Enhanced Video Renderer as the video renderer. DXVA integrates with Media Foundation and allows DXVA pipelines to be exposed as Media Foundation Transforms (MFTs). Even decoder pipelines or post-processing pipelines can be exposed as MFTs, which can be used by the Media Foundation topology loader to create a full media playback pipeline. DXVA 1.0 is emulated using DXVA 2.0. DXVA 2.0 does not include the COPP DDI, rather it uses PVP for protected content.