GEGL Feature List
- 
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). 
 
- 
- 
Operations - 
PNG, JPEG, SVG, EXR, RAW, ffmpeg, v4l and other image sources. 
- 
SVG filter modes and full set of compositing ops from SVG-1.2 draft. 
- 
Gaussian blur, bilateral-filter, symmetric nearest neighbour, linear 
- 
blur, unsharp mask, pixelize and more. 
- 
Text rendering using cairo and pango. 
- 
HDR exposure merging and tone mapping operations. 
- 
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)