How To Replace The Microsoft DTV/DVD Decoder In Windows 7

I have 3 media centers in my home and I converted the main rig in my living room to Windows 7 Release Candidate at the start of the month.  Overall the experience has been fantastic, but one problem that was bugging me was that whenever I played a mkv file i.e. a HD file, I would get choppy playback and difficulties cueing and rewinding files.

I mentioned this to my contacts on the Windows 7 development team and they said I should try installing different codecs as my usual codecs probably weren’t compatible with Windows 7, or maybe it was my video drivers.

After investigating using graphedit to see what codecs were in use, I realised that the Microsoft DTV/DVD Decoder that comes with Windows 7 was causing the problem.  Yes, it was able to play the files, but it was either too inefficient or my CPU wasn’t powerful enough (AMD 4200+ dual core) to play the files.  Previously I’d had no problems playing the same 720p/1080p files with VMC, so I knew the problem lay with Microsoft’s new codecs.

Replacing the Microsoft DTV/DVD Decoder codecs proved to be difficult until I found a solution on the Hacking Windows 7 Media Center site.  Replacing the microsoft codecs in Windows 7 required changing my registry entires to reflect which codec I wanted to use (coreavc):

  • navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectShow\Preferred
  • right click on ‘Preferred’ and select ‘Permissions’
  • Click on ‘Advanced’ and go to the ‘Owner’ tab.  Select ‘Administrators’ , check ‘Replace Owner on subcontainers and objects’ checkbox and press OK
  • Back in the first window select ‘Administrators’ and check ‘Full Control’ and press OK.  This will allow you to modify the registry entries.
  • In the left hand page look for {e06d8026-db46-11cf-b4d1-00805f6cbbea}
    {31435641-0000-0010-8000-00AA00389B71}.  Double click these entries and replace the value data entry with the CLSid of the codec you’d like to use.  Either use RadLight Filter Manager or Graphstudio to find the CLSid or use one of the common ids below:
  • FFDShow – {04FE9017-F873-410E-871E-AB91661A4EF7}
    MPCVideoDecoder – {008BAC12-FBAF-497B-9670-BC6F6FBAE2C4}
    COREAVC – {09571A4B-F1FE-4C60-9760-DE6D310C7C31}

Reboot and your changes should be complete.