Copyright © 2002 by Digital Domain and Bill Spitzak. Feel free to copy or reference these pages in your own documentation, provided you preserve the copyright notice and authorship information. The source code is under the General Public License (GPL), but it is also available under other licensing terms if you desire. Please contact Digital Domain if you wish to use it under a different license.
My paper describes a method I have developed at Digital Domain to accurately and quickly convert between "linear floating point" and the more common "sRGB bytes" representations of the images. The method is simple and fast. It uses dithering to avoid posterizing, and can be implemented in hardware.
But it appears that there is still a need to explain exactly
what these terms mean, and why this conversion is desirable. Click on each
of these chapters to read my attempts to explain this rather simple,
but for some reason very confusing, subject:
What is Linear Floating Point?
Why Calculate in Linear Floating Point?
Okay, now it is finally time to talk about my algorithim:
sketches_0265.pdf - My Siggraph sketch on the linear <-> sRGB algorithm.
Function plots showing the accuracy of this algorithm.
conversion.h - Declarations for sample source code.
conversion.c - Sample source code.