Nav & Search

Hardware Acceleration of Matroska X264 Files in Windows Vista and 7


By using hardware acceleration a big workload is off-loaded from the CPU to the GPU on the graphic card when playing compressed video content. Apart from freeing up resources for background tasks this also makes it possible to have a low clocked power efficient CPU and still get perfectly smooth and well-decoded (even better decode than pure software in some instances) x264 video. In some instances it’s even necessary to use hardware decode since 1080p video requires a heavy amount of processing to even play without dropped frames and only the faster multi-core processors can do that at the moment.

Most current graphic cards have some form of hardware acceleration but the best implementation is usually found on the second or third line of cards from the two manufacturers and not on the most powerful gaming cards. Apart from drawing significantly less power than their bigger brothers (10w instead of 100w+) they are also much cheaper and produce less heat and noise (with passive versions available).

To get the x264 hardware acceleration going the first step is to set up Windows Vista and Windows 7 to understand Matroska .mkv (or .avi) container files. This is usually done by installing Haali Media Splitter which adds OS-wide support for a couple of containers.

Using PowerDVD

PowerDVD is the only software that has official hardware acceleration of VC-1 and h.264 streams to my knowledge. Apart from that it also has a bunch of commercial audio decoders and processors and other licensed technologies. It’s one of the important pieces that really make a media computer a viable alternative to dedicated hardware disc players and surround processors. Getting hardware acceleration in PowerDVD is simply a matter of having the latest drivers for the graphic card and having the right version of the program. However, in order to get PowerDVD to even open .mkv-files they have to be renamed to .avi, this doesn’t matter since both file types are containers for audio, video and various other stuff but it’s a minor annoyance.

Using Media Player Classic

The Free alternative is to use Media Player Classic Home Cinema and a hardware x264 filter using EVR renderer which is included in this release. The EVR renderer has to be directly connected to the DirectX Video Accelerator, if subtitles are needed it can be connected to the EVR Custom Renderer and in Options – Playback check “Auto Load Subtitles”.

MPC Home Cinema Settings

The settings in MPC Home Cinema for hardware acceleration of x264 video.

In the Options pane: Set Output renderer to EVR using DXVA and no intermediate filter (like ffdshow or DirectVobSub).
In the External filers pane: Make sure that no h264 filters are used.

Using MPC or Zoom Player with the PowerDVD Filter

The third option is to use either Media Player Classic or Zoom player while having PowerDVD installed and manually choosing the PowerDVD filter (PDVD) in the options. This will use the commercial hardware acceleration filter from PowerDVD inside the free application if they are preferred.


Haali Media Splitter
MPC Setup using EVR at forums
MPC Home Cinema, codecs and filters

Posted in Projects April 21st, 2009 by
and last updated January 4th, 2010. Tagged with .

3 thoguhts on “Hardware Acceleration of Matroska X264 Files in Windows Vista and 7

John Bell says 2010-2-11:

Hi Anders. Great Article. Very clear.

PowerDVD does support DXVA, however for the Intel GMA500 now available on many netbooks with XP, Version 9 is required. With version 8 acceleration does not kick in with this GMA.

The problem however is that the V9 Cyberlink H264 Decoder will not load when selected in Zoom. “Unable to create ‘Cyberlink h.264/AVC Decoder’ Filter. Error Code: 80040154 – Class Not registered”

And when trying to load it in Graphedt: “The filter could not be created. Resources used by this filter may already be in use. Return Code:0XC00..0094:”

Any thoughts on how to fix this and use the PDVD9 filter?

Anders says 2010-3-2:


Thank you for pointing out that issue, but I use an Nvidia Ion based htpc so I can’t reproduce the issue. Does anyone else have a solution?

/ Anders

Leave a comment

Your email will not be published.