[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [Openexr-devel] RE: proposed standard for .exr linear float fileexch
From: |
Haarm-Pieter Duiker |
Subject: |
RE: [Openexr-devel] RE: proposed standard for .exr linear float fileexchange/filmout |
Date: |
Thu, 10 Jun 2004 10:48:23 -0700 |
Hello Kevin,
> -----Original Message-----
> From: Kevin Wheatley [mailto:address@hidden
>
> Haarm-Pieter Duiker wrote:
> > xLin /= pdxWhiteReferenceLinear;
> >
> > if ( pdxBlackPoint != 0.0 )
> > {
> > xLin = xLin*(whiteLin - blackLin) + blackLin;
> > }
> > xLog = log10( xLin )
> pdxNegativeGamma/pdxDensityPerCodeValue + pdxWhiteReference;
>
> So in case anybody asks why the 'if' in our original, it comes from
> being bitten by peopl assuming floating point maths in CPUs has
> infinite precision whan it doesn't, we've seen examples where the
> 'defaults' don't work if you assume they are unchainging (e.g.
> NVidia's control panel gamma settings for a start :-), it is kind of
> an implementation detail, but I'd suggest anything that should be
> unity at a particular setting should be skipped rather than calulated.
The equations as I presented them were broken out for clarity more than
anything else. Adding a "* pdxWhiteReferenceLinear" to the blackLin, whiteLin,
xLin, and if( pdxBlackPoint != 0.0 ) xLin statements would have the same effect
and presumably present one less opportunity for quantization.
I haven't worked in a half-float pipeline but can say for sure that this small
modifications has never degraded image quality in any way in a full float
pipeline. Until your email, I had never ever considered the possibility. Could
you elaborate a little bit more about the situations in which that might take
place?
Another point not to be missed is that the value isn't one that "should be
unity" in all cases. We put much effort into building a pipeline that could
make full use of the parameters presented in the Cineon log lin equation.
You'll find pretty quickly that with the standard equation if you change the
nGammas you'll change exposure on top of changing contrast. This is what we
found we could avoid by having the parameter. Given that most people won't be
changing the defaults, adding pdxWhiteReferenceLinear with default values of
(1, 1, 1, 1) will be invisible, add what I would hope was a minimum of
computational overhead, and provide an important additional functionality for
those not planning on using the defaults.
> Of course the real idea would be to hide this transform into the
> OpenEXR distribution somewhere so everybody does the same.
Is this not what you were proposing?
Regards,
Haarm-Pieter Duiker
ESC Entertainment
Research and Development
address@hidden 510 749 7343
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RE: [Openexr-devel] RE: proposed standard for .exr linear float fileexchange/filmout,
Haarm-Pieter Duiker <=