Ok, I was afraid that this would be the response. People are using legacy icc profiles all the time so having poor support for them is not really a great idea, at least not for our project. As a first step we can implement matrix shaper conversions ourselves though as it's quite easy to do, but it would be great if we could get floating point support throughout *including* legacy icc profiles.
/Anders On 11/24/2013 01:25:34 AM, marti.ma...@littlecms.com wrote: > > 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