Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
Thread Tools | Search this Thread | Display Modes |
27th November 2010, 13:54 | #1 | Link |
Registered User
Join Date: Jan 2008
Posts: 589
|
GeForce 9400: strange video levels behavior (0-255/16-235)
Hardware/Software configuration
The Goal
The issue Now here's where it gets complicated. Experience shows that the nVidia driver/card is behaving very strangely regarding output levels. First of all, I would like to mention that English is not my native language, and all of this is quite complicated to explain, so you'll have to bear with me for a moment. When testing, I found a reasonably reliable way to determine what input levels the HDTV receives: I'm taking advantage of the "superblank" feature of Sony HDTVs, which allows for WTW content to be displayed. If I understand this feature correctly, it means that 235-blank will be displayed normally with good color balance (as it should be); 255-blank will also be displayed and distinguishable (brighter) from 235 but with a bad (bluish) color balance. This feature, combined with some level testing videos, allows me to see if the TV is receiving 235 (good blank) or 255 (brighter, bad blank). The results I'm getting from the TV seems to corroborate this explanation. Now, here's what I found. First of all, the NVidia control panel contains a "resolution" section where I can switch between "audio disabled" and "audio enabled" for the HDTV. At first glance one might think that it's just controlling HDMI Audio, but it does other things, too: if I switch back and forth between "audio disabled" and "audio enabled", the color levels change significantly. Judging from the results, I came to the following conclusions:
So at first glance, "audio enabled" seems like the right choice. But I didn't get into the strange part yet: video levels. The following discussion is about pure EVR (I'm not using EVR-CP or EVR Sync in MPC-HC).
I managed to come up with some explanation for this aberrant behavior: I think that in "audio enabled" mode, the processing chain inside the driver/card compresses the whole Windows desktop levels to 16-235. To compensate for this compression when watching video in windowed mode, the video area is first expanded to 0-255, only to get compressed again further down the pipeline. I think that NVidia engineers wanted to have something cleaner when playing video in fullscreen mode and drop all processing altogether, thus sending untouched content to the TV and preserving BTB/WTW. This is a very good idea, but alas, it seems they got their changes wrong and forgot to disable the first step (expansion to 0-255), thus making fullscreen playback worse than before! Experiencing with other video renderers The behavior is almost the same with the EVR "variants" included with MPC-HC (i.e. EVR-CP and EVR Sync). "Almost" because, with these renderers, the video levels switch is not dependant on the windowed/fullscreen status like with EVR but rather on the video resolution. What I mean is:
My guess is the NVidia driver is unable to determine the fullscreen status with these custom renderers and thus falls back to video resolution to take its decision. I also tried a non-EVR renderer: madVR. In this case, as one could expect, the driver doesn't seem to detect video playback and considers MPC-HC like any other Windows application. If someone is still keeping track of my explanation, one could notice that there is a solution to the video levels problem: switch to "audio disabled" mode and use madVR without video levels expansion (that is, with the "16-235" levels option in madVR). Indeed, this solves the problem for video: everything stays untouched, and even BTB/WTW is preserved. Problem is, this makes other Windows activities (like photo viewing) much worse (see "audio enabled/disabled" discussion above). If anyone has an idea on how to solve this complicated problem (registry hack? EDID hack?), I would be happy to hear it. Thanks. |
27th November 2010, 16:22 | #2 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
I don't know if this is relevant to your problem but there is a "dynamic range" setting in the Nvidia control panel.
Go to "Video" -> "Adjust Video Color Settings" -> "2. How do you make color adjustments?" -> select "With the NVidia settings" -> "Advanced". There you can choose either "Full (0-255)" or "Limited (16-235)". |
6th December 2010, 23:00 | #4 | Link |
Otaku
Join Date: Sep 2006
Location: Portugal
Posts: 576
|
Nvidia 260.xx drivers borked several settings in the display panel, the latest working drivers are 259.32. Like it's not possible to change the digital format from rgb or ycbcr444 etc.
__________________
In the school, the three guys met. Their relation had been changed in the season, and turned into three love stories.
|
7th December 2010, 08:36 | #5 | Link |
Registered User
Join Date: Apr 2009
Posts: 1,019
|
In the nvidia control panel go to "Adjust desktop color settings" in the display section. At the bottom set the content type to "Desktop programs" to force 0-255. Works fine for me in 260.99. Selecting RGB or YCC works fine too. I guess if you always want 16-235 choose something different there.
|
Tags |
blacklevel, levels, white |
Thread Tools | Search this Thread |
Display Modes | |
|
|