On 01/23/2014 08:26 AM, Graeme Gill wrote:
Elle Stone wrote: You probably need to look at the code to see if LCMS2 is actually using the quantized chad internally.
I don't think it does.
You are right, for sRGB it makes no difference, both ways produce the same pre-quantized primaries. But AdobeRGBcompatible prequantized primaries need to be calculated using the unquantized chromatic adaptation matrix.The inverse chad matrix times your quantized adapted primaries from the modified sRGB.icm profile produces these "pre-quantized" unadapted sRGB primaries: red: 0.412386137 0.212595245 0.019302145 green: 0.357571891 0.715199438 0.119205222 blue: 0.180498857 0.072204328 0.950539645Yep, that should work, although (as a consequence of above) you should use the inverse of the full precision chromatic matrix.
Is there sample code showing how to use Argyllcms/ICCLib to make quantized RGB working space profiles? I found lutest.c, which I've been working on modifying, but modifying it is not easy! and getting the modified code to produce a profile requires recompiling everything with jam.I looked at the quantizeRGBprimsS15Fixed16 function in your icc.c source code. That's really cool and greatly, greatly appreciated that your profile-making code deals with quantization issues.
A sharp-eyed reader of one of the articles on my website realized that the Argyllcms sRGB.icm had changed and wrote to me about it. I doubt I would have ever noticed on my own that the Argyllcms 1.6.0 and 1.6.1 sRGB/AdobeRGB profiles didn't match.It does, only because you drew attention to the problem with a specific example.
Elle