Re: [Lcms-user] First experiments with LCMS2
An ICC-based CMM for color management
Brought to you by:
mm2
From: <Mar...@li...> - 2019-10-03 09:03:53
|
> When looking at the resulting input profile in ICC Profile Inspector I see > that the resulting profile is a version-2.4 profile (as requested) with > linear (out = in) input and output channels (consisting of 2 points each, 0 > and 65535), which is fine. > > But the value of the first CLUT entry (for CMYK = (0, 0, 0, 0)) is equal to > (65535, 32896, 32896), which is the version-4 encoding for Lab (100, 0, 0). > > It should have been (65280, 32768, 32768) which is the version-2 encoding > for Lab = (100, 0, 0). Hi, thanks for reporting. This is actually a bug, which I have already fixed in github. If you want to modify your sources directly, in cmsvirt.c, you need to add this: if ((xform ->ExitColorSpace) == cmsSigLabData && (Version < 4.0)) { dwFlags |= cmsFLAGS_NOWHITEONWHITEFIXUP; if (!cmsPipelineInsertStage(LUT, cmsAT_END, _cmsStageAllocLabV4ToV2(ContextID))) goto Error; Which fixes this special case. Regarding the other case you report, media white, the code has no idea on which is the media white point when you are building input profiles by chaining. Actually it takes it from the first profile, which seems reasonable in many cases. On the other hand, many V2 devicelink profiles does not use any media white at all, so if you use a devicelink as the first profile you probably will end in D50 as media white. In V4 workflows, this is not so terrible at all, since media white is not used anymore, even V4 absolute colorimetric is assuming fully adapted observers. Best regards Marti |