Hacking Windows 7 Media Center

Fixing Media Center’s Poor Black Levels

by Michael Healy @ 9:00 am on June 10th, 2009 in media browser, windows 7, windows media foundation with 8 Comments and Permalink

System Preferences You may have noticed that Windows Media Center and Windows Media Player have slightly different levels of black on your PC monitor (and possibly even your flat screen monitor). If you notice that your black aren’t quite what they should be while using Media Center the reason could be differing nominal ranges.

sidebyside

By default, for the majority, a television’s color ranges are set to 16-235. This means the lowest level of black is 16 and the highest white is 235. On a monitor calibrated for PC use the levels are 0-255, with 0 being black and 255 being the highest white.

Now you may think that having those extra levels could only mean good things right? Well, it’s not quite that cut and dry. If your flat screen is calibrated to 16-235 then black will truly be 16, changing this setting to 0 can result in an image that is too dark. Those extra 16 levels of grey/black won’t be seen and levels above 16 will be improperly darker than they should be.

These facts are important to note before simply rushing in head long and changing settings. Take time to note your monitors specifications as well as your preferences in each setting before settling on one mode or the other.

On the standard PC monitor the difference in black levels will appear similar to the rollover below. The first image represents the black levels in Media Center with the second from Media Player. Notice the difference in the background, the black/grey seperation at the top and the difference in contrast in the character’s face.

Now there are a few ways to change this behavior. For example, nVidia drivers include the ability to change the default behavior for all video playback through the control panel. Under the Video and Television heading select Adjust Video and Television Settings. Inside, under the Advanced tab, you’ll find the option to select the desired color range.

nvidia settings

The advantage of setting this at the driver level is that your output will be controlled across all programs. If that’s not what you’re looking for, however, there is another option.

Download these registry files from Hack7MC that will allow you to enable and disable a debug setting that will change the default behavior of just Media Center.

The below rollover demonstrates the difference in black levels between WMP and Media Center after the registry fix has been applied. You can see that they are much closer to the same black levels.

Of course, this will need to be applied in a per situation basis. Not every user should employ this modification and the application will depend on the hardware being used. Specifically consider the specifications of your flat screen TV. There is of course also personal preference to consider and the modification can always be reversed.

The registry settings used were taken from The Green Button forums user Ian Kennedy. Comparison screenshots taken from George A. Romero’s Land of the Dead.

8 Comments


hamiltonguy
Comment #1560 from hamiltonguy [Reply]

Thank you for the simple yet excellent explanation. great post!

Comment left June 10, 2009 at 9:52 am with Permalink
Comment #1563 from Jens Schaller [Reply]

There is a “/” missing in the registry file URL: http://www.hack7mc.comwp-content/

Anyways, thanks for the great tip!

Comment left June 10, 2009 at 4:55 pm with Permalink
Comment #1565 from Carlton [Reply]

If you’re using the HDMI on an nVidia card, selecting the proper digital color format (YCbCr444 or RGB) will dramatically improve the black level if it is improperly. Changed the image on my projector from gray to black.

Screen capture:
http://s3.carltonbale.com/hdmi_color_format.jpg

Comment left June 10, 2009 at 6:58 pm with Permalink
@Reply #1566 from Michael Healy [Reply]

That’s true, selecting the proper color format will improve color quite a bit as well. Though on nVidia cards that use DVI -> HDMI only the RGB option is selectable in the control panel.

Comment left June 10, 2009 at 7:59 pm with Permalink

IanK
Comment #1789 from IanK [Reply]

Setting 0-255 in either control panel or via the registry forces a color space conversion and will introduce banding under some conditions.

Out of the box over DVI MCE does no color space conversion. Broadcast and consumer media is authored for 16-235 and by default that’s what you get unless the driver does its own thing. For optimal black levels you should leave them be and calibrate your display.

This all goes out the windows with HDMI. HDMI spec and logo/licensing requirements require all video be constrained to 16-235. As such most HDMI enabled GPUs force a 0-255 -> 16-235 conversion on output at a point way beyond the control panel or DXVA control. This ensures ALL content is within the 16-235 range. Since broadcast content is already at 16-235 this really washes things out and you need to set 0-255 via the registry or the control panel to get 16-235 back. Getting video down to 0-255 in this scenario is impossible.

Finally, some GPU vendors ignore what DXVA tells them to do. So the regkeys may not work.

Comment left June 22, 2009 at 6:31 pm with Permalink

Ben
Comment #3134 from Ben [Reply]

Of course, this will need to be applied in a per situation basis. Not every user should employ this modification and the application will depend on the hardware being used.

How does it depend on the hardware being used? If you have the proper black levels in WMP but not in 7MC then surely its just a problem with 7MC? I have my colorspace set to YCbCr444 in ATI CCC and seem to get the proper black levels in WMP but not in 7MC.

Comment left September 7, 2009 at 4:13 am with Permalink
@Reply #3136 from Michael Healy [Reply]

It depends mostly on the calibration of the monitor being used and whether it has been set to 16-235 or 0-255 black levels as the default colorspace. If a monitor has specified 16 as the lowest black and 235 as the highest white then setting the colorspace to 0-255 will result in a washed out appearance.

Comment left September 7, 2009 at 9:34 am with Permalink

Leave A Comment

Post Anonymously, Fill in your details or Use one of the Social Networks below to login and post a comment!