You are on page 1of 3

DXVA VC-1 playback on Intel GMA 

500
1 Reply

This will only work on Vista or Windows 7. I suggest using the following test clips since they are already on
your computer if using Windows 7:

C:\Users\Public\Videos\Sample Videos\Wildlife.wmv
C:\Windows\Performance\WinSAT\Clip_1080_5sec_VC1_15mbps.wmv

As you can see from the DXVA Checker tool, the GMA 500 can decode VC-1 in hardware. Though Windows 7
includes DXVA hardware assisted playback of H.264 out of the box, for some reason it only considers the
GMA 500 capable of VC-1 motion compensation acceleration which is a small part of the entire decode
process – so VC-1 playback is choppy.

The good news is that for Windows Vista Intel released a bundle of DXVA codecs for the GMA 500. They’re
not available from the Intel drivers website but fortunately Sony’s US site has them. The installer will only
extract the drivers if it’s running on a Vaio P, but you can use a tool like Universal Extractor to unpack them
(look in \tempexefolder). On Windows 7 you will need to run Setup.exe in Vista compatibility mode otherwise
it will fail.

Once the decoder is installed you may notice that you cannot get it to work in Media Player Classic Home
Cinema, even by forcing it to be the preferred decoder (as with H.264 in my other post). This is because
MPC-HC works with the DirectShow multimedia framework, but the Intel VC-1 decoder is written for Media
Foundation – Microsoft’s replacement framework which launched with Windows Vista.

This unfortunately means that you’re limited to using Windows Media Player for hardware accelerated VC-1
content, so subtitles are not going to be possible. The next problem is that WMP aggressively selects its own
decoder in favour of the Intel one. There is no neat way to set preference order as with DirectShow, so we
need to make some Registry edits.

Open Regedit and navigate to HKLM\Software\Classes\MediaFoundation\Transforms\Preferred.

Export the whole branch and keep it somewhere safe (say foundation-orig.reg). Still in Regedit, right-click on
this Preferred key and edit the permissions. Take ownership (Advanced > Owner tab), then grant Full Control
to Administrators.

Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
At the level \Transforms notice that there is an entry with a long alphanumeric CLSID for each registered
decoder. Find the one called WMVideo Decoder MFT, which should be {82d353df-90bd-4382-8bc2-
3f6192b76e34}. Find the CLSID for Intel® Media Codecs VC-1 Decoder for Intel® System Controller Hub, which
ought to be {2b53d708- e1-4da3-b3a8-f8ec247c374f}.

Using Notepad, load the registry backup of the Preferred key you exported. This is a list of video formats
also represented by CLSIDs, together with the CLSID of the decoder which will be used to play them back.
So all we need to do is replace all instances of {82d353df-90bd-4382-8bc2-3f6192b76e34} with {2b53d708-
e1-4da3-b3a8-f8ec247c374f} and save as foundation-mod.reg (always keep the original just in case!). Then
double-click it and commit the changes.

Now if you run DXVA Checker and click on Check DirectShow/MediaFoundation Decoders at the bottom and
browse to a VC-1 clip, you should see the following:

Note that some guides will tell you to take ownership then rename the le
C:\WINDOWS\SYSTEM32\WMVDECOD.DLL which may well achieve the same result, but it will break the
Windows Experience Index test process – it plays a WMV clip with this decoder during the benchmark and
will fail with an error if that le is missing.

By switching between the original and modi ed .reg les and comparing playback you’ll notice that the Intel
VC-1 decoder uses around 50% CPU on a 1.33GHz Atom Z520 Vs. 100% and stuttering with the Windows
one.

Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com
Update – the Intel decoder seems to have di culty rendering crossfades, as you can see from the
artifacting while playing this nVidia demo clip and some of the content on the Microsoft WMV HD content
showcase. It’s a shame the decoder doesn’t seem to be actively maintained, however all of these clips are
years old so perhaps they were encoded with immature encoders.

Update 2 – I have since noticed that the clips from Microsoft’s showcase and that nVidia one are not in fact
VC-1. They’re WMV3 which was a slightly earlier codec. The true VC-1 clips which I have tried are decoded
without artifacts. You can check the video codec used in a le by running mpeg -i on them.

Continue to DXVA H.264 playback on Intel GMA 500 with subtitles (Windows 7)

This entry was posted in Multimedia, Windows and tagged Acer Aspire One, Dell Mini 10, DXVA, GMA 500, Intel
Media Codecs, VAIO P, VC-1, Windows Media Player, WMV-HD on July 15, 2010.
1 thought on “DXVA VC-1 playback on Intel GMA 500”

Pingback: How To Play Videos On Your Mini 10 (not v) - The De nitive Guide (Work In Progress) - Page 3

Convert web pages and HTML files to PDF in your applications with the Pdfcrowd HTML to PDF API Printed with Pdfcrowd.com

You might also like