Log in

View Full Version : madVR 10-bit Display Support Test


Pages : 1 2 3 4 [5] 6 7 8 9 10 11 12 13

James Freeman
21st June 2015, 19:13
XMonarchY,

You don't seem to understand that the FRC in that specific monitor is not to create 10bit from 8bit input... where did you get that?
The FRC noise you see is from internal processing of gamma and gamut calibration, at the output you only see noisy 8bit.
8bit Input & Noisy 8bit Output is NOT as smooth as 10bit, PERIOD.
What you may actually see is a standard 8bit monitor that does gradients smoother than a bad TV.
You probably did not have a proper monitor with smooth 8bit gradient up till this Eizo, that's why you think it is smoother than it should be.
8bit IS smooth if the processing is right and no banding occurs, but 10bit is 4 times smoother still.
Eizo are great monitors be happy about that, but know that yours is a good 8bit one.

A plasma has terrible dithering because that's just how plasma TV's works, but the input is only 8bit and the resulting picture is also in 8bit and extremely dithered.
I can't explain it simpler, the dithering you see does NOT mean your monitor is showing 10bit; it means it's showing noisy 8bit if it only accepts 8bit at input.

James Freeman
21st June 2015, 20:26
Could someone please summarize state of findings regarding Panasonic ST60? I tried to search and find a definitive answer, but couldn't.
Thanks!

My findings about the ST60:


RGB

8bit Limited range From GPU, Standard (16-236) range in TV in 4:4:4 (pixel direct):
Everything smooth as it should be.

8bit Full range From GPU, Nonstandard (0-255) range in TV in 4:4:4 (pixel direct):
Banding.

8bit Full range From GPU, Nonstandard (0-255) range in TV (pixel direct Off):
Smooth but not 4:4:4

12bit Limited range From GPU, Standard (16-236) range in TV in 4:4:4 (pixel direct):
Banding.

12bit Full range From GPU, Nonstandard (0-255) range in TV in 4:4:4 (pixel direct):
Banding.

12bit Full range From GPU, Nonstandard (0-255) range in TV (pixel direct Off):
Smooth but not 4:4:4


YCbCr444
* Always Limited Range.

8bit From GPU, 4:4:4 (pixel direct):
Everything smooth as it should be.

8bit From GPU, (pixel direct Off):
Smooth but not 4:4:4

12bit From GPU, 4:4:4 (pixel direct):
Banding.

12bit From GPU, (pixel direct Off):
Smooth but not 4:4:4


Conclusions:
8bit RGB Limited range From GPU, Standard (16-236) range in TV in 4:4:4 (pixel direct), PC levels in madVR:
I would also suggest RGB because we don't want the GPU to convert to YCbCr which is another conversion step between madVR and TV.
This will convert the OS desktop to limited range. Another conversion step.
Use this if you use the TV for computer stuff besides and along with madVR movie watching.

The absolute BEST way to do this is as follows:
Nvidia RGB Full range 8bit.
madVR TV Levels (16-235) under Properties.
ST60: Standard (16-235).
This will result in the least amount of conversion stages and retain BTB & WTW just like a high quality Blu-Ray player would. In fact, Luma will not be dithered at all!
But, other programs in OS will be clipped.
Use this if you only use madVR for perfect quality movie watching on your TV or using AVS709HD calibration patterns to set Contrast and Brightness like you would from a Blu-Ray player.

The ST60 is at its best at 8bit Limited range in 4:4:4, just stick to that and madVR dithering and we'll be fine for a few more years.
Hope this helped.

huhn
21st June 2015, 21:08
so the internal processing doesn't dither sometimes?

James Freeman
22nd June 2015, 04:27
so the internal processing doesn't dither sometimes?

Each pixel of the LCD is moved by a transistor with voltage applied to its gate, so it is completely analog.
What voltage is applied to the transistor to create a gamma curve is calibrated and stored in the displays processor.

