Tip for nVidia users using HDMI and getting accurate color format
  1 / 2    
This is only for nVidia users who are using HDMI on their display. If you're display supports Full RGB, which most do, you may notice you aren't getting the right colors and the blacks don't seem so black and the whites don't seem so white. This is because despite under Display->Adjust Desktop Color Settings your digital color format being set at RGB, its actually by default set at Limited RGB, not Full. And you will see there is no option for Full RGB. Don't use ycbcr444 as it will oversaturate reds and magentas. Full RGB is available only under Video->Adjust Video Color Settings, but this doesn't affect your games, applications, etc. Only videos. The trick to enable Full RGB for everything is a reg hack, and luckily you can use a tool to do instead. [URL="http://blog.metaclassofnil.com/wp-content/uploads/2012/08/NV_RGBFullRangeToggle.zip"]Find it here[/URL] You must use this tool every time you install a new driver. Next, complain to nVidia to let this be a option in future drivers here: [url]http://surveys.nvidia.com/index.jsp?pi=6e7ea6bb4a02641fa8f07694a40f8ac6[/url]
This is only for nVidia users who are using HDMI on their display.

If you're display supports Full RGB, which most do, you may notice you aren't getting the right colors and the blacks don't seem so black and the whites don't seem so white. This is because despite under Display->Adjust Desktop Color Settings your digital color format being set at RGB, its actually by default set at Limited RGB, not Full. And you will see there is no option for Full RGB. Don't use ycbcr444 as it will oversaturate reds and magentas.

Full RGB is available only under Video->Adjust Video Color Settings, but this doesn't affect your games, applications, etc. Only videos.

The trick to enable Full RGB for everything is a reg hack, and luckily you can use a tool to do instead. Find it here

You must use this tool every time you install a new driver.
Next, complain to nVidia to let this be a option in future drivers here:
http://surveys.nvidia.com/index.jsp?pi=6e7ea6bb4a02641fa8f07694a40f8ac6

Intel i7-3930K@4.5Ghz // Corsair Hydro H80i // ASUS Rampage Formula IV // G.SKILL Trident X 16GB@1866MHz 8-9-9-24-1T // EVGA SuperClocked GeForce GTX Titan // Creative Sound Blaster Z // Bose Companion 3 II // Samsung 840 Pro 256GB // Corsair AX750

#1
Posted 11/18/2012 07:00 PM   
Thanks for posting here as well as at [H]. I just got my Geforce forum account back today, and posting about this issue was going to be my first priority. If we continue to open new threads and bump old threads about it, we should be able to get more awareness about the issue. So far, NV refuses to acknowledge it. No sweat off my back though, as AMD has already fixed this issue with theirs. I'm getting a new GPU in the summer and at this point, my intent is to go AMD. I will only consider NV if they fix this issue. We shouldn't need hacks and mods to get a driver working correctly.
Thanks for posting here as well as at [H]. I just got my Geforce forum account back today, and posting about this issue was going to be my first priority. If we continue to open new threads and bump old threads about it, we should be able to get more awareness about the issue. So far, NV refuses to acknowledge it.

No sweat off my back though, as AMD has already fixed this issue with theirs. I'm getting a new GPU in the summer and at this point, my intent is to go AMD. I will only consider NV if they fix this issue. We shouldn't need hacks and mods to get a driver working correctly.

Patiently waiting for Nvidia to add 0-255 full range to HDMI output.

