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. 
 
- 
- 
- 
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)