Originally Posted by mkanet
I really hate to be the one to break it to you... but it sounds like your display needs to be calibrated. Youre not supposed to limit the quality of your Windows desktop, pictures, games to 16-235; as they have native PC levels of 0-255; and, should not be modified from this. There was an issue for video levels for some people (mainly in VMC) not displaying video content at (16-235). See... http://forums.nvidia.com/index.php?showtopic=69836
But that's been addressed now.
Edit: Optionally, some people prefer to see a bigger range in colors in their video by overriding 16-235 video levels to 0-255; this new feature will allow for this too.
I'm sorry my friend, but you do not understand the issue. Computer and computer monitors use the RGB color space 0-255, with 0 being the blackest you can get, and 255 being the whitest you can get. So the Windows desktop, digital photos on your Linux box, PC games - all of it - is sent out from the video card at RGB 0-255. This is exactly what we want, because generally, computers are connected to computer monitors. Thus, computer monitors know that when the computer says "set pixel 13x,19y to (0,0,0)", that it should display pure black at that pixel. Same for (255,255,255), onl now were displaying pure white.
Everything else - televisions, broadcast TV, vcrs, dvd players, blu-players, all of them work in the RGB color space 16-235, with 16 being the blackest you can get, and 235 being the whitest you can get. So when your digital cable box wants to tell your LCD television to set pixel 13x,19y to the absolute darkest it can get, it says, "set pixel 13x, 19y to (16,16,16)" - this is pure black. Likewise, your dvd player tells your TV "set pixel 13x, 19y to (235,235)" to set that pixel to pure white.
The problem is when these two worlds collide.
All DVD's and blu-ray discs are encoded in the 'everything else' color space of 16*235. When you play such a video on your PC, and your PC is connected to a COMPUTER monitor, the picture is, by default, incorrect. See, your dvd software decodes the image and tells the video card, "set pixel 13x, 19y to (16,16,16)", thinking that your display will then set that pixel to pure black. However, being a computer monitor, (16,16,16) is only 'sort of' black, not pure black, and thus you will not get the level of darkness or brightness that the video producer's intended. Now, smart DVD software will take the 16-235 color space, expand it to 0-255 (by subdividing the PC world of 255 levels of brightness to such that 16 is now set to 0, 235 is now set to 255, and everything else is linearly scaled inbetween). When this occurs, your DVD may say set pixel 13x, 19y to (16,16,16), but what it really means is set that pixel to pure black - by expanding the color space to PC levels, the computer monitor will display the image correctly.
However, HTPC users often buy HDTV's, like my Toshiba 42RV530U, to get a 1080p display for pc games, putting on picture shows, showing movies, etc. Here's the real problem. Windows desktop, pc games, digital images - basically everything except most forms of video - are encoded in the 0-255 color space. So when your HDTV receives the message, "set pixel 13x, 19y to (0,0,0)", it interprets that as outside of the 16-235 color space IT uses, and will simply clip the color's brightness at 16. Likewise, ALL data between (0,0,0) and (16,16,16) will be displayed on your HDTV as the exact same brightness - 16/pure black. So when your windows PC says, "set pixel 13x, 19y to (16,16,16)", it means set that pixel to sort-of black, but not pure black - your HDTV, however, sets this to pitch black. Thus all of the gradations in blackness/darkness between (0,0,0) and (16,16,16) are crushed
together, thus we have the Black Crush phenomenon. A similar thing happens with whites and degress of whiteness.
But it's even more complex. Let's say you are watching a DVD again. The DVD is encoded on the disc at 16-235, but your dvd software is smart (as we mentioned earlier) and knows that you're running a computer, and so expands the color space of the DVD to computer levels 0-255. So again, your PC is sending out computer levels that are clipped, thus giving a Black Crush to all of your movies.
So what you really want to happen is to either: have the PC ONLY output 0-255, and have a toggle switch on the HDTV so that it interprets RGB values on that DVI/HDMI line at computer levels and thus properly displays images, OR you want your PC to compress EVERYTHING, and output 16-235, and then all TV's, including HDTV's will properly display it at their natural 16-235 color space. Unfortunately, this doesn't always happen.
For instance, on my previous setup, my NVIDIA card would send everything except video out at 0-255 color space, but my HDTV, which does not have a color space toggle, would clip the color space to 16-235, and thus crush blacks. However, some software video players that were NOT smart would take the DVD or blu-ray data at 16-235, and send THAT out of the video card, rather than expand the data to 0-255 computer levels. In those cases, the movies would look correct on your HDTV, but ironically, they would look 'washed out' on your COMPUTER monitor (which thinks (16,16,16) is only sort of black, whereas the video means it to be pure black). So this is the WORST situation - your PC is sending data out in TWO color spaces, and so your HDTV must either have a switch that you toggle to 16-235 for movies on your PC, and 0-255 for everything else on your PC. If it does not, then you're in trouble. If you calibrate your HDTV for video levels (16-235), then all of your computer games, web browsing, etc. will be black crushed, though your videos will be fine. If, on the other hand, you calibrate your video levels for the PC when it's using the 0-255 levels (say, during a video game), then your movies will look gray where they should be black. (NOTE: it is not actually possible to calibrate an HDTV that ONLY does 16-235 color space to PC levels of 0-255, though you can come somewhat close. Here are the details on that
- look at the area in bold).
So what did NVIDIA do? NVIDIA provides a color space toggle in their control panel - that ONLY applies to video - and thus you could have your PC send 16-235 color space data to your 16-235 color space HDTV, and all is well. The problem is that again, your PC will still send out 0-255 for everything else, and thus everything else will be black crushed. I assume they'll eventually put a global toggle into the control panel, and the issue will be resolved completely.
So what did ATI do? ATI has a DVI->HDMI dongle - which is what most people use when they connect their HTPC to their HDTV - this dongle is special in that it will compress all 0-255 color space data down to 16-235. Thus your windows desktop, your web browser, your Counter Strike source, which were all rendered in 0-255 color space and sent out of your video card like that, were rescued form the black crush by the dongle which compresses (NOT clips) the colors to the proper 16-235 color space that your HDTV understands. However, there's one more gotcha: if you are once again using dumb dvd software that does not first expand the video levels of DVD and blu-ray videos, then you will have grayed out blacks (the opposite of black crush). The reason is, these dumb dvd players, not recognizing that this a PC, will attempt (successfully) to send the video data out of the video card in the 16-235 color space, with 16 being pure black and 235 being pure white, but your DVI->HDMI dongle, which assumes everything coming from the PC is in computer color space, will compres
the 16-235 color space of the video down EVEN FURTHER. So the dongle sees 16 and thinks "this is a PC, so 16 means sort-of black, so I will compress this to 25, which the HDTV thinks sort-of black is". Then all of your video's blacks will be gray, whites won't be as white, colors will look like crap.
Finally, what is the solution for ATI users who use the DVI->HDMI dongle to connect to HDTV's? EXPAND EVERYTHING to 0-255. You want your PC to use the 0-255 color space for everything, including expanding video levels from 16-235 to 0-255. By doing this, we achieve what is CRUCIAL to solving this problem: consistency. By consistently using 0 to mean pure black and 255 to mean pure white, the DVI->HDMI dongle can compress this accurately down to the color space where 16 is pure black and 235 is pure white, and thus the problem is solved. OR, the alternative here for all users, is to again EXPAND EVERYTHING to 0-255, but then use an HDTV that lets you set the color space to PC levels and correctly interprets 0 as pure black instead of its native mode of interpreting 16 as pure black.
PLAYSTATION 3 OWNERS
As PS3 owners know, there is an option in the console's dashboard (or whatever they call it) that lets you set your RGB color mode to FULL or LIMITED, which are code words for PC levels (0-255) or 'everything else' levels (16-235). The reason Sony provides this feature is because, though most users have their PS3 connected to a standard television or HDTV, and thus can use the LIMITED RGB color space (the default), some
PS3 users connect, via VGA or DVI, to a COMPUTER monitor, which needs data in the PC colorspace of 0-255, whic the PS3 refers to as FULL.
This was a stupid naming convention on Sony's part, because many users see the word 'limited', think it means 'worse', and select 'full' RGB, thinking they'll get a better picture from their PS3. Instead, if they are using a regular TV/HDTV (as 90%+ are), they will just end up introducing the Black Crush to their setup. Likewise, if they set the output to LIMITED and use the PS3 with a computer monitor, they will get the graying of blacks and bad color production over all.
mkanet, I cannot say it any clearer than this. I typed all of this out because I hate when people have high-end gear but can't take advantage of it because of stupid things like the PC industry not using the 'everything else' color space. If anyone has any questions, or wants to verify that their setup is coordinating color spaces properly, just send me a private message and I'll be glad to help out. I lose sleep when you don't get the perfect HTPC image quality you deserve