Re: [Lcms-user] Lcms2-2.4 release candidate - feedback
An ICC-based CMM for color management
Brought to you by:
mm2
|
From: Marti M. <mar...@li...> - 2012-08-31 15:46:39
|
Hi Mark, I've tried to reproduce the bug, but with no success...
That is the code I've been checking. Could please verify this is what
you reported failing?
Thanks,
Marti
/*
Bug reported
1)
sRGB built-in V4.3 -> Lab identity built-in V4.3
Flags: "cmsFLAGS_NOCACHE", "cmsFLAGS_NOOPTIMIZE"
Input format: TYPE_RGBA_FLT
Output format: TYPE_LabA_FLT
2) and back
Lab identity built-in V4.3 -> sRGB built-in V4.3
Flags: "cmsFLAGS_NOCACHE", "cmsFLAGS_NOOPTIMIZE"
Input format: TYPE_LabA_FLT
Output format: TYPE_RGBA_FLT
*/
static
cmsInt32Number ChecksRGB2LabFLT(void)
{
cmsHPROFILE hSRGB = cmsCreate_sRGBProfile();
cmsHPROFILE hLab = cmsCreateLab4Profile(NULL);
cmsHTRANSFORM xform1 = cmsCreateTransform(hSRGB, TYPE_RGBA_FLT,
hLab, TYPE_LabA_FLT, 0, cmsFLAGS_NOCACHE|cmsFLAGS_NOOPTIMIZE);
cmsHTRANSFORM xform2 = cmsCreateTransform(hLab, TYPE_LabA_FLT,
hSRGB, TYPE_RGBA_FLT, 0, cmsFLAGS_NOCACHE|cmsFLAGS_NOOPTIMIZE);
cmsFloat32Number RGBA1[4], RGBA2[4], LabA[4];
int i;
for (i = 0; i <= 100; i++)
{
RGBA1[0] = i / 100.0F;
RGBA1[1] = i / 100.0F;
RGBA1[2] = i / 100.0F;
RGBA1[3] = 0;
cmsDoTransform(xform1, RGBA1, LabA, 1);
cmsDoTransform(xform2, LabA, RGBA2, 1);
if (!IsGoodVal("Float RGB->RGB", RGBA1[0], RGBA2[0],
FLOAT_PRECISSION) ||
!IsGoodVal("Float RGB->RGB", RGBA1[1], RGBA2[1],
FLOAT_PRECISSION) ||
!IsGoodVal("Float RGB->RGB", RGBA1[2], RGBA2[2],
FLOAT_PRECISSION))
return 0;
}
cmsDeleteTransform(xform1);
cmsDeleteTransform(xform2);
cmsCloseProfile(hSRGB);
cmsCloseProfile(hLab);
return 1;
}
El 24/08/2012 12:45, Mark escribió:
> Hello,
>
> I am working at a set of Cocoa Wrappers for LCMS. I started some
> months ago with lcms2 2.1.
> Just updated to lcms2 2.4rc1. Nice. I see some matrix shader transform
> bugs where solved in the meantime.
>
> I have around 10 tests involving transformation from sRGB to LAB / XYZ
> / some other profile and back, with different bit depths and flags.
>
> All my tests, but one, run fine with 2.4rc1:
>
> 1)
> sRGB built-in V4.3 -> Lab identity built-in V4.3
> Flags: "cmsFLAGS_NOCACHE", "cmsFLAGS_NOOPTIMIZE"
> Input format: TYPE_RGBA_FLT
> Output format: TYPE_LabA_FLT
>
> 2) and back
> Lab identity built-in V4.3 -> sRGB built-in V4.3
> Flags: "cmsFLAGS_NOCACHE", "cmsFLAGS_NOOPTIMIZE"
> Input format: TYPE_LabA_FLT
> Output format: TYPE_RGBA_FLT
>
> 3)
> save resulting RGBA float image.
>
> The image is corrupted. Sample attached.
>
>
> Thx for this terrific library.
>
> Kind regards
> Mark
|