[cairo] RFC: More accurate color conversion
James Cloos
cloos at jhcloos.com
Thu Oct 10 15:30:54 PDT 2013
>>>>> "SS" == Søren Sandmann <sandmann at cs.au.dk> writes:
SS> There are two functions being talked about here:
Of course.
SS> f: uint16_t -> double
SS> and
SS> g: double -> uint16_t
SS> When you say "multiply (with saturation) by IMAX+1 and divide by IMAX"
SS> I assume you mean
SS> f(i) = i / 65535.0
SS> and
SS> g(x) = MAX (x * 65536, 65535.0)
The latter of course should be MAX(0.,MAX(x*65536.,65535.)).
Saturation works both ways. ;^)
SS> which is indeed what cairo does now.
As I write.
SS> I think everyone agrees that
SS> f(i) = i / 65535.0
SS> is the right choice for f,
At the time there were some who did not. I'm glad that is in the past.
SS> but for g, I am proposing a different formula.
I noticed.
SS> that as argued elsewhere has less error.
I didn't add an argument for the status quo because my post in this
thread was more of a devil's advocate and I wanted to think about it
some more.
Equal-size-intervals is of course why I concluded as I did back then.
Your argument is interesting.
-JimC
--
James Cloos <cloos at jhcloos.com> OpenPGP: 1024D/ED7DAEA6
More information about the cairo
mailing list