babl is a dynamic, any to any, pixel format translation library.
It allows converting between different methods of storing pixels known as pixel formats that have with different bitdepths and other data representations, color models and component permutations.
A vocabulary to formulate new pixel formats from existing primitives is provided as well as the framework to add new color models and data types.
Stable, small API.
Self profiling and optimizing.
ANSI C, works on win32, linux and mac, 32bit and 64bit systems.
Extendable with new formats, color models, components and datatypes.
Reference 64bit floating point conversions for datatypes and color models.