For example:
The processor accepts only 8bit input (what you see in Nvidia CP).
Internally it can store data in 16bit for calibration (10bit in XMonarchY case).
It outputs only 8bit voltage steps from this 16bit range to move the lcd pixels.

Or in XMonarchY case, at the output the display uses FRC to recreate 10bit from the processor to the pixel voltages.
If the processor uses higher bit depth like 16bit, it does not need to use FRC to "choose from" 10bit limited pallet; it can map from 16bit directly to 8bit.
But at the input the processor receives only 8bit, thus at the output it only shows 8bit.

All this is very simplified for example only.

codemaster
22nd June 2015, 08:25
Thanks for posting your findings about ST60.

I was using 8bit / RGB Full Range / 4:4:4 (pixel direct), but I'll reconsider based on the findings. The problem is I use the PC for gaming as well, so switching to Limited may not be an option.

At least it seems there is no gain with 12bit, so that's one less option to consider :-)

huhn
22nd June 2015, 09:08
james the question was about your ST60 plasma.

James Freeman
22nd June 2015, 10:35
I was using 8bit / RGB Full Range / 4:4:4 (pixel direct), but I'll reconsider based on the findings. The problem is I use the PC for gaming as well, so switching to Limited may not be an option.


No no, it IS an option.
Just switch in Nvidia CP to Limited RGB, and the ST60 to Standard (16-235) 4:4:4.
This way you get PC games and madVR (0-255) to play correctly, BUT, the GPU will do the range conversion from 0-255 to 126-235.
Nvidia does this in high bit depth so I don't see any banding at all.
This IS the option to use with the ST60 if you play PC games and watch movies, just like a PC monitor.

james the question was about your ST60 plasma.
So the internal processing doesn't dither sometimes?


Hard to say.
I can assume that any TV with a good/working Color Management System has to be high bit depth internally, just like madVR is 16bit.

Several things are for sure:
With Pixel Direct On (4:4:4) the ST60 band-less only in 8bit Limited (Standard), and the CMS for Yellow Cyan and Magenta is completely disabled.
With Pixel Direct Off, there are no banding in any mode: Full, Limited, 8 or 12 bit and the CMS is fully functional and banding free.
From that I can conclude that the high bit depth processing in the ST60 is only used in 4:2:2 mode.
Any Plasma TV is a dithering monster, it dithers at the output for sure.

codemaster
22nd June 2015, 11:05
Thanks for clarification.

Then I guess it boils down to sacrificing color conversion (Full -> Limited) vs banding. I guess subjectively color conversion should work fine especially after calibration. Don't want to miss shadow details :-)

huhn
22nd June 2015, 11:23
No no, it IS an option.
Just switch in Nvidia CP to Limited RGB, and the ST60 to Standard (16-235) 4:4:4.
This way you get PC games and madVR (0-255) to play correctly, BUT, the GPU will do the range conversion from 0-255 to 126-235.
Nvidia does this in high bit depth so I don't see any banding at all.
This IS the option to use with the ST60 if you play PC games and watch movies, just like a PC monitor.



Hard to say.
I can assume that any TV with a good/working Color Management System has to be high bit depth internally, just like madVR is 16bit.

Several things are for sure:
With Pixel Direct On (4:4:4) the ST60 band-less only in 8bit Limited (Standard), and the CMS for Yellow Cyan and Magenta is completely disabled.
With Pixel Direct Off, there are no banding in any mode: Full, Limited, 8 or 12 bit and the CMS is fully functional and banding free.
From that I can conclude that the high bit depth processing in the ST60 is only used in 4:2:2 mode.
Any Plasma TV is a dithering monster, it dithers at the output for sure.

yeah they are "1 bit" displays they don't create a pixel using transistor and different total power at a pixel they let a pixel blink and the time is blink is the brightness of that pixel.

and i'm pretty sure a DAC is used for this.

