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

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to