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.

 

Go Back   Doom9's Forum > Hardware & Software > Software players
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 1st November 2010, 16:37   #1  |  Link
darkbasic
Registered User
 
Join Date: Nov 2007
Posts: 57
Can't achieve a decent color correction with Madvr + yCMS 3dlut

Here is a comparative screenshot:
http://darkbasic.homelinux.com/image...-Photoshop.png

Here is my monitor's profile:
http://darkbasic.homelinux.com/monitor_140_f2000.icm

Monitor is a 30" Nec Spectraview 3090, HW calibrated with an Eye-One Colormunky spectrophotometer (Gamma 2.2, D65 and 140 cd/m^2) and profiled with argyll 1.3.1 with a 2000 patches chart.

Here is a dump of the wtpt, rXYZ, gXYZ and bXYZ tags from my minotor's profile:
Code:
C:\Users\Niko\Documents\monitor>iccdump.exe -v3 -t wtpt -t rXYZ -t gXYZ -t bXYZ monitor_140_f2000.icm
XYZArray:
  No. elements = 1
    0:  0.944122, 1.000000, 1.136963    [Lab 100.000000, -3.494897, -22.575995]
XYZArray:
  No. elements = 1
    0:  0.595306, 0.266281, -0.000214    [Lab 58.628512, 104.081738, 101.486962]
XYZArray:
  No. elements = 1
    0:  0.225998, 0.679947, 0.078293    [Lab 86.003793, -131.388852, 84.638767]
XYZArray:
  No. elements = 1
    0:  0.142899, 0.053772, 0.746811    [Lab 27.783450, 75.878480, -117.989972]
I converted them to xyY and I chromatic adaptated the rxyY, gxyY and bxyY values to find the primaries.

Here is the resulting HD - PC - Config.txt:
Code:
# Set input format
Input_Format   HD   YCbCr    8

# Set output format
Output_Format  HD   RGB_PC  16

Gamut_Measurements 0.688384 0.308513 0.204128 0.697998 0.146249 0.052579 0.306425 0.324561

Gamma_Curve 0.0 2.2
- The frame without color correction has been made disabling 3dlut, pressing 'Stamp', pasting the frame into photoshop and assigning the 'monitor_140_f2000.icm' profile.
- The frame color corrected with yCMS has been made in the same way but with 3dlut enabled.
- The frame color corrected with Photoshop has been made disabling 3dlut, pressing 'Stamp', pasting the frame into photoshop and assigning the 'HDTV (Rec. 709)' profile.
All frames have been finally converted to ProPhoto with relative colorimetric w/ black point compensation.


Observations:
the frame color corrected with yCMS is much more contrasted than the one color corrected with Photoshop, giving less detailed dark zones. Is there any way to avoid it? Photoshop's color corrected frame is MUCH better.

Thank you,
Darkbasic
darkbasic is offline   Reply With Quote
Old 1st November 2010, 19:53   #2  |  Link
dansrfe
Registered User
 
Join Date: Jan 2009
Posts: 1,210
you need to make sure you're running ycms + madvr in exclusive mode to get rid of any windows stuff happening in the mix.
dansrfe is offline   Reply With Quote
Old 1st November 2010, 20:39   #3  |  Link
leeperry
Kid for Today
 
Join Date: Aug 2004
Posts: 3,477
you could always try this script for comparisons sake's, as it's been fully tested by hundreds ppl.

here's a good test pattern: rec709.mkv
leeperry is offline   Reply With Quote
Old 1st November 2010, 23:46   #4  |  Link
darkbasic
Registered User
 
Join Date: Nov 2007
Posts: 57
Quote:
Originally Posted by dansrfe View Post
you need to make sure you're running ycms + madvr in exclusive mode to get rid of any windows stuff happening in the mix.
Can you tell me something more? What's exclusive mode? How can I check if I already use it?

Quote:
Originally Posted by leeperry View Post
you could always try this script for comparisons sake's, as it's been fully tested by hundreds ppl.
I already tried the shader editor solution, but again the result wasn't similar to the photoshop one. Please see this thread: http://forum.doom9.org/showthread.php?t=157700
darkbasic is offline   Reply With Quote
Old 2nd November 2010, 12:41   #5  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Ultimately yesgrey needs to comment on this, but let me try:

You did not provide yCMS with grayscale measurements. But you asked yCMS to modify the gamma curve of the source to a 2.2 pure power curve. Doing that does make the image more "contrasty" which eats shadow detail.

Let me ask you: What exactly do you want yCMS to do? Do you want it to:

- do gamut correction?
- do gamma correction?
- modify the gamma curve of the movie?

Of course the yCMS configuration must be set according to what you want to achieve. Your current yCMS configuration corrects the gamut, and makes the gamma more contrasty. So I'd say you get what you asked yCMS to do. If you want something else, let me know what and we can adjust your yCMS configuration accordingly.
madshi is offline   Reply With Quote
Old 2nd November 2010, 13:28   #6  |  Link
darkbasic
Registered User
 
Join Date: Nov 2007
Posts: 57
I want to do gamut and gamma correction. Best way should be providing grayscale measurements, but unfortunately HCFR does not support my spectrophotometer and I still didn't try to do the measurements with argyll because I will have to make a chart with the very same patches.
So I tried to specify the display's gamma response. The manual says:
Quote:
Originally Posted by Manual
Gamma_Curve curveType gammaValu - If curveType is set to 0.0, the display will be calibrated to a pure power curve.
Doesn't it allow me to specify my monitor's gamma response?

Thank you

Last edited by darkbasic; 2nd November 2010 at 14:06.
darkbasic is offline   Reply With Quote
Old 2nd November 2010, 14:34   #7  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
As long as you don't provide grayscale measurements I'd recommend to remove the "gamut_curve" command from the yCMS configuration. I'm pretty sure that your problems with contrast and shadow detail will go away then. Put the "gamut_curve" command back in once you're able to provide gamma measurements.

To be honest, I think yCMS should be modified. The current behaviour of the "gamut_curve" command, when no gamma measurements are given, is not intuitive. At least it's different to what you expected. But that's something yesgrey and I will have to discuss. For now my recommendation is (as said above) to use "gamut_curve" only if you also provide grayscale measurements.
madshi is offline   Reply With Quote
Old 2nd November 2010, 14:37   #8  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by darkbasic View Post
Doesn't it allow me to specify my monitor's gamma response?
I think you're misunderstand the purpose of the gamma_curve command. You seem to think that you can use it to tell yCMS how your display is currently calibrated. But that's not what gamma_curve is for. If you want to tell yCMS how your display is currently calibrated, you should provide grayscale measurements. The documentation says: "gamma_curve specifies the desired gamma curve to get after display calibration". In other words: gamma_curve tells yCMS how you want your display to behave after yCMS calibration. The problem is that without grayscale measurements yCMS doesn't have all the information it needs to properly realize your gamma_curve wishes. I think gamma_curve should not be used without grayscale measurements.
madshi is offline   Reply With Quote
Old 2nd November 2010, 15:41   #9  |  Link
darkbasic
Registered User
 
Join Date: Nov 2007
Posts: 57
Maybe I found a way to do IRE measurements with argyll:
Quote:
Originally Posted by http://www.argyllcms.com/doc/targen.html#g
The -g parameter sets the number of patches in a set of combined (nominally gray) wedges. This will typically be equal RGB or CMY values, and by default will be equally spaced steps in device space.
If I understood correctly black equals to 0 IRE and white to 100 IRE (but from wikipedia white seems to be 140 IRE). So I can use targen with the -g parameter set to x while x is:

x - (x/100)*30 = 256 ==> x = 366

This gives me 256 useable measurements: 366 minus the measurements below 30 IRE [(366/100)*30=110]

Then I can find the corresponding IRE with:
IRE = measurement_number/3,66


Am I right? Is this what I need?
darkbasic is offline   Reply With Quote
Old 2nd November 2010, 15:47   #10  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
I've no idea. This is not my area of expertize.
madshi is offline   Reply With Quote
Old 2nd November 2010, 16:45   #11  |  Link
darkbasic
Registered User
 