James Freeman
22nd June 2015, 13:19
Then I guess it boils down to sacrificing color conversion (Full -> Limited) vs banding.
The conversion is in the GPU in very high bit depth so no visible "sacrificing" occurs.
Just use Limited to fulfill all your needs.
Besides, up until several versions ago it was the only option by default without the user ability to change it.

yeah they are "1 bit" displays they don't create a pixel using transistor and different total power at a pixel they let a pixel blink and the time is blink is the brightness of that pixel.

1bit but with super fast refresh rate...
If you compare a Plasma and 1bit+dithering in madVR there is a huge difference.
Because the plasma refresh rate for the 1bit dithering is A LOT faster than "change every frame" that madVR uses.

huhn
22nd June 2015, 15:41
1bit but with super fast refresh rate...
If you compare a Plasma and 1bit+dithering in madVR there is a huge difference.
Because the plasma refresh rate for the 1bit dithering is A LOT faster than "change every frame" that madVR uses.

it's the length of of "bit" and of cause it has nothing to do with madVR 1 bit.

XMonarchY
22nd June 2015, 18:43
XMonarchY,

You don't seem to understand that the FRC in that specific monitor is not to create 10bit from 8bit input... where did you get that?
The FRC noise you see is from internal processing of gamma and gamut calibration, at the output you only see noisy 8bit.
8bit Input & Noisy 8bit Output is NOT as smooth as 10bit, PERIOD.
What you may actually see is a standard 8bit monitor that does gradients smoother than a bad TV.
You probably did not have a proper monitor with smooth 8bit gradient up till this Eizo, that's why you think it is smoother than it should be.
8bit IS smooth if the processing is right and no banding occurs, but 10bit is 4 times smoother still.
Eizo are great monitors be happy about that, but know that yours is a good 8bit one.

A plasma has terrible dithering because that's just how plasma TV's works, but the input is only 8bit and the resulting picture is also in 8bit and extremely dithered.
I can't explain it simpler, the dithering you see does NOT mean your monitor is showing 10bit; it means it's showing noisy 8bit if it only accepts 8bit at input.

I agree with almost everything. 8bit + FRC to ME looks ALMOST as smooth as true 10bit. It surely looks better than 8bit only.

huhn
22nd June 2015, 18:51
and how did you compared it to 8 bit only?

James Freeman
23rd June 2015, 13:03
I agree with almost everything. 8bit + FRC to ME looks ALMOST as smooth as true 10bit. It surely looks better than 8bit only.

For the last time and in your words,
Your monitor IS 8bit only.

If you can't select 10bit in Nvidia CP, your monitor don't actually use FRC to create 10bit.
Understand?

If you mean that DITHERED 8bit looks as good as 10bit, then you absolutely right.

XMonarchY
24th June 2015, 21:57
For the last time and in your words,
Your monitor IS 8bit only.

If you can't select 10bit in Nvidia CP, your monitor don't actually use FRC to create 10bit.
Understand?

If you mean that DITHERED 8bit looks as good as 10bit, then you absolutely right.

Isn't FRC = DITHERING? Its 8bit + dithering (outside of madVR) and I assumed such dithering means FRC...

huhn
24th June 2015, 22:43
dithering is a way to lowering the bit deep. but you never get 10 bit in the monitor. so the monitor dither is never dithering true 10 bit.

XMonarchY
24th June 2015, 23:37
dithering is a way to lowering the bit deep. but you never get 10 bit in the monitor. so the monitor dither is never dithering true 10 bit.

What is FRC then? I thought FRC = dithering. Whichever dithering is used by FG2421, its very very good at preventing 1DLUT banding.

huhn
24th June 2015, 23:51
if you would send an 10 bit signal to the display(which is not possible with this display) the FRC from this display would be used to let it look like 10 bit.

but currently it is just dithering the error from the internal processing.

nvidia can dither an 10 bit input from madVR down to 8 bit but it is very unlikely that this dither is better than madVR dithering. i hope nvidia is using something like random dithering.

