madshi bug tracker - madVR
View Issue Details
0000246madVRbugpublic2014-12-21 10:012015-03-15 19:47
omarank 
madshi 
highmajoralways
closedunable to reproduce 
v 0.87.11
MPC-HC (v 1.7.7.157)
LAV Splitter (v 0.63.0)
LAV Video decoder (v 0.63.0)
Software
none (progressive)
no
On
all modes
NVidia + Intel
GT 650M
v 347.09
0000246: "this display is already calibrated" setting does some colour or gamma conversion when not needed
In the "calibration" settings page, if I set primaries as BT.709 by selecting "this display is already calibrated", I can see some colour or gamma changes even while playing a video having BT.709 primaries and decoding matrix. If I understand it correctly, colour or gamma changes should happen only in two cases:

1. if the primaries/ decoding matrix of the played video is different from the selected primaries in this settings page
2. "enable gamma processing" is checked in the "color & gamma" settings page, and the selected gamma curve is different from the one selected in the "calibration" settings page
No tags attached.
png this display is already calibrated.png (2,132,107) 2015-03-15 16:05
http://bugs.madshi.net/file_download.php?file_id=123&type=bug
png disable calibration controls.png (2,132,107) 2015-03-15 16:07
http://bugs.madshi.net/file_download.php?file_id=124&type=bug
zip madVR - log.zip (3,427,194) 2015-03-15 16:09
http://bugs.madshi.net/file_download.php?file_id=125&type=bug
png already calibrated - 2.png (2,798,788) 2015-03-15 19:10
http://bugs.madshi.net/file_download.php?file_id=126&type=bug
png disable calibration - 2.png (2,798,788) 2015-03-15 19:11
http://bugs.madshi.net/file_download.php?file_id=127&type=bug
Issue History
2014-12-21 10:01omarankNew Issue
2015-03-14 15:21madshiNote Added: 0000741
2015-03-14 15:21madshiAssigned To => madshi
2015-03-14 15:21madshiStatusnew => feedback
2015-03-14 18:48omarankNote Added: 0000761
2015-03-14 18:48omarankStatusfeedback => assigned
2015-03-14 18:49omarankNote Edited: 0000761bug_revision_view_page.php?bugnote_id=761#r152
2015-03-14 18:57omarankNote Edited: 0000761bug_revision_view_page.php?bugnote_id=761#r153
2015-03-14 19:00madshiNote Added: 0000762
2015-03-14 19:00madshiStatusassigned => feedback
2015-03-14 19:31omarankNote Added: 0000765
2015-03-14 19:31omarankStatusfeedback => assigned
2015-03-14 19:43madshiNote Added: 0000766
2015-03-14 19:43madshiStatusassigned => feedback
2015-03-14 19:53omarankNote Added: 0000767
2015-03-14 19:53omarankStatusfeedback => assigned
2015-03-14 21:59madshiNote Added: 0000768
2015-03-14 21:59madshiStatusassigned => feedback
2015-03-15 06:36omarankNote Added: 0000775
2015-03-15 06:36omarankStatusfeedback => assigned
2015-03-15 14:08madshiNote Added: 0000777
2015-03-15 14:08madshiStatusassigned => feedback
2015-03-15 16:05omarankFile Added: this display is already calibrated.png
2015-03-15 16:07omarankFile Added: disable calibration controls.png
2015-03-15 16:09omarankFile Added: madVR - log.zip
2015-03-15 16:13omarankNote Added: 0000785
2015-03-15 16:13omarankStatusfeedback => assigned
2015-03-15 17:06huhnNote Added: 0000786
2015-03-15 18:03madshiNote Added: 0000787
2015-03-15 18:04madshiStatusassigned => feedback
2015-03-15 19:10omarankFile Added: already calibrated - 2.png
2015-03-15 19:11omarankFile Added: disable calibration - 2.png
2015-03-15 19:16omarankNote Added: 0000791
2015-03-15 19:16omarankStatusfeedback => assigned
2015-03-15 19:32madshiNote Added: 0000792
2015-03-15 19:33madshiStatusassigned => feedback
2015-03-15 19:41omarankNote Added: 0000793
2015-03-15 19:41omarankStatusfeedback => assigned
2015-03-15 19:47madshiNote Added: 0000794
2015-03-15 19:47madshiStatusassigned => closed
2015-03-15 19:47madshiResolutionopen => unable to reproduce

Notes
(0000741)
madshi   
2015-03-14 15:21   
You can see color/gamma changes how, and when doing/comparing what?

Generally, the decoding matrix has nothing to do with the gamut/calibration settings. However, gamut and gamma processing should be disabled if you set the display to "this display is already calibrated" and if gamma processing is disabled and the source primaries match the display primaries.

What gamut does madVR report/autodetect for the source? Maybe madVR thinks its not BT.709?

Are subtitles involved? What happens if you use a video without subtitles?
(0000761)
omarank   
2015-03-14 18:48   
(edited on: 2015-03-14 18:57)
I played a couple of BluRay videos with BT.709 gamut, which were perfectly detected by madVR as having BT.709 gamut. I just toggled between "disable calibration controls for this display" and "this display is already calibrated" with the default setting: BT.709 gamut and PPC gamma 2.2. I ensured that no gamma processing was enabled in the "color & gamma" settings page. I have disabled subtitles in MPC-HC, so subtitles were not involved. I repeated my test on 3 systems and 4 displays.

