DirectX Video Acceleration (DXVA2)
DXVA2 exposes Windows video-acceleration services through which a software media implementation submits supported decoding or processing work to a driver-backed device.
DirectX Video Acceleration 2.0, or DXVA2, gives Windows media software access to supported hardware video operations through the graphics-driver path.
A software codec can parse and coordinate a stream while asking the accelerator to perform specified reconstruction work. “Software component” therefore need not mean that every operation executes on CPU cores.
The decoder and accelerator cooperate
| Responsibility | Part of the route |
|---|---|
| Stream/codec interpretation | Media implementation supplies the needed codec information |
| Configuration | Application and driver establish a supported acceleration arrangement |
| Reconstruction work | Driver-backed decoder device performs the requested operation |
| Surface handling | The pipeline manages output storage and consumer use |
The decoder needs a supported profile/configuration and suitable output surfaces. Encoded data alone is not a complete acceleration request.
DXVA2 also includes video-processing services. Its video acceleration should not be mistaken for a generic API that exposes every vendor encoder.
Device configuration and picture storage are linked
A usable hardware path must accept the selected encoded configuration and output format. Media software then supplies the codec-specific buffers and picture relationships required by that path.
The decoded surfaces have device and lifetime context. A renderer or later processor needs a suitable relationship to those resources; a CPU consumer can require another representation or access arrangement.
Those are part of the hardware pipeline, rather than properties supplied by the DXVA2 name alone.
Direct3D 11 uses a related but different interface
Windows also exposes video decoding through Direct3D 11. Microsoft's documentation identifies shared DXVA decoding data structures while describing a different device and resource interface.
Consequently, a log or setting that distinguishes dxva2 from d3d11va is distinguishing software paths. Both names can refer to acceleration, but their resource/context arrangements are not interchangeable labels.
See Also
- Direct3D 11 video acceleration (D3D11VA)
- Media Foundation transforms and processing state
- Hardware decoding and software decoding
- How media APIs connect applications to hardware