windows CMS 1D calibrations have a bad quality. so the 10 bit input may force nvidia to use 10 bit processing on it so the results on the 1D LUT looks better than normal 8 bit if this is true. 10 bit madVR output should look better than 8 bit output on nearly all displays. on the other hand madVR overlay mode should stomp these results with is 16 bit+ processing of 1D LUT.

XMonarchY
25th June 2015, 16:08
if you would send an 10 bit signal to the display(which is not possible with this display) the FRC from this display would be used to let it look like 10 bit.

but currently it is just dithering the error from the internal processing.

nvidia can dither an 10 bit input from madVR down to 8 bit but it is very unlikely that this dither is better than madVR dithering. i hope nvidia is using something like random dithering.

windows CMS 1D calibrations have a bad quality. so the 10 bit input may force nvidia to use 10 bit processing on it so the results on the 1D LUT looks better than normal 8 bit if this is true. 10 bit madVR output should look better than 8 bit output on nearly all displays. on the other hand madVR overlay mode should stomp these results with is 16 bit+ processing of 1D LUT.

I use ArgyllCMS (via dispcalGUI) 1DLUT calibration, which is as good as it gets. I think dithering comes from the monitor, not nVidia drivers. Otherwise there would be the same dithering on my HDTV in 8bit mode, but there isn't.

madVR dithering is probably better than dithering I get on FG2421, but it is still excellent at removing banding.

huhn
25th June 2015, 16:11
it can't dither 10 bit if it never gets 10 bit sorry it is that simple. so no the driver is dithering in this case. if nvidia would send 10 bit than the display would do the dithering using FRC but that's simply not the case

TV are a whole different beasts. alone the possibility that they are 4:2:2 or 4:2:0 sub sampling makes 10 bit very helpful.

and not even argyllCMS can fix windows CMS/gamma ramp of the GPU.

XMonarchY
25th June 2015, 20:59
it can't dither 10 bit if it never gets 10 bit sorry it is that simple. so no the driver is dithering in this case. if nvidia would send 10 bit than the display would do the dithering using FRC but that's simply not the case

TV are a whole different beasts. alone the possibility that they are 4:2:2 or 4:2:0 sub sampling makes 10 bit very helpful.

and not even argyllCMS can fix windows CMS/gamma ramp of the GPU.

Ugh, are we talking about the same thing here? Here's what I am saying:
1. Eizo Foris FG2421 @ 8bit setting produces dithering (uses DisplayPort)
2. Samsung HDTV @ 8bit setting does NOT produce dithering (uses High-Speed HDMI cable)

Why would FG2421 produce dithering with 8bit signal and HDTV would not? Is it because of DisplayPort vs. HDMI difference? Or is it because FG2421's internal processing is what produces non-FRC dithering?

I mean plasma HDTV's dither with 8bit signal because HDTV's themselves (internal processing) use dithering. Why is it so impossible that an MVA screen can do something similar via its internal processing? The dithering on FG2421 (outside of madVR or any media playback) is THERE and its OBVIOUS with 8bit setting.

huhn
25th June 2015, 21:25
the issue is that the eizo doesn't accept 10 bit input that's why it can't dither it because it never gets the 10 bit for the 10 times. if it would be possible to send 10 bit to the eizo it would be possible to dither this signal using FRC. if you see moving dither noise with a still standing picture that's the FRC working after the internal processing and this just shows how bad FRC can be just more noise...

nvidia ignores your settings if you set output bit deep to 8 bit when 10 bit is inputted in the driver and the display supports 10/12 bit input. so you can not force nvidia to dither on displays that support 10 or 12 bit input.

see here:
http://forum.doom9.org/showpost.php?p=1726964&postcount=178

XMonarchY
25th June 2015, 21:37
the issue is that the eizo doesn't accept 10 bit input that's why it can't dither it because it never gets the 10 bit for the 10 times. if it would be possible to send 10 bit to the eizo it would be possible to dither this signal using FRC. if you see moving dither noise with a still standing picture that's the FRC working after the internal processing and this just shows how bad FRC can be just more noise...

