Monday, June 7, 2010

YCbCr for your HDTV, sRGB for your computer monitor

 
scat2002
09-26-08, 04:30 AM
ATI cards behave differently depending on if the ATI HMDI dongle is used or not. When it is in use AND the display's EDID confirms that it is an HDMI device, ATI cards follow the HDMI spec. Without both the HDMI dongle and an HDMI confirming EDID, ATI cards resort to PC monitor formats, regardless of whether Catalyst Control Center recognizes the display as a TV or not.

Note that the HDMI dongle must be an actual ATI HDMI dongle, not a regular DVI to HDMI adapter. The dongle must also be the correct version for the particular video card. In addition the video card itself must be a model that recognizes the ATI HDMI dongle. The best way to be certain the correct dongle is used and is supported, is to purchase a video card that comes with a dongle and use it with that card.

Essentially if you use the correct HDMI dongle with a modern HDTV (with an HDMI connection and EDID), ATI cards output using YCbCr with a calibrated visible range of 16-235 (which is what HDTVs are by "calibrated" for).

In all other cases, ATI cards revert to full range sRGB (RGB with a 0-255 range). While TVs will produce an image with this, the majority will produce an overly contrast image with dark scenes almost black and bright scenes with lots of clipped white (solid, constant bright regions instead of showing color details). Full range sRGB is what PC monitors are designed to use, not TVs.

Looking at your choices and assuming the dongle came with the card:

This

will drive your HDTV with sRGB.

This

will also drive your HDTV with sRGB.

This

should drive your HDTV with appropriate YCbCr with a 16-235 visible range - assuming the receiver creates an appropriate EDID to send to the video card (most likely it does).

I would advise using #3. If you use #1 or #2 you will need to do ONE of the following:


Configure your HDTV to accept full range sRGB from within the settings menu (most TVs do not support this).
Calibrate your HDTV so instead of a visible range of 16-235, it has a visible range of 0-255 (most TVs do not have enough "adjustment range" to do this).
Adjust the overall "color" settings within the ATI Catalyst Control Center so brightness is +31 and contrast is 74%. This, as a final output setp, compresses all levels such that 0-255 is converted to approximately 16-235 (this works with everything from photographs to video games to TV playback, etc. - except some software (like PowerDVD Ultra) ignores this if you are using Vista). This is the method I use since my HDTV has a DVI port (no HDMI) and can't be calibrated to display sRGB properly.
Adjust the AVIVO color settings within the ATI CCC so brightness is +16 and contrast is 86%. This makes it so video processed by the AVIVO "engine" remains with a 16-235 range. This only affects video, not photographs, desktop, video games, etc. Also, if a software video decoder (such as ffdshow) is used, this has no effect (FYI ffdshow itself can be configured to do the same thing though).



In addition to what I have mentioned above, ATI video cards have what most of us consider a long standing BUG where they do not process SD video correctly. By default, ATI cards assume all SD video (less than 720 vertical lines) uses the sRGB colorspace (0-255 range). This would theoretically be correct for native PC content (video games, Internet) - BUT, it is totally incorrect for true video, including TV. SD video uses BT.601 (16-235 range), not sRGB. Almost all SD video, even video downloaded from the Internet, uses BT.601 so there is little reason for ATI do default to sRGB (FYI, Nvidia correctly processes SD video as BT.601 by default).

In order to make your video card process SD video correctly you need to add the "UseBT601CSC=1" registry setting.

The easiest way to do this is to use a utility. My personal preference is to download DXVAChecker, run it, right click on any DXVA modes and select "Video Acceleration Settings". In there, turn on "UseBT601CSC" and set it to "1". If you are running XP, reboot (no reboot required for Vista) and play some video.


At this point all that is left is fine tuning. Some things to consider are adjustments to your CCC AVIVO "All Settings". Here Edge Enhancement and Denoise are worth adjusting. With a very sharp digital display (LCD, etc.) I prefer to keep the denoise quite high and edge enhancement low and with an analog display (rear projection CRT based, projector, etc.) to run less denoise and more edge enhancement.

The other area worth paying attention to is grey level calibration for your HDTV. You'll need a calibration source such as the ones you can download and burn from http://www.avsforum.com/avs-vb/showthread.php?t=948496. You'll probably find some relatively minor fine tweaking to brightness and contrast will make a big improvement.

HT Slider

WOW, what a awesome and very technical response, I don't know anything about the
YCbCr visible range of 16-235 or th sRGB (RGB with a 0-255 range), and this is why
I hangout here to learn and to ask questions and get a professional answer like yours.

I thank you so very much and I will do as advised on Saturday and will report back with the results.

Hats off to you:)

Scat

No comments:

Post a Comment