slight.frost.byte                          Login
Apr
9

Vista Media Center Won’t Use 3rd-Party Decoders

Microsoft shipped first-party (it’s own) MPEG-2 and Dolby Digital decoders in Windows Vista to support DVD, live/recorded TV, and HDV (home video editing) scenarios. These decoders are included by default for the Ultimate and Home Premium editions; however, large OEMs have the option to pre-install the Microsoft decoders for Business, Home Basic, and Starter editions (primarily for DVD playback support). Mileage may vary depending on the OEM (I don’t know which OEMs choose to do this).

Why would Microsoft do this? To ensure a quality and consistent user experience of built-in applications like Media Player, Media Center, Movie Maker, and DVD Maker. Each of these applications leverages MPEG-2 in some way and it would have cost Microsoft significantly to license a third-party decoder per copy of Windows, and they wouldn’t be able to innovate or handle quality control. Further, Dolby Digital has an explicit per-application licensing policy, so in addition to quality control concerns, it would be a challenge (if at all possible) licensing a third-party solution that met legal requirements for each internal application that required its use.

Dolby licensing policy requires that Dolby Digital implementations not be sharable. Only a vendor’s specific software player can legally decode Dolby Digital from their specific decoder;  i.e. vendor-A’s software player cannot use vendor-B’s decoder.

Lastly (and importantly), Microsoft had to implement their own MPEG-2 decoder to ensure an end-to-end protected media path for enabling Windows as a platform for premium content such as digital HD cable (OCUR), HD-DVD, and BlueRay (with premium satellite solutions to hopefully come in the future). Specifically, it was necessary to ensure certain precautions were taken at encoder input and output such that the decrypted stream couldn’t be compromised during the component transition, and that decryption keys are protected.

Speaking of a protected media path, new to Windows Vista is the Enhanced Video Renderer (EVR), which provides many enhancements over video rendering platforms prior to Vista, in addition to support for Protected Video Path - Output Protection Manager (PVP-OPM) and Protected Video Path - User Accessible Bus (PVP-UAB). A couple noteworthy are support for DirectX Video Acceleration (DXVA), and resilience to glitches (see Multimedia Class Scheduling section in my post about Vista Kernel Improvements). While the MS MPEG-2 decoder supports other (pre-Vista) renderers for output of the decoded stream, only EVR supports the protected media path (and the many other enhancements). If you’re the geek type, and want intricate details, check out the EVR WinHec presentation. Also, recognize that EVR is for rendering on display attached to the Windows Vista PC, not when streaming content across a network for rendering within a Media Center Extender for display on a TV. While the PC-network-TV end-to-end “path” is also fully protected, EVR is not a component used in this scenario.

For all of the aforementioned reasons, Media Center in Windows Vista will not allow use of third-party MPEG-2 or Dolby Digital decoders like prior editions did. However, while Media Player uses MS decoders by default, it is possible to register third-party decoders for decoding within that application.

Media Center will use 3rd party video and audio decoders for anything other than MPEG-2 and Dolby Digital respectively; it will only ignore any registered 3rd party MPEG-2 and Dolby Digital decoders. Unlike Media Center, Media Player will not ignore 3rd party MPEG-2 decoders (even though it uses the Microsoft version by default). Media Player will; however, ignore 3rd party Dolby Digital decoders and only use the Microsoft version.

I’ll write follow-up posts to discuss why the MS MPEG-2 decoder may have some short-term challenges, and ultimately why it (combined with the new video pipeline) will yield the best possible results.

Any questions or comments?

Posted in media center, windows vista |

4 Responses

  1. Anonymous Says:

    Does that mean do DivX?

  2. gabe Says:

    I’m not sure what you mean? DivX is not MPEG-2. This post simply says that Media Center won’t allow users to choose a 3rd party MPEG-2 decoder like the 2005 version did, and that the it will only use Microsoft’s MPEG-2 decoder in Vista. If a DivX decoder is registered on the system, Media Center will use that to play DivX videos. Again, this post is strictly related to MPEG-2 (and Dolby Digital).

  3. Ed Bott Says:

    Fascinating, Gabe. So if I install third-party decoder, Media Player and Media Center will ignore it, I presume. But what about third party software? If I install a third-party DVD player, will it use its own decoder? Can a third-party program be configured to use Microsoft’s decoder?

  4. gabe Says:

    Hi Ed,
    Almost right. Media Center will ignore any 3rd party MPEG-2 or Dolby Digital decoders. Media Center will still use other registerd 3rd party video decoders other than MPEG-2. The same is true for audio decoders other than Dolby Digital. Media Player will only ignore 3rd party Dolby Digital decoders for Dolby license restriction reasons. If you register a 3rd party MPEG-2 decoder (or any other video decoder), Media Player will use them. Media Player will also use any 3rd party audio decoder other than Dolby Digital.

    My understanding is that 3rd party software cannot use Microsoft’s MPEG-2 decoder. I could be wrong though (will follow-up with you on that one). I’m sure that 3rd party software cannot use Microsoft’s Dolby Digital decoder. As for a 3rd party’s DVD software; they will have to ship with their own decoders.

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.