nvidia ignores your settings if you set output bit deep to 8 bit when 10 bit is inputted in the driver and the display supports 10/12 bit input. so you can not force nvidia to dither on displays that support 10 or 12 bit input.

see here:
http://forum.doom9.org/showpost.php?p=1726964&postcount=178

All I am saying is that my observations go against what you're trying to tell me.

Outside of madVR (on desktop) Eizo Foris FG2421 + 8bit NVidia setting does produce dithering and the overall gradient banding is a LOT smoother than my Samsung HDTV's gradient banding using the same 8bit NVidia setting. That's a fact no matter what the cause/reason for it is.

huhn
25th June 2015, 21:46
looks like your samsung is pretty bad.

the desktop is 8 bit anyway.

XMonarchY
26th June 2015, 01:04
looks like your samsung is pretty bad.

the desktop is 8 bit anyway.

No, its not pretty bad. Its as good as my other 8bit IPS monitor that shows no dithering, unlike FG2421. When I say Desktop, I mean viewing grayscale gradients on desktop. There is a significant difference between 8bit and 12bit as far as my HDTV goes. At 8bit, without any 1DLUT, I can see each of the 0-255 levels (or however many levels provided PNG shows). At 12bit, I do not or there are so many of levels that I do not notice each individual one. 8bit on FG2421 has dithering that blends 0-255 levels, better than IPS and HDTV, but obviously not as good as 12bit on HDTV.

huhn
26th June 2015, 01:51
so i assume with desktop you mean 8 bit not dithered from madVR?

you should see banding in this case on all display with 8 bit or higher. if you don't see it the display is processing it with an debanding filter or something like that. so it is hiding details and does something in the back. which is by the way bad this banding could be intentional too.

XMonarchY
26th June 2015, 19:02
Another thing that is so weird is that on FG2421, when I disable dithering in madVR, use Exclusive mode, and toggle between 8bit and 10bit (in madVR) with the provided gradient PNG file, 10bit setting provides drastically smoother gradient than 8bit setting. Again, NVidia CP only allows 8bit input for FG2421.

What does this mean?

huhn
26th June 2015, 20:16
Another thing that is so weird is that on FG2421, when I disable dithering in madVR, use Exclusive mode, and toggle between 8bit and 10bit (in madVR) with the provided gradient PNG file, 10bit setting provides drastically smoother gradient than 8bit setting. Again, NVidia CP only allows 8bit input for FG2421.

What does this mean?

the nvidia driver is dithering in this case.

XMonarchY
26th June 2015, 22:05
the nvidia driver is dithering in this case.

But the same thing does not happen when I set HDTV to 8bit in NVidia CP and select 10bit in madVR. With HDTV, 8bit NVidia CP setting + 10bit madVR setting = 8bit NVidia CP setting + 8bit madVR setting in terms of gradient smoothness. With FG2421, selecting 8bit in NVidia CP and 10bit in madVR looks MUCH smoother than selecting 8bit in NVidia CP and 8bit in madVR.

Why would NVidia driver dither on FG2421, but not on HDTV when 8bit setting in selected in NVidia CP and 10bit setting is selected in madVR?

huhn
26th June 2015, 22:32
But the same thing does not happen when I set HDTV to 8bit in NVidia CP and select 10bit in madVR. With HDTV, 8bit NVidia CP setting + 10bit madVR setting = 8bit NVidia CP setting + 8bit madVR setting in terms of gradient smoothness. With FG2421, selecting 8bit in NVidia CP and 10bit in madVR looks MUCH smoother than selecting 8bit in NVidia CP and 8bit in madVR.

Why would NVidia driver dither on FG2421, but not on HDTV when 8bit setting in selected in NVidia CP and 10bit setting is selected in madVR?

james said 10 bit is send anyway when possible regardless of the setting. so your results are wired ask nvidia why they round the 10 bit input in your case.

