GEGL image processing
-
Floating point handling and processing and output of larger 8bit, 16bit integer and 32bit floating point per component buffers larger than RAM.
-
C based, object oriented API with introspection support for dynamic languages like python, ruby, javascript and php.
-
Processing
-
Iterative chunk-wise processing.
-
Processes subregions and dependencies.
-
Subgraph caches to aid performance of non-destructive editing.
-
Multi-threaded processing.
-
OpenCL acceleration, capable of hybrid cpu/gpu processing.
-
Experimental mipmap preview rendering, do zoomed out preview rendering touching only 25% 6.25% of the pixels.
-
-
GeglBuffer
-
Storage of all babl supported formats.
-
Sparse swapped buffers (larger than RAM images).
-
linear buffers (allocated internally or from external allocation).
-
On demand tiled mipmapping.
-
Thread-safe reading/writing.
-
External tile-backends (allow wrapping other tiled buffer systems to use them through the GeglBuffer API).
-
Most operations operate in scRGB (using 32bit floating point/HDR linear light RGBA), operations use babl formats to specify whether data should be linearized for processing.
-
-
Bounding box based hit detection.
-
XML serialization format (not-finalized)