Join Date: Nov 2007
Posts: 57
In the meantime I did one more test removing Gamma_Curve:
http://darkbasic.homelinux.com/images/test_pattern1.png

Even without Gamma_Curve the differences are really big (probably dE 6 or even greater) and I can clearly see a differece in ALL test patterns expect the darkest one

Last edited by darkbasic; 2nd November 2010 at 16:48.
darkbasic is offline   Reply With Quote
Old 2nd November 2010, 17:28   #12  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
These are very different tests than before. Is the contrast/shadow detail problem still there or is that gone? It doesn't make sense to analyze multiple errors at the same time. One problem at a time, that's the only proper way. So first: Is the contrast/shadow detail problem still there?
madshi is offline   Reply With Quote
Old 2nd November 2010, 18:00   #13  |  Link
darkbasic
Registered User
 
Join Date: Nov 2007
Posts: 57
Quote:
Originally Posted by madshi View Post
So first: Is the contrast/shadow detail problem still there?
Not completely, yCMS still gives a slightly more contrasted image, but it may not be a gamma related problem.

Here is another screenshot (unfortunately it's quite impossibile to find the same frame, so do not compare it with the previous one):
http://darkbasic.homelinux.com/image...Photoshop2.png
darkbasic is offline   Reply With Quote
Old 2nd November 2010, 18:19   #14  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
I'm not sure but I think something is wrong with your screenshots or with the way you create them. In the original shot there is banding in the face and the face is slightly green. The photoshop shot shows no banding and no green tint. I doubt that the original really has a green tint to it. Furthermore it's practically impossible that the original has banding in it and the photoshop image somehow gets rid of the banding.

> The frame without color correction has been made
> disabling 3dlut, pressing 'Stamp', pasting the frame
> into photoshop and assigning the 'monitor_140_f2000.icm'
> profile.

Why the heck did you assign the icm profile and then name the image "original"? My understanding of "original" would be "untouched" which means you should not apply the icm profile.

> The frame color corrected with yCMS has been made in
> the same way but with 3dlut enabled.

So for the yCMS corrected frame you applied the icm profile another time on top??? Why would you do that? Makes no sense to me whatsoever. You should use either the icm profile or the 3dlut but not both at the same time.

Furthermore your "photoshop" image does not have the icm profile applied? So the reason why the "photoshop" image looks better than the others is that you applied the icm profile to the others, but not to the photoshop image.
madshi is offline   Reply With Quote
Old 2nd November 2010, 18:56   #15  |  Link
darkbasic
Registered User
 
Join Date: Nov 2007
Posts: 57
Quote:
Originally Posted by madshi View Post
In the original shot there is banding in the face and the face is slightly green. The photoshop shot shows no banding and no green tint. I doubt that the original really has a green tint to it. Furthermore it's practically impossible that the original has banding in it and the photoshop image somehow gets rid of the banding.
Are you using firefox to see it? Unfortunately firefox no longer uses LCMS and so now it sucks hard. If you view it with photoshop there is no banding in the 'Original' frame (but there is some banding in the photoshop frame instead )
Even Photoshop sucks a bit when dealing with complex color management (like rec709-->prophoto-->monitor_140_f2000.icm in my instance). If you use LUT profiles instead of shaper+matrix ones, photoshop is even worse, sometimes terrible

So if you do not want to see banding at all I will have to use Cinepaint which is actually the only one which has decent color management, but I will have to boot linux every time...

Quote:
Originally Posted by madshi View Post
Why the heck did you assign the icm profile and then name the image "original"? My understanding of "original" would be "untouched" which means you should not apply the icm profile.
With original I mean "as I see on my monitor without any color correction". Assigning my monitor's profile is like doing no color management at all, in fact the 'Original' frame is exactly as I see it in MPC-HC with 3dlut disabled.


Quote:
Originally Posted by madshi View Post
So for the yCMS corrected frame you applied the icm profile another time on top??? Why would you do that? Makes no sense to me whatsoever. You should use either the icm profile or the 3dlut but not both at the same time.
Again, assigning my monitor's profile is like doing no color management at all: if source profile is A and monitor profile is again A, color management is a 1:1 transform, so no color management is done and you only see the color management done by 3dlut. In fact, the 'Photoshop' frame is exactly as I see it in MPC-HC with 3dlut enabled.

Quote:
Originally Posted by madshi View Post
Furthermore your "photoshop" image does not have the icm profile applied? So the reason why the "photoshop" image looks better than the others is that you applied the icm profile to the others, but not to the photoshop image.
It has, as I said previously I applied the "HDTV (Rec. 709)" profile. This time Photoshop's monitor compensation converts from the source profile (Rec. 709) to the monitor profile (monitor_140_f2000.icm). If my assumption that the movie color space is Rec. 709 is right, then the resulting image will look nice (and this is the case).

Last edited by darkbasic; 2nd November 2010 at 19:05.
darkbasic is offline   Reply With Quote
Old 2nd November 2010, 19:09   #16  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
This is all too complicated for me. If we have to use specific image apps to view your screenshots properly then there are so many variables at play that I can not judge, anymore, what's going on. I don't really understand which profiles are applied in which order, on which monitor with which app the screenshots are supposed to be watched etc etc. Maybe yesgrey can help out, but I've heard he's very busy at the moment.
madshi is offline   Reply With Quote
Old 2nd November 2010, 19:45   #17  |  Link
darkbasic
Registered User
 
Join Date: Nov 2007
Posts: 57
It's quite simple:

Original/No color correction:
No color management at all, as I see it in MPC-HC with 3dlut off. To achieve it I have to disable 3dlut and assign my monitor's profile, you will see it as I see it on my monitor. If I don't apply any profile at all, I will still see it in the same way, but *YOU* will see it in a different manner, like if you are actually playing the same movie with MPC-HC and 3dlut off!

Photoshop Color Correction:
I assing the Rec. 709 profile. 3dlut is obviously disabled because I want Photshop to do the color correction, not yCMS. I called it 'Photoshop' because the Rec. 709 profile is in bundle with Photoshop, but Photoshop actually did nothing, I just applied a profile to the image and I did no conversion at all! (well, except for the ProPhoto conversion, but I had to do it just because I put images with different color spaces into one single image). Is the image viewer you use which really does the color management!

yCMS:
As I see it in MPC-HC with 3dlut on. 3dlut is enabled and I assign my monitor's profile, you will see it as I see it on my monitor. If I don't apply any profile at all, I will still see it in the same way, but *YOU* will see it in a different manner, like if you are actually playing the same movie with MPC-HC and 3dlut on using the same "HD - PC.3dlut" file I use!

To judge the images your monitor has to be profiled, but you can use whatever image viewer which supports color managemet! Even firefox is right, but be aware that you may see some banding because it sucks. Just ignore them
darkbasic is offline   Reply With Quote
Old 2nd November 2010, 20:43   #18  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Neither my monitor nor projector are profiled. And I don't have Photoshop.
madshi is offline   Reply With Quote
Old 2nd November 2010, 21:07   #19  |  Link
darkbasic
Registered User
 
Join Date: Nov 2007
Posts: 57
You definitively need a profiled monitor. I will wait for yesgrey, thank you very much.
darkbasic is offline   Reply With Quote
Old 2nd November 2010, 21:56   #20  |  Link
darkbasic
Registered User
 
Join Date: Nov 2007
Posts: 57
For comparison here is what I obtain with MPC-HC embedded color management:
http://darkbasic.homelinux.com/images/mpchc1.png
http://darkbasic.homelinux.com/images/mpchc2.png

The result is stunning, I just can't see any difference, except for the dark patches of course (I filed a bug: https://sourceforge.net/apps/trac/mpc-hc/ticket/881)
The difference may be huge in dark scenes: http://darkbasic.homelinux.com/image...-photoshop.png

Here are the .psd files, if someone wants to play enabling/disabling layers or layer masks:
http://darkbasic.homelinux.com/images/mpchc1.psd
http://darkbasic.homelinux.com/images/mpchc2.psd

Unfortunately it doesn't support madVR renderer :-(

Last edited by darkbasic; 3rd November 2010 at 01:07.
darkbasic is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 01:19.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.