on all my 8 bit input display and my 12 bit input TV 10 bit madVR always looked better than madVR 8 bit without dithering. regardless of the setting chosen.

XMonarchY
27th June 2015, 12:59
james said 10 bit is send anyway when possible regardless of the setting. so your results are wired ask nvidia why they round the 10 bit input in your case.

on all my 8 bit input display and my 12 bit input TV 10 bit madVR always looked better than madVR 8 bit without dithering. regardless of the setting chosen.

So just because a display does not support 10bit input does not mean it isn't 10bit+.

huhn
27th June 2015, 14:36
So just because a display does not support 10bit input does not mean it isn't 10bit+.

the conclusion is high bit deep dithered down looks better than 8 bit undithered.

XMonarchY
27th June 2015, 15:30
the conclusion is high bit deep dithered down looks better than 8 bit undithered.

That makes ZERO sense...

Eizo Foris FG2421 monitor (DisplayPort):
- 8bit input setting in NVidia CP + 8bit setting in madVR + madVR dithering disabled = obvious bands/banding
- 8bit input setting in NVidia CP + 10bit setting in madVR + madVR dithering disabled = no noticeable banding

Samsung HDTV (High-Speed HDMI):
- 8bit input setting in NVidia CP + 8bit setting in madVR + disabled madVR dithering = obvious bands/banding
- 8bit input setting in NVidia CP + 10bit setting in madVR + disabled madVR dithering = obvious bands/banding
- 12bit input setting in NVidia CP + 10bit setting in madVR + disabled madVR dithering = no noticeable banding

ASUS IPS monitor (DisplayPort):
- 8bit input setting in NVidia CP + 8bit setting in madVR + disabled madVR dithering = obvious bands/banding
- 8bit input setting in NVidia CP + 10bit setting in madVR + disabled madVR dithering = obvious bands/banding

Please explain to me why on Eizo Foris FG2421 8bit input setting in NVidia CP + 10bit setting in madVR + disabled madVR dithering produces no noticeable bands/banding, while the same exact settings DO produce obvious bands/banding on both Samsung HDTV and ASUS IPS monitor.

James Freeman
27th June 2015, 16:55
That makes ZERO sense...
Please explain to me why on Eizo Foris FG2421 8bit input setting in NVidia CP + 10bit setting in madVR + madVR dithering disabled produces no noticeable bands/banding, while the same exact settings DO produce obvious bands/banding on both Samsung HDTV and ASUS IPS monitor.

If I understand correctly this is in FSE 10bit DX1 right?
Try the same experiment but enable Dithering in madVR in 8bit (not 10bit), that should send 8bit dithered signal into the displays.
Please try that and post what you see.

XMonarchY
27th June 2015, 18:54
If I understand correctly this is in FSE 10bit DX1 right?
Try the same experiment but enable Dithering in madVR in 8bit (not 10bit), that should send 8bit dithered signal into the displays.
Please try that and post what you see.

Yes in FSE with D3D11.
- 8bit NVidia setting + 8bit madVR setting + madVR ED1 dithering = no banding, BUT it isn't as smooth as 8bit NVidia setting + 10bit madVR setting + disabled madVR dithering.

Besides, how does this explain the situation? It does NOT explain why on Eizo Foris FG2421 8bit input setting in NVidia CP + 10bit setting in madVR + disabled madVR dithering produces no noticeable bands/banding, while the same exact settings DO produce obvious bands/banding on both Samsung HDTV and ASUS IPS monitor.

kolak
29th June 2015, 09:18
Eizo panel is 8bit, but they use advanced dithering, so gradients look fine. Dithering is happening in the Eizo monitor, so your experiment does make perfect sense, you just have to know how to interpret it.
Eizo has probably the best electronics from all the monitor manufactures. Even if 2 companies use the same panel you can still have good or crap monitor out of it. Panel is the most important but electronics behind it are also important.

