I've been testing some floating point monitor profiles, and I think I have 
found a couple of bugs in the floating point sampled curve support in the 
latest lcms

cmsBuildTabulatedCurveFloat builds a curve which always evaluates to 0 for a 
value of 0.  I have changed it to use a constant segment which matches the 
first sample  for values <= 0, and also added a similar segment matching the 
last sample for values > 1.0 (the ICC spec says that the first and last 
segments in a segmented curve should be function segments).

EvalSegmentedFN gives the wrong result when evaluating a sampled segment where 
x1 - x0 is not 1.0

I have also added tests to testcms.c to verify the changes.

Suggested patches attached....

(apologies if this turns out to be a duplicate: I sent it to the list request 
address by mistake)

- Paul

Attachment: 0001-cmsBuildTabulatedToneCurveFloat-fix.patch
Description: Binary data

Attachment: 0002-EvalSegmentedFn.patch
Description: Binary data

Attachment: 0003-Added-tests-for-segmented-curve-patches.patch
Description: Binary data

------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to