Hy,
I am struggling with the CIECAM02 view condition parameters and I think I
could use some help.
The software is Media Player Classic - Home Cinema
It has 4 Ambient Light presets: Bright, Office, Dim, Dark. They need some
values for their CIECAM02 view condition parameters.
The input TRC which I would like to scale is the Rec709 Encode curve.
(I already made the lcms plugin for this curve and implemented the CIECAM02
scaling. I only need proper values...)
The problem is that the results should match with ArgyllCMS/dispcal when you
calibrate your display with the Rec709 curve and you set an ambient light
value for the CIECAM02 scaling. (I wouldn't need help otherwise, and I could
guess some values myself...)
I asked Graeme about it and he suggested me to examine the ArgyllCMS source
code, but:
- That's huge (thousands of lines and there are no MSVC solution/project
files to make it easier for me...).
- I think his CIECAM02 method (at least this part) is somehow different than
I can do with lcms.
I had no problem with setting up the white point parameters. (D50 for both,
but it doesn't really matter with my current solution.)
I used the studio luminance values from dispcal.c:
const double luxtocdm = 3.1415;
vc1.Yb = 20; vc1.La = 200/luxtocdm;
And I set up the presets like this (there were some iterations, so this is
only an example how it looks right now...)
case AMBIENT_LIGHT_BRIGHT: vc2.surround = 1; vc2.Yb = 20; vc2.La =
96/luxtocdm;
case AMBIENT_LIGHT_OFFICE: vc2.surround = 2; vc2.Yb = 12; vc2.La =
64/luxtocdm;
case AMBIENT_LIGHT_DIM: vc2.surround = 2; vc2.Yb = 8; vc2.La =
32/luxtocdm;
case AMBIENT_LIGHT_DARK: vc2.surround = 3; vc2.Yb = 4; vc2.La =
12/luxtocdm;
Practical problems:
There are no surround presets (to set F, c, Nc) in ArgyllCMS (at least I
didn't find them yet).
ArgyllCMS uses fixed Yb = Sr = 20% while the wikipedia article suggests that
I should set the Yb value (between 0% and 20%) together with F, c, Nc (if I
don't know more about the view conditions and I don't...)
feel like I am missing or mixing up something here.
So, do you think it is possible to match with ArgyllCMS?
How can I figure out the correct values then? (More easily than studying the
ArgyllCMS source code for days.)
It would be important for the users who believe that they should use the
Inverse-Encode curve for decoding and they calibrate their displays with
ArgyllCMS/dispcal, using the Rec709 curve as a target (with the CIECAM02
scaling), so they won't loose to much shades during the corrections. (And
they are used to the ArgyllCMS result anyway.)
You can find the full source code package of my current test version here:
http://www.mediafire.com/?lx77prqy1ylb67b
The whole CMS stuff is located in:
Solution root / Filters / Renderer / VideoRenderers / Source Files /
D3D9RenderingEngine.ccp / HRESULT CDX9RenderingEngine::InitFinalPass()
Jump to Line 1045 for the CIECAM02 parameters.
------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user