huhn
29th June 2015, 11:22
it would be that easy if nvidia has a option to choice 10 bit. so it never gets the 10 bit just 8 bit it can't dither is to 8 bit so the input 8 bit has to be banding free or the driver is lying.

spacediver
9th July 2015, 23:39
Since driver version 353.06 users can select bit depth in the Nvidia Control Panel on all systems.
If you can't see 10bit option in the CP, Nvidia will dither down to the bit depth selected if it is lower.

In other words, If you can't choose 10bit in nvidia CP and keep it on 8bit, when you run madVR in 10bit FSE, nvidia WILL Dither and you'll see smooth gradient, not true 10bit.
If you can select 10bit in Nvidia CP, the driver will NOT dither and sent true 10bit signal to your display.

Just ran the 10 bit gradient test, and can definitely notice a difference between 8 and 10 bit, with dithering disabled. I have a feeling, however, that Nvidia is dithering.

I have a Sony GDM-FW900 which is a (very nice) CRT. So the display itself is definitely capable of 10+ bit color. I'm using the DVI-I port on my Geforce card, and that feeds directly into the VGA input in the CRT.

I'm using the latest Nvidia drivers, but there is no option to select output color depth in the control panel:

I'm guessing this might be because I'm using analog DVI.

Does anyone have any suggestions on how to enable the color output option for my video card/display combination?

If only there were a way to "force" the card to try to send out 10 bit information, regardless of whether a 10 bit display is detected or not.

Asmodian
10th July 2015, 08:24
10-bit isn't really a concept that agrees with an analog connection. You are getting VGA, there is no 8 or 10-bit.

You do get better precision using 10-bit in madVR because you are feeding the digital to analog system in the video card a higher bit-depth.

huhn
10th July 2015, 11:54
it's very unlikely that the DAC for analog output is 10 bit. why should they add such a part in a GPU when it is very unlikely that it will ever get 10 bit.

spacediver
10th July 2015, 15:03
it's very unlikely that the DAC for analog output is 10 bit. why should they add such a part in a GPU when it is very unlikely that it will ever get 10 bit.

I've done some tests (http://www.avsforum.com/forum/139-display-calibration/1606473-using-psychophysics-method-adjustment-calibrate-gamma-based-jnds.html#post25836793) that suggest that the DAC on my card is at least 10 bits

spacediver
10th July 2015, 15:08
10-bit isn't really a concept that agrees with an analog connection. You are getting VGA, there is no 8 or 10-bit.

Not sure what you mean by this. Analog or digital signals both contain information, and can be characterized by a particular number of bits, afaik.

nevcairiel
10th July 2015, 15:13
Not sure what you mean by this. Analog or digital signals both contain information, and can be characterized by a particular number of bits, afaik.

Not necessarily. Analog signals are continous, while digital signals are "sampled". The number of bits is the resolution of the sampler, ie. the DAC or ADC.

An analog signal has infinite precision, how much information that really gives you all depends on the hardware to generate and receive this signal.

What you can measure is the precision of the DAC (graphics card) and/or ADC (ie. your measurement instrument), not the "signal" itself.

spacediver
10th July 2015, 15:36
Not necessarily. Analog signals are continous, while digital signals are "sampled". The number of bits is the resolution of the sampler, ie. the DAC or ADC.

An analog signal has infinite precision, how much information that really gives you all depends on the hardware to generate and receive this signal.

Fair enough.


What you can measure is the precision of the DAC (graphics card) and/or ADC (ie. your measurement instrument), not the "signal" itself.

I've done this, and the DAC is capable of at least 10 bits of precision. To me, this means that if I were able to force Nvidia drivers to output a 10 bit (digital) signal, the DAC would produce an analog signal that contained enough information to produce 10 bit color in my CRT.

nevcairiel
10th July 2015, 16:12
The configuration in the NVIDIA control panel is about actual output, but you do not output digital, so you cannot configure any bitdepth. The fact is, you do not know which bitdepth is fed to the DAC. All you can ever do is feed a high bitdepth signal to the driver (ie. by using madVR in 10-bit mode), and judge the result.

