Description
babl is a dynamic, any to any, pixel format translation library.
Babl 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.
The simplest scenario for using babl is converting between linear buffers represented by an existing BablPixelFormat.
babl_process (babl_fish (babl_format ("srgb"), babl_format ("CIE Lab float")),
srgb_buffer, lab_buffer,
pixel_count);
If the existing pixel formats are not sufficient for your conversion needs, new ones can be created on the fly. The constructor will provide the prior created one if duplicates are registered.
format = babl_format_new (babl_model ("R'G'B'"),
babl_type ("u8"),
babl_component ("B'"),
babl_component ("G'"),
babl_component ("R'"),
NULL);
babl_process (babl_fish (source_format, destination_format),
source_buffer, destination_buffer,
pixel_count);
User Reviews for Babl FOR LINUX 1
-
Babl FOR LINUX offers a powerful library for pixel format translation, allowing easy conversion between different pixel representations and color models.