You should be able to reproduce this problem by repeating the above mentioned simple test on your system. If the primaries of the played video are same as the selected primaries in the "calibration" settings page, and no gamma processing is enabled, then madVR's output should be the same whether "this display is already calibrated" is selected or "disable calibration controls for this display" is selected. As I can see a difference in output with the two settings, something is going wrong with either of the two settings and apparently the unnecessary color/gamma processing happens when "this display is already calibrated" is selected.

You are right that the decoding matrix has nothing to do with this, I inadvertently mentioned that.

(0000762)
madshi   
2015-03-14 19:00   
I've tried, but on a quick check I can't reproduce problems, at least not with a calibration test pattern video, with dithering turned off. Using a pixel peeper, which gives me the exact output color values, I get the same colors.

Do you have the option "disable GPU gamma ramps" checked? And maybe some gamma ramps loaded?
(0000765)
omarank   
2015-03-14 19:31   
Yes, I normally keep the option "disable GPU gamma ramps" checked, but I don't have any gamma ramps loaded. I will test with that option unchecked and report.

Could you please test using some real video and not any test pattern? I believe that a real video would make it easier for you to see that there is some difference in the output of the two settings. Once you have assured that, then maybe you can dig deeper.
(0000766)
madshi   
2015-03-14 19:43   
I've tried, but it's harder to check with a real movie. The difference with gamut processing is rather small. It's a much smaller difference compared to e.g. changing decoding matrixes. With my naked eye I don't see a difference between turning calibration control off or not in madVR, when playing BT.709 videos on a BT.709 display. Does that mean that there is no difference? No, I don't trust my eyes here. That's why I tried with a test pattern and a pixel peeper. With a real movie, using the pixel peeper is difficult because there are no flat color areas you can check.

If the difference is very obvious to your eyes, not just a very very small difference, then probably something else is going on (e.g. the GPU gamma ramps). The gamut processing is rather subtle.
(0000767)
omarank   
2015-03-14 19:53   
There is a subtle difference. It's not very obvious. When I first toggled the two settings, I found that there was some difference and that the output was not the same. Then after toggling multiple times, I realized that when "this display is already calibrated" is selected, the image is slightly more saturated or maybe a bit contrasty. It's hard to describe what exactly the difference is, and that's why I wrote that some color or gamma conversion is going on.

Please let me know what other information I can provide to help you diagnose the problem.
(0000768)
madshi   
2015-03-14 21:59   
So did you test "disable GPU gamma ramps"? Let me know when you did...
(0000775)
omarank   
2015-03-15 06:36   
Yes I tested again on all three systems and I can confirm that the difference is there even with "disable GPU gamma ramps" unchecked.

When "this display is already calibrated" is selected, I perceive a loss in depth of the images (due to slightly enhanced saturation/ contrast?).
(0000777)
madshi   
2015-03-15 14:08   
Ok, could you please do the following:

1) Make a screenshot in windowed mode by using the PrintScreen key of the same video frame, with (a) this is display is already calibrated and (b) disable calibration controls? Please make sure you disable both dithering and please also uncheck the "disable GPU gamma ramps" checkbox. After you've done that, the images should look different, right?

2) Please create a debug log from the "this display is already calibrated" situation, zip and upload it. I don't need a log from "disable calibration controls".

Thanks.
(0000785)
omarank   
2015-03-15 16:13   
I have uploaded the required files. I set dithering to "None" while taking the screenshots and creating the debug log, as you asked for.
(0000786)
huhn   
2015-03-15 17:06   
both screenshots have the same CRC [B6109E1A] and so look 100% identical. are you sure you uploaded the right one?
(0000787)
madshi   
2015-03-15 18:03   
Yeah, the PNGs are bit by bit identical. So does this mean that there is no problem after all?
(0000791)
omarank   
2015-03-15 19:16   
I have uploaded another set of screenshots from a different video.

@Madshi: I am able to see the differences when I play the video. With static screenshots, I can't differentiate. The same happens when I compare chroma upscaling algorithms. With static screenshots, they all appear the same. While things are in motion in a video, I can perceive the differences.
(0000792)
madshi   
2015-03-15 19:32   
Again, the files are bit by bit identical. I think your eyes are deceiving you this time. It happens to the best of us.

My source code is pretty clear: If the source video is detected as BT.709 and if the display is already calibrated to BT.709, then no gamut processing is performed. This is why I asked for the screenshots, to make extra sure that there really *IS* a difference. Because my source code says otherwise, and my own tests also say that there is no difference. I've really tried to find a difference, but could not.
(0000793)
omarank   
2015-03-15 19:41   
Well, I am totally puzzled about this issue now. Anyway, as you have already checked the code, you may close this issue. I apologize for wasting a bit of your time.
(0000794)
madshi   
2015-03-15 19:47   
No problem. If you find a way to reproduce this problem in a way that I can mathematically/scientifically check, please reopen this bug report.