spacediver
10th July 2015, 16:37
If I could force the Nvidia drivers to feed a 10 bit digital signal to the DAC, I'm thinking I'd be able to get 10 bit color. As has been discussed in this thread, if you feed a 10 bit signal via DirectX, but Nvidia isn't configured for 10 bit output, it very likely dithers down to 8 bit. My thinking is that it should be possible to force Nvidia for 10 bit digital output (output to the DAC).

huhn
10th July 2015, 17:11
if the DAC is 10 bit. but why would they even create such a DAC?

your test was with a colorimeter these meter easily think a 8 bit dithered image is 11 bit or more.

spacediver
10th July 2015, 17:27
if the DAC is 10 bit. but why would they even create such a DAC?

If the DAC was only 8 bit, then it would be impossible to adjust the gamma without crushing certain levels together (unless dithering was involved). You'd have a choice of 256 levels per channel out of a palette of only 256 levels. With a 10 bit DAC, you have a choice of 256 levels out of a palette of 1024 levels.


your test was with a colorimeter these meter easily think a 8 bit dithered image is 11 bit or more.

Well you'd probably need an oscilloscope to test whether it's dithered or not. If anyone has one, I can provide Matlab code to do the test.

spacediver
10th July 2015, 23:38
So I just discussed this with a friend (same guy responsible for some of the best input lag measurements (http://www.esreality.com/post/2691945/microsecond-input-lag-measurements/) out there), and for this fine piece of detective work (http://www.overclock.net/t/1545382/csgo-m-rawinput-0-drops-samples). He reminded me of a discussion (http://hardforum.com/showthread.php?p=1041074839#post1041074839) we'd had over on hardforum, where he discovered that the default windows LUT actually truncates the range of possible values, presumably to ensure evenly spaced voltages. He's pretty convinced the DAC is true 10 bit, else it's hard to explain how dithering can account for the extra brightness you get for peak luminance when you use all 1024 possible values, rather than just up to 1023.

He's going to do some testing tonight (I might replicate them also). His idea is as follows:

Take L to be the luminance function of the display. With a perfect black level, a normalized peak luminance of 1 unit, and a gamma of, 2.4, then:

L(0) = 0, L(1) = 0.00000169, L(2) = 0.00000893, etc.

Say you want to specify a level between L(1) and L(2). Dithering will achieve this by alternating frames between L(1) and L(2), resulting in a luminance exactly halfway between, resulting in a luminance of (0.00000169+0.00000893)/2 = 0.00000531.

If, however, the precision of the DAC is high enough to actually send a voltage halfway between L(1) and L(2), then the resulting luminance will be 0.00000444.

This discrepancy can be used to our advantage to test for dithering, in the following way:

Set the slope of the LUT to 64 (in the context of 16 bit specification). This will mean that only the first 256 usable levels (out of 1024 usable levels) will be used. Measuring the luminance of each grayscale level will reveal whether dithering is being employed.

If there is no dithering, and the DAC is true 10 bit, then each luminance value will reflect the natural gamma of the CRT (which in my case, is around 2.8 the way I have the voltages calibrated).

If there is dithering, then the luminance will also show, overall, a 2.8 gamma function, but the curve will not look smooth: it will look like 64 line segments, because three out of every four values are being (linearly) interpolated through dithering.

omarank
28th July 2015, 06:16
To everyone:

AMD cards dither the output by default, but you can disable it:

http://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU?pid=3314#pid3314


HDMI_DisableDither for HDMI. Reboot after.

Only that can explain why I see a difference between 8 and 10 bit output on my 6-bit DELL U2212HM connected with DVI :)
Can I just put all the three entries (for DP, DVI and HDMI) in the registry and be assured that there would be no dithering done by AMD driver, when using madVR?

Is there a downside to using this hack in other programs/ games?