From BakaBT Wiki
Jump to: navigation, search

This article is meant to give you a brief explanation of what DXVA is and why it is benificial if you can use it.



DXVA, or DirectX Video Accelleration, is a system built into Windows operating systems since Windows XP that allows programs, if they support it, to offload the decoding of certain media codecs to the GPU. Doing so reduces the strain on the CPU and allows for even High Definition content to be played on a relatively weak system.

Why offload?

The decoding process requires quite intensive calculations and while for small resolutions at low quality a modern CPU can handle it, high resoltion and high quality encodes, such as 1080P with H.264, can require such enormous amount of calculation that even modern CPUs can't handle it, resulting in image stuttering, artifacts and dropped frames. In order to display it to you the program playing it must first decode the file and reassemble the image. Media is almost always encoded in one format or another using one codec or another in order to save space.

To compare: a normal CPU nowadays has 2-4 cores that can calculate in parallel, a GPU has hundreds of them. Fortunately modern computers usually come equipped with a GPU: Graphics Processing Unit. What is a monstrous task for even the best CPU becomes a cakewalk for even the weakest GPU. While normally used for rendering graphics, in essence a GPU is a processor just like your CPU is, only it supports a different and much more limited amount of capabilities. One of the main capabilities however is to do specific calculations greatly parallellised. As luck has it, the decoding of media codecs such as H.264 can be parallelised into the calculating abilities of a GPU, allowing the GPU to calculate it.

This way people that do not have a strong CPU can still view 1080P content.

DXVA Versions

DXVA has 2 versions:

  • DXVA 1.0: supported in Windows XP and Windows 2000. Allows basic offloading of MPEG2 and standard definition codecs.
  • DXVA 2.0: supported in Windows Vista and Windows 7. Allows offloading of much more HD content such as VP-1 and H.264.

What do I need to use DXVA?

2 Things: a GPU that allows the calculations to be offloaded to it, and a program that is able to use DXVA.

Graphics cards

Both ATI and nVidia have graphics cards that support offloading, however not all GPUs support the same offload capabilities.

  • ATI: called UVD or Unified Video Decoder. Supports offloading of H.264/AVC and VC-1. Supported in Radeon HD 2xxx and up. Comes in 3 versions, each with more capabilities. Check the wiki page for details.
  • nVidia: called PureVideo. Supports offloading of H.264/AVC and VC-1. Supported from GeForce 6600 onwards. Comes in 4 versions, each with more capabilities. Check the wiki page for details.


The full list can be found on the Wikipedia page about DXVA (see references).


Media Player Classic Home Cinema: Supports full H.264 offloading using internal decoders when configured properly. Refer to Windows Video Playback and this guide for more details.