Nvidia's VMR Woes

For some reason, NVidia does not seem to get their drivers right regarding the video output using VMR-7/9 on digital panels hooked up via DVI. The drivers should detect the display type and use the enhanced color range (0-255) instead of the TV-Scale (16-235) to output video streams on your screen. Obviously they don't!

Once, NVidia has documented a registry hack in their driver release notes (AFAIR in 80.xx-90.xx driver revisions) which would force the driver to use the enhanced color range for videos. Never worked for me - I had to look for other workarounds. All I wanted was a true black (0,0,0) and a true white (255,255,255) on my screen. How difficult can it be?

You have various options to get rid of this nasty behavior. One would be to let your video player use RGB colorspace instead of YUV when rendering the video onto a VMR Surface. FFDShow Codec can do that. This workaround will obviously only work for video players using FFDShow. DVD Playback or in-game video might not be affected by using this method. The most reliable method I found was to use the video color correction in the recent NVidia drivers.

I grabbed a color test pattern movie over at Burosch (look for the link labeled "Download: 1920 x 1080 mit Stereo - Ton"), had set up my player to loop the video, and did a lot of screenshots which I pasted into Paint.NET to colorpick the black and white values while fiddling with the video color settings of the NVidia color panel. Sounds like pain in the ass? It feels like that too!

Anyway, in the end if have came up with following settings which look just perfect on my setup:

NVidia video color settingsNVidia video color settings

Now tell me one thing, why isn't it possible to export the color settings from the new oh-so-fancy-and-sluggish-nvidia-control-panel? WTF!? If you look at the screenshot above, you might think, that you only need to adapt percentage values. Think again. Between each decimal step, there are about 5-6 intermediate steps which you can only access via the keyboard / cursor keys. The driver does not always apply values set this way onto the live video, so you have to uncheck/check the "Use the NVIDIA Control Panel color settings" checkbox each time to let the driver accept fine-tweaked settings. JEEZ! Can I have the old snappy control panel back?

P.S. don't be as naive as I was to fire up Regmon / Process Monitor to take a look where the control panel stores the settings. Dragging a slider bailed out 64316 Registry-Access-Events (Open, Query, Close) PER SECOND! WTF! Now I have an idea why the control panel feels that slow!