#2
Posted 11/19/2012 05:17 AM   
I had sent a detailed analysis of this problem to NVidia many months ago, but never heard back. Here's what I sent: ------- I've now run some extensive tests and can confirm my earlier report. Here are the facts: (1) The NVidia driver knows two different RGB Full vs. Limited modes. One of the modes applies to "everything", including Windows desktop, photo viewers, applications, games, videos. Let's call this the "global mode". There's another mode which only applies to videos played through VMR/EVR. Let's call this the "video mode". (2) The option in the NVidia control panel under "Video -> Adjust video color settings -> Advanced -> Dynamic range" allows users to switch the "video mode", but not the "global mode". (3) There is no option at all in the NVidia control panel to choose the "global mode". Instead the "global mode" is selected automatically by the driver, depending on which kind of resolution is currently active. If in the NVidia control panel under "Display -> Change resolution" the user selects a resolution from the "HD, SD" section, the driver will forcefully switch the "global mode" to "Limited (16-235)". For resolutions from the "Custom" or "PC" sections, the driver will forcefully switch the "global mode" to "Full (0-255)". These are 100% reproducible facts with my 9400 NVidia mainboard and Windows 7 x64. These facts are also confirmed by many many HTPC end users, having exactly the same experience. It has been a known "hack" in the HTPC community for a long time to recreate all "HD, SD" resolutions as custom resolutions to force the NVidia driver to output unmolested "Full (0-255)" dynamic range. Let me give you some more technical explanations about what exactly the "video mode" does: The "video mode" changes the way the driver converts YCbCr (NV12) textures to RGB (either via StretchRect or via the DXVA Video Processor). The exact behaviour of the "video mode" switch is like this: (a) global mode = Full; video mode = Full ---> StretchRect produces 0-255 (b) global mode = Full; video mode = Limited ---> StretchRect produces 16-235 (c) global mode = Limited; video mode = Full ---> StretchRect produces 0-255 (d) global mode = Limited; video mode = Limited ---> StretchRect produces 0-255 Maybe you'll find (c) and (d) surprising, but it makes sense since the "global mode = Limited" stretches everything (including the final VMR/EVR rendering output) to 16-235, anyway. So in this situation StretchRect must always produce 0-255 to avoid double expansion. ------- Ok, the above are the technical facts. Now let's talk about what this means in real life: Some displays expect 0-255. Some displays expect 16-235. Some displays can be switched between 0-255 and 16-235. The NVidia driver has no way to know for sure what the display is configured for. So there *MUST* be a user option to define the "global mode". And such an option is currently sorely missing. My suggestion on how to solve this mess is this: (1) In the NVidia control panel under "Adjust desktop color settings -> Digital color format" you could extend the options from "RGB, YCbCr444" to "RGB Full, RGB Limited, YCbCr444". This switch would then control the "global mode". (2) Get totally rid of the "video mode", please. It makes zero sense to define different black/white levels for video as opposed to e.g. photos. A display always expects black and white to be at the same values. The display doesn't care whether the content is video, games, photos, applications or whatever. So having a separate RGB dynamic range option for video makes no sense, as far as I can see. (3) Please make the global mode switch available for developers via NVAPI, too.
I had sent a detailed analysis of this problem to NVidia many months ago, but never heard back. Here's what I sent:

-------

I've now run some extensive tests and can confirm my earlier report. Here are the facts:

(1) The NVidia driver knows two different RGB Full vs. Limited modes. One of the modes applies to "everything", including Windows desktop, photo viewers, applications, games, videos. Let's call this the "global mode". There's another mode which only applies to videos played through VMR/EVR. Let's call this the "video mode".

(2) The option in the NVidia control panel under "Video -> Adjust video color settings -> Advanced -> Dynamic range" allows users to switch the "video mode", but not the "global mode".

(3) There is no option at all in the NVidia control panel to choose the "global mode". Instead the "global mode" is selected automatically by the driver, depending on which kind of resolution is currently active. If in the NVidia control panel under "Display -> Change resolution" the user selects a resolution from the "HD, SD" section, the driver will forcefully switch the "global mode" to "Limited (16-235)". For resolutions from the "Custom" or "PC" sections, the driver will forcefully switch the "global mode" to "Full (0-255)".

These are 100% reproducible facts with my 9400 NVidia mainboard and Windows 7 x64. These facts are also confirmed by many many HTPC end users, having exactly the same experience. It has been a known "hack" in the HTPC community for a long time to recreate all "HD, SD" resolutions as custom resolutions to force the NVidia driver to output unmolested "Full (0-255)" dynamic range.

Let me give you some more technical explanations about what exactly the "video mode" does: The "video mode" changes the way the driver converts YCbCr (NV12) textures to RGB (either via StretchRect or via the DXVA Video Processor). The exact behaviour of the "video mode" switch is like this:

(a) global mode = Full; video mode = Full ---> StretchRect produces 0-255
(b) global mode = Full; video mode = Limited ---> StretchRect produces 16-235
(c) global mode = Limited; video mode = Full ---> StretchRect produces 0-255
(d) global mode = Limited; video mode = Limited ---> StretchRect produces 0-255

Maybe you'll find (c) and (d) surprising, but it makes sense since the "global mode = Limited" stretches everything (including the final VMR/EVR rendering output) to 16-235, anyway. So in this situation StretchRect must always produce 0-255 to avoid double expansion.

-------

Ok, the above are the technical facts. Now let's talk about what this means in real life:

Some displays expect 0-255. Some displays expect 16-235. Some displays can be switched between 0-255 and 16-235. The NVidia driver has no way to know for sure what the display is configured for. So there *MUST* be a user option to define the "global mode". And such an option is currently sorely missing.

My suggestion on how to solve this mess is this:

(1) In the NVidia control panel under "Adjust desktop color settings -> Digital color format" you could extend the options from "RGB, YCbCr444" to "RGB Full, RGB Limited, YCbCr444". This switch would then control the "global mode".

(2) Get totally rid of the "video mode", please. It makes zero sense to define different black/white levels for video as opposed to e.g. photos. A display always expects black and white to be at the same values. The display doesn't care whether the content is video, games, photos, applications or whatever. So having a separate RGB dynamic range option for video makes no sense, as far as I can see.

(3) Please make the global mode switch available for developers via NVAPI, too.

#3
Posted 11/19/2012 05:55 PM   
I don't understand either why Nvidia hasn't taken care of it yet. The current situation is really unsatisfying, just doesn't make any sense. Year after year always the same complains about it in various forums all over the internet...
I don't understand either why Nvidia hasn't taken care of it yet.
The current situation is really unsatisfying, just doesn't make any sense.

Year after year always the same complains about it in various forums all over the internet...

#4
Posted 11/20/2012 09:00 PM   
I suspect that they're ignoring it. I'll test this in a week or two (when I can be certain they're not on any holiday). What I'll do is bump this thread and every other HDMI color space thread we have. Moderators will be forced to lock/merge the threads and possibly even ban me. But by doing so, they would have acknowledged seeing the issue. I can then email this as newsworthy to some of our favorite Nvidia sites/blogs. Ideally, it causes enough awareness that NV can't pretend to not know about it anymore.
I suspect that they're ignoring it. I'll test this in a week or two (when I can be certain they're not on any holiday). What I'll do is bump this thread and every other HDMI color space thread we have. Moderators will be forced to lock/merge the threads and possibly even ban me. But by doing so, they would have acknowledged seeing the issue. I can then email this as newsworthy to some of our favorite Nvidia sites/blogs. Ideally, it causes enough awareness that NV can't pretend to not know about it anymore.

Patiently waiting for Nvidia to add 0-255 full range to HDMI output.

#5
Posted 11/21/2012 03:43 AM   
Thanks for the temp fix, now i can set my samsung tv to Normal 0-255 instead of Low 16-235 levels.
Thanks for the temp fix, now i can set my samsung tv to Normal 0-255 instead of Low 16-235 levels.

#6
Posted 03/07/2013 08:18 PM   
I cannot actually thank you enough for this little fix. I was having an aneurysm trying to calibrate my monitor correctly at the full RGB range and wondering why everything looked washed out.
I cannot actually thank you enough for this little fix. I was having an aneurysm trying to calibrate my monitor correctly at the full RGB range and wondering why everything looked washed out.

#7
Posted 03/18/2013 07:08 AM   
no effect :(, i use a samsung ue40es6715 as monitor.
no effect :(, i use a samsung ue40es6715 as monitor.

#8
Posted 03/18/2013 06:51 PM   
IT WORKS, more colors, correct colors, too bright whites though but that can be calibrated, thanks a lot :) +1 rep
IT WORKS, more colors, correct colors, too bright whites though but that can be calibrated, thanks a lot :) +1 rep

#9
Posted 03/18/2013 11:10 PM   
I have Nvidia 670 card and It is working like a charm. Make sure you select the Monitor/HDTV that you want to calibrate. I have new drivers 314.22 now so I can give some advice where to change these settings: 1. Go to "Nvidia control panel" 2. Under "VIDEO" go to "Adjust Video Color Settings" 3. Uner Point 2 select "With the NVIDIA settings" 4. Go to "Advanced" and to your eyes will show tab called "Dynamic Range" where you can change it between "Limited" (16-235) and Full (0-255) I also ticked two other options below "Dynamic contrast enhancement" and "Color enhancement" It is visible change on your TV when you make these changes !!!!! Go to your TV and change these option whilst playing movie. Changes are visible and give each movie real kick !!!!
I have Nvidia 670 card and It is working like a charm.
Make sure you select the Monitor/HDTV that you want to calibrate.
I have new drivers 314.22 now so I can give some advice where to change these settings:
1. Go to "Nvidia control panel"
2. Under "VIDEO" go to "Adjust Video Color Settings"
3. Uner Point 2 select "With the NVIDIA settings"
4. Go to "Advanced" and to your eyes will show tab called "Dynamic Range" where you can change it
between "Limited" (16-235) and Full (0-255)
I also ticked two other options below "Dynamic contrast enhancement" and "Color enhancement"

It is visible change on your TV when you make these changes !!!!!
Go to your TV and change these option whilst playing movie. Changes are visible and give each movie real kick !!!!

#10
Posted 03/25/2013 09:19 PM   
I have the same problem : Geforce 680 Surround view with 3 indentical BenQ GW2750H (Two DVI, on HDMI). Driver is 320.18 Will try the fix and report...
I have the same problem : Geforce 680
Surround view with 3 indentical BenQ GW2750H (Two DVI, on HDMI).

Driver is 320.18

Will try the fix and report...

#11
Posted 06/08/2013 04:21 PM   
Do AMD cards have this problem?
Do AMD cards have this problem?

My PC
Windows 7 Ultimate 64-bit
Intel(R) Core(TM) i7-4770K (4 Cores), ~3.5GHz
Corsair Vengeance Pro 1600MHz DDR3 16GB (2 x 8GB)
Asus Maximus VI Hero
SAMSUNG 50" LED HDTV model UN50EH6000FXZC @ 1920x1080
EVGA GeForce GTX 780 SC P/N: 03G-P4-2783-KR
Connection HDMI to HDMI
Crucial M500 960GB SSD
Creative Sound Blaster X-Fi Titanium HD
LG BH14NS40 rom
Logitech Wireless Keyboard K350
Logitech Wireless Gaming Mouse G700
Logitech Dual Action Gamepad
Thermaltake Toughpower Grand 750W
Cooler Master HAF 932

Image

#12
Posted 08/24/2013 06:15 PM   
Thanks for this. I've set my TV (Panasonic plasma VT50) to 0-255 (nonstandard) and black level to "light" and everything looks great when running the RGB full range. Movies played from the PC, games played from the PC and games played from the XBox all look amazing.
Thanks for this. I've set my TV (Panasonic plasma VT50) to 0-255 (nonstandard) and black level to "light" and everything looks great when running the RGB full range. Movies played from the PC, games played from the PC and games played from the XBox all look amazing.

#13
Posted 09/23/2013 07:25 PM   
Confirming this works like a charm for my GTX 640 Ti Boost. Thanks a lot, OP!
Confirming this works like a charm for my GTX 640 Ti Boost. Thanks a lot, OP!

#14
Posted 11/03/2013 05:59 PM   
So I have tried using the suggested toggle tool, and it keeps crashing (and not changing the RGB). Any tips on what I should do then? I'm using Windows 7 pro 64bit, a GeForce GTX 670, and currently using driver 332.21.
So I have tried using the suggested toggle tool, and it keeps crashing (and not changing the RGB). Any tips on what I should do then? I'm using Windows 7 pro 64bit, a GeForce GTX 670, and currently using driver 332.21.

#15
Posted 01/10/2014 02:58 AM   
  1 / 2    
Scroll To Top