Quoting Anders Torger <tor...@ludd.ltu.se>:

Hello,
> with the gamma curve specified as an array of numbers

That's the whole point. If the gamma is specified as an array of 16  
bits numbers, then the interpolation happens in 16 bits. This is  
because the profile, not the CMM. In fact, if the profile  uses  
multiprofile elements and a table of floats, then the interpolation  
happens in float precision.

I would recommend to use modern (V4) profiles, with parametric curves  
or much better with multiprofile elements. This runs well in unbounded  
mode.


Regards
Marti

> Hello,
>
> I'm one of the developers of RawTherapee, a photo editing software with
> a floating point engine and which uses lcms2 for color management.
>
> Recently I discovered that when making a transform from float to float
> (or float to 16 bit) using a basic icc with the gamma curve secified as
> an array of numbers the output contains fewer distinct values than the
> input. If the gamma is specified with a single number (ie pow(x,
> g/256)) but otherwise the same icc (not LUT, just matrix) the output
> is the expected, ie about the same amount of distinct numbers as the
> input.
>
> Thus there is some precision lost in the curve interpolation code.
>
> If I've managed to navigate the code correctly it happens in
> cmsEvalToneCurveFloat() where a 16 bit integer path is taken despite
> it's perfectly possible to make a floating point interpolation.
>
> As we want to maintain precision with widely used legacy icc files we'd
> like to see this fixed.
>
> /Anders Torger
> ------------------------------------------------------------------------------
> Shape the Mobile Experience: Free Subscription
> Software experts and developers: Be at the forefront of tech innovation.
> Intel(R) Software Adrenaline delivers strategic insight and game-changing
> conversations that shape the rapidly evolving mobile landscape. Sign up now.
> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
> _______________________________________________
> Lcms-user mailing list
> Lcms-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lcms-user



------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to