OpenColorIO icon indicating copy to clipboard operation
OpenColorIO copied to clipboard

Support for ICC Parametric curves type 1-4

Open remia opened this issue 1 year ago • 0 comments

Address issue #1623 by supporting ICC Parametric Curve type 1-4 implemented as 1DLUT. I used a side-car python script during my tests to compare the results against pure Python or DemoICCMax. Opening that now to allow time for discussion.

  • Size of the 1DLUT is currently 1024, increasing that was decreasing the match against the pure Python implementation, I have a feeling this is related to inversion and flat slopes,
  • Follows ICC white paper recommendations on parameters validation, there are no unit tests validating all possible failure case at the moment,
  • Added a RangeTransform on the pure exponent path to follow ICC specs more closely. Unit tests sample updated using directly OCIO results for the case where clipping changed the expected values as I don't know exactly how the values were obtained,
  • As before, all the TRC tags in the profile should be of the same type, the individual parameters can vary among red, green and blue but the function type should match.

remia avatar Sep 27 '22 18:09 remia