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.
In order to display it to you the program playing it must first decode the file and reassemble the image. 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. Media is almost always encoded in one format or another using one codec or another in order to save space.
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. 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. Fortunately modern computers usually come equipped with a GPU: Graphics Processing Unit. To compare: a normal CPU nowadays has 2-4 cores that can calculate in parallel, a GPU has hundreds of them. One of the main capabilities however is to do specific calculations greatly parallellised.
This way people that do not have a strong CPU can still view 1080P content.
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.
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).