NEWS 18.6 KB
Newer Older
1
                 ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
2
                 GEGL - an image processing framework
3
                 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
Øyvind "pippin" Kolås's avatar
Øyvind "pippin" Kolås committed
4

5 6 7 8 9 10 11 12 13 14 15
Changes in GEGL 0.3.4
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • build: do not install examples in path
 • ff-save fully store all in-flight codec contexts before closing files
 • ff-load improvements to seeking accuracy
 • transform: make fast paths skip pixel format conversions

Contributions from:

 Øyvind Kolås, Debarshi Ray and Nils Philippsen

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Changes in GEGL 0.3.2
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Operations:
   • new operations: libraw based raw loading op, tiff-save and tif-load, maze, sepia
   • ff-load and ff-save revived, with support from thegrid.io
   • apply-lens uses less memory, higher precision computation.
   • disable automatic threading on many ops where it fails
   • force more operations to prefer operating on linear RGB data for more
     accurate/physical processing.
 • Buffer:
   • implement abyss paremeter on gegl_buffer_copy and gegl_buffer_blit
 • Added start of a microraptor gui based image viewer/non destructive editor.
 • Optimizations to scaled blitting (speeds up most GEGL UIs a bit)

Contributions from:

 Alexandre Prokoudine, André Tupinambá, Claude Paroz, Daniel Mustieles,
33
 Debarshi Ray, Dimitris Spingos, Elle Stone, Jehan, Jordi Mas, Marco Ciampa,
34 35
 Martin Blanchard, Martin Srebotnjak, Massimo Valentini, Michael Henning,
 Michael Natterer, Necdet Yücel, Pedro Albuquerque, Piotr Drąg, Roman Lebedev,
Øyvind "pippin" Kolås's avatar
Øyvind "pippin" Kolås committed
36
 Sven Neummann, Thomas Manni, Vilson Vieira, akash akya and Øyvind Kolås.
37 38 39 40



Changes in GEGL 0.3.0
41 42
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Improvements to thread safety and parallelism.
43
 • Lower overhead graph travesal due from rewrite of visitors
44 45 46 47 48 49
 • OpenCL support now enabled by default when detected.
 • Experimental multithreading, enable by setting
   GEGL_THREADS=<number of threads> in the environment.
 • Experimental mipmap rendering, which permits transparent rendering of
   previews on smaller sized versions, enable by setting
   GEGL_MIPMAP_RENDERING=true in the environment.
50
 • Operations: 
51 52 53 54 55 56 57 58 59 60 61 62 63 64
   • new operations: alien-map, antialias, apply-lens, bilateral-filter,
     bump.map, cartoon, channel-mixer, color-enhance, color-exchange,
     color-reduction, color-rotate, convolution-matrix, copy-buffer, cubism,
     deinterlace, diffraction-patterns, distance-transform, displace, edge,
     emboss, engrave, exposure, fractal-trace, high-pass, image-compare,
     illusion, invert-gamma, lens-flare, linear, linear-gradient, mosaic,
     motion-blur-circular, motion-blur-zoom, noise-cell noise-cie-lch,
     noise-hsv, noise-hurl, noise-pick, noise-rgb, noise-simplex, noise-spread,
     n-point deformation ops, oilify, panorama-projection, photocopy, plasma,
     radial-gradient, red-eye-removal, scale-size-keep-aspect, softglow,
     stretch-contrast, texturize-canvas, tile-glass, tile-seamless, tile-paper,
     tile, warp, whirl-pinch, wind, cache, cast-format, lcms-from-profile,
     npy-save, webp-load, webp-save, scale-ratio, scale-size, seamless-clone,
     sinus, supernova, value-propagate, video-degradation
65 66 67 68
   • reimplementation of gaussian-blur faster and more accurate
   • support for using URIs in image loaders
 • Buffer:
   • New default tile backend, doing disk writes in a separate thread.
69 70 71

Contributions from: 

72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
  Albert F, Alexandre Prokoudine, Alexia Death, Akash Akya, Anders Jonsson,
  Andika Triwidada, Andreas Fischer, Angh, Awaw Fumin, Barak Itkin, Bruce
  Cowan, Carlos Zubieta, Cédric Valmary, Chris Leonard, Christian Kirbach,
  Clayton Walker, Daniel Mustieles, Daniel Nylander, Daniel Sabo, Debarshi Ray,
  Denis Knoepfle, Dimitris Papavasiliou, Dimitris Spingos, Djavan Fagundes, Dov
  Grobgeld, Elle Stone, Enrico Nicoletto, Felix Ulber, Florian Klemme,
  Francisco Vila, Fran Diéguez, Georges Basile Stavracas Neto, Hans Lo, Harald
  Korneliussen, Hartmut Kuhse, Inaki Larranaga Murgoitio, Isaac Wagner, Jan
  Vesely, Jan Vesely, Jehan, Jon Nordby, Jordi Mas, Kalev Lember, Kristjan
  Schmidt, Marco Ciampa, Marek Dvoroznak, Maria Mavridou, Martijn van Beers,
  Martin Nordholts, Martin Srebotnjak, Massimo Valentini, Matej Urbančič,
  Maxime Nicco, Michael Henning, Michael Muré, Michael Natterer, Mikael
  Magnusson, Miroslav Talasek, Muhammet Kara, Mukund Sivaraman, Nana Chery,
  Nick Black, Nicolas Robidoux, Nils Philippsen, Norm Murray, Pascal Giessler,
  Piotr Drąg, Quentin Glidic, Rafael Ferreira, Rasmus, RPG, Rūdolfs Mazurs,
  Samir Ribic, Samuel Pitoiset, sebul, Simon Budig, Sven Claussner, Téo Mazars,
  Thomas Manni, Tim Lunn, Tim Mooney, Ting-Wei Lan, Tom Stellard, Ulf-D.
  Ehlert, Vadim Rutkovsky, Victor Oliveira, Ville Sokk, Vincent Untz, Yongjia
  Zhang, Yongjia Zhang, Øyvind Kolås and 周 周.
91

92 93 94 95 96 97 98 99 100 101 102 103
Changes in GEGL 0.2.0
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • OpenCL support
 • build improvements.
 • High level API to apply ops directly to buffers with arguments.
 • Final bits of translation infrastructure.
 • Invalidate regions when disconnecting input pads.

 • Operations:
   • New operation: global-matting
   • Allow transform core to do perspective transforms.
   • Added string based key/value pairs to operations.
Michael Muré's avatar
Michael Muré committed
104
   • Added arguments for dealing with scaled down preview rendering.
105 106 107 108
 • Added human interaction ranges and non-linear mapping to properties.

 • Buffer:
   • Removed broken lanczos sampler.
Michael Muré's avatar
Michael Muré committed
109
   • Add gegl_buffer_set_color and gegl_buffer_set_pattern
110 111 112 113 114 115 116 117
   • Added ability to drop cached tiles.
   • Added API for handling abyss policy (not implemented yet)
   • Avoid iterating global tile cache when flushing/destroying buffers
     that have no tiles in the cache.

Contributions from:

Øyvind Kolås, Martin Nordholts, Hans Petter Jansson, Mikael Magnusson, Victor
118
Oliveira, Nils Philippsen, Kevin Cozens, Michael Muré, Jan Rüegg, Michael
119
Natterer, Michael Henning, Massimo Valentini, Alexandre Prokoudine and
120
Jon Nordby.
121

Øyvind "pippin" Kolås's avatar
Øyvind "pippin" Kolås committed
122 123 124 125 126 127 128 129 130 131 132
Changes in GEGL 0.1.8
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • New operations: spread, vignette, map-relative, noise-reduction, plasma,
     fractal-trace, exr-save, lens-correct, emboss, cubism, ripple,
     color-to-alpha, color-rotate, red-eye-removal, convolution-matrix,
     deinterlace, polar-coordinates, lens-distortion, pixelise.

 • Split GeglView GTK Widget into separate utility library

 • build/test improvements.
 • Buffer:
133
   • Added lohalo resampler, API and infrastructure for doing non-
Øyvind "pippin" Kolås's avatar
Øyvind "pippin" Kolås committed
134 135 136 137 138
     affine resamplings.

Contributions from:

Øyvind Kolås, Michael Natterer, Barak Itkin, Nils Philippsen, Mukund Sivaraman,
139 140 141 142
Jon Nordby, Emilio Pozuelo Monfort, Étienne Bersac, Martin Nordholts,
Victor Oliveira, Michael Muré, Michael Schumacher, Adam Turcotte,
Nicolas Robidoux, Robert Sasu, Massimo Valentini, Joao S. O. Bueno,
Hans Lo, Zbigniew Chyla, David Evans and Javier Jardón.
Øyvind "pippin" Kolås's avatar
Øyvind "pippin" Kolås committed
143 144


145 146
Changes in GEGL 0.1.6
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
Øyvind "pippin" Kolås's avatar
Øyvind "pippin" Kolås committed
147 148
 • New operations: max-rgb, pixelise, motion blur.

149
 • Fixed a bug in matting-levin that made GEGL halt due to errors
150
   detected by babl sanity code, this made 0.1.4 be unusable if you had
151
   all dependendencies when building.
152 153 154 155 156 157 158 159 160
 • build/test improvements.
 • Buffer:
     Added API to use external tile backends, allowing to plug-in alien
     tilebackends, for GIMP/Krita/OSM or similar.

Contributions from:

Tobias Ellinghaus, Øyvind Kolås, Barak Itkin and Martin Nordholts

161 162 163 164 165 166 167 168
Changes in GEGL 0.1.4
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Operations:
     save (chooses delegate save op automatically)
     rgbe load/save
     jpeg200 load/save
     ppm load/save
     map-absolute (GIMP cage tool gsoc helper op)
169 170 171
     whirl and pinch
     mirrors
     grid render
172 173
     fixed imagemagick fallback load op
     fixed pipe based dcraw wrapper
Martin Nordholts's avatar
Martin Nordholts committed
174
     GSoC 2010 ops: exp-combine, reinhard05, fattal02, mantiuk06, matting-levin
175
 • Various source and build improvements.
176
 • improvements towards threaded rendering
177 178
 • Buffer:
     refactored away some constant overhead
Martin Nordholts's avatar
Martin Nordholts committed
179
     made GeglBufferIterator API public
180 181 182

Contributions from:

Martin Nordholts's avatar
Martin Nordholts committed
183 184 185
Michael Natterer, Øyvind Kolås, Vincent Untz, Kaja Liiv, Nils
Philippsen, Étienne Bersac, Martin Nordholts, Debarshi Ray, Danny
Robson, Stuart Axon, Kao, Mukund Sivaraman, Ruben Vermeersch, Barak
186
Itkin, Michael Muré, Mikael Magnusson, Patrick Horgan and Andy Gill.
187

188 189 190 191 192 193
Changes in GEGL 0.1.2
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • GeglLookup, configurable floating point lookup tables for lazy computation.
 • Use GFileIOStream in GeglTileBackendFile.
 • Optimizations: in-place processing for point filters/composers,
     SIMD version of gegl:opacity, avoid making unneccesary sub-buffers,
194
     removed some manual instrumentation from critical paths, improved
195 196 197
     speed of samplers.
 • Added xml composition/reference image based regression tests.
 • Added performance tracking framework.
198
 • Syntactic sugar using varargs for constructing gegl graphs from C.
Michael Muré's avatar
Michael Muré committed
199
 • Build fixes on cygwin,
200
 • Gegl# fixes.
201
 • Initial, but unstable code towards multithreading.
202
 • Improvements to lua op in workshop.
203 204
 • Added new resamplers upsize, upsharp, upsmooth, downsize, downsharp and
   downsmooth.
205 206 207 208 209
 • Removed gegl:tonemap and gegl:normal ops.

Contributions from:
  Martin Nordholts, Sven Neumann, Nils Philippsen, Adam Turcotte,
  Danny Robson, Michael Schumacher, Ruben Vermeersch, Øyvind Kolås,
210 211
  Javier Jardón, Yaakov Selkowitz and Michael Natterer, Kaja Liiv
  and Eric Daoust.
212

213 214 215 216 217
Changes in GEGL 0.1.0
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Renamed gegl:load-buffer to gegl:buffer-source and gegl:save-buffer
   to gegl:buffer-sink (but the old names still work)
 • Represent colors using doubles instead of floats (this change is
Sven Neumann's avatar
Sven Neumann committed
218 219 220 221
   independent from internal processing)
 • Removed the GTK+ UI parts of the gegl binary and turned gegl into a
   pure command line tool (which can still visualize stuff with help
   help the SDL based display operation)
222
 • Consider {x=G_MININT/2, y=G_MININT/2, width=G_MAXINT, height=G_MAXINT}
223
   as the only valid region in which processing may occur. Processing
224 225
   outside of this region is undefined behaviour.
 • Added support for storing allocation stack traces for GeglBuffers
226
   so that debugging buffer leaks becomes much easier
227 228 229 230 231 232 233 234
 • Made small changes and cleanups of the public API, e.g.
   • Removed gegl_node_adapt_child()
   • Made GeglConfig an explicit object
   • Removed most of the ifdeffed stuff to mask away internal
     structures
   • Added gegl_rectangle_infinite_plane() and
     gegl_rectangle_is_infinite_plane()
 • Added new sampler GeglSamplerSharp
235
 • Added format property to gegl:buffer-sink
236
 • Cleaned up and made gegl:introspect work again
237
 • Add a bunch of test cases using the automake test system (make check)
Sven Neumann's avatar
Sven Neumann committed
238
   and also port buffer tests to automake
239 240
 • General cleanups, bug fixes, increased robustness and improved
   documentation
241

242
Contributions from:
243 244 245 246 247 248
  Øyvind Kolås, Sven Neumann, Étienne Bersac, Hubert Figuiere, Martin
  Nordholts, Nicolas Robidoux, Michael Natterer, Ruben Vermeersch,
  Kevin Cozens, Manish Singh, Gary V. Vaughan, James Legg,
  Henrik Åkesson, Fryderyk Dziarmagowski, Ozan Caglayan and
  Tobias Mueller.

249 250

Changes in GEGL 0.0.22
251 252
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • GeglOperation
Øyvind Kolås's avatar
Øyvind Kolås committed
253
   • operation names are now prefixed, the ops in GEGL use 'gegl:' as prefix.
254
   • gegl:opacity - combine value and aux mask input when both are available.
Øyvind Kolås's avatar
Øyvind Kolås committed
255 256
   • gegl:src-in - deal correctly with extens.
   • gegl:path - new op covering the stroke/fill needs of SVG.
257
   • deprecated gegl:shift, the affine family of operations now
Øyvind Kolås's avatar
Øyvind Kolås committed
258
     uses the same fast code paths for integer translations.
259 260
 • GeglBuffer
   • Profiling motivated speed ups in data reading/writing.
Øyvind Kolås's avatar
Øyvind Kolås committed
261 262 263 264 265 266 267
   • Remove left-over swapfiles from dead processes at startup.
 • GeglNode
   • made gegl_node_add_child and gegl_node_remove_child public API. (#507298)
 • GeglPath
   Vector path representation infrastructure, supporting poly lines and beziers
   by default, the infrastructure allows extensions from applications with
   other curve types (smooth curves, spiro curves and others.).
268 269

Contributions from:
Øyvind Kolås's avatar
Øyvind Kolås committed
270 271 272
  Hubert Figuiere, Sven Neumann, Øyvind Kolås, Michael Natterer,
  Kevin Cozens, Sam Hocevar, Martin Nordholts, Manish Singh,
  Étienne Bersac and Michael Schumacher.
273

274 275 276 277 278
Changes in GEGL 0.0.20
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Build and code clean ups and fixes.
 • RAW loader using libopenraw.
 • GeglBuffer
Øyvind Kolås's avatar
Øyvind Kolås committed
279 280
   • Linear buffer support, amongst other things enabling GeglBuffer API access
     to external linear buffers in memory.
281 282
   • Reworked samplers using a shared caching neighbourhood infrastructure.
   • YAFR - a new resampler contributed by Nicolas Robidoux.
Øyvind Kolås's avatar
Øyvind Kolås committed
283 284
 • GeglVector
   • Added SVG parsing capability (no serialisation yet).
285 286
 • GeglOperations
   • Marked user visible strings for translation.
Øyvind Kolås's avatar
Øyvind Kolås committed
287
   • Added a fill operation that renders a path.
288 289 290

Contributions from:
  Martin Nordholts, Øyvind Kolås, Sam Hocevar, Manish Singh, Hubert Figuiere,
291
  Sven Neumann and yahvuu at gmail.com.
292

Øyvind Kolås's avatar
Øyvind Kolås committed
293
Changes in GEGL 0.0.18
294
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
295 296
 • Configuration both from commandline arguments and at runtime.
 • GeglBuffer
297
   • New raw tiled raster file format, used both as swap and stored buffers.
Øyvind Kolås's avatar
Øyvind Kolås committed
298 299 300
   • Sharing between processes through synced swap.
   • Babl powered scan iteration infrastructure for efficient access.
   • Cubic and lanczos samplers re-enabled.
301
 • Operations
302 303
   • Use scan iterator for point-filter, point-composer and point-render base
     classes internally for minimal amount of copies.
304
   • Optimized variants of some point and compositing operations reimplemented
Øyvind Kolås's avatar
Øyvind Kolås committed
305
     using a new data type /g4float/ that allows writing CPU agnostic vectorized
306
     code for GCC.
Øyvind Kolås's avatar
Øyvind Kolås committed
307 308 309
   • New temporal filter base class, for operations operating on color values from
     neighbouring frames in a video stream.
   • Autogenerated operation reference installed for use with devhelp.
310 311 312 313
   • New operations: write-buffer, v4l, color-temperature.

Contributions from:
  Øyvind Kolås, Kevin Cozens, Sven Neumann, Manish Singh, Martin Nordholts,
Øyvind Kolås's avatar
Øyvind Kolås committed
314 315
  Étienne Bersac, Hans Petter Jansson, Jan Heller, dmacks@netspace.org,
  Sven Anders, Hubert Figuiere and Geert Jordaens.
316

317
Changes in GEGL 0.0.16
Øyvind Kolås's avatar
Øyvind Kolås committed
318
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
319
 • Install headers for development of external operation plug-ins.
Øyvind Kolås's avatar
Øyvind Kolås committed
320
 • Added rowstride argument to gegl_buffer_set ()
321
 • Made it possible for sink operations to do chunkwise processing
322
   through GeglProcessor.
Øyvind Kolås's avatar
Øyvind Kolås committed
323
   when processed using a GeglProcessor.
324
 • constification of GeglRectangles and babl formats.
325 326
 • Build and dist fixes, plugged annoying buffer leaks, GEGL now
   also works on OSX
Øyvind Kolås's avatar
Øyvind Kolås committed
327 328

Contributions from:
329
  Øyvind Kolås, Étienne Bersac, Kevin Cozens, Sven Neumann,
330
  Manish Singh, Michael Natterer, Hans Brauer, Deji Akingunola,
331
  Bradley Broom and Tor Lillqvist.
Øyvind Kolås's avatar
Øyvind Kolås committed
332

333 334 335 336 337
Changes in GEGL 0.0.14
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Relicensed under LGPLv3+.
 • Per node caches (faster recomputation when properties of nodes in
   composition change)
338
 • Sampler framework for interpolation.
339 340 341 342 343 344 345 346 347 348 349 350
 • Modified API for retrieving scaled buffers gegl_node_blit / gegl_buffer_get.
 • Renamed XML serialization and parsing API to be descendants of GeglNode.
 • Progress monitoring for GeglProcessor
 • New operation base class GeglOperationAreaFilter
 • API reference installed and browsable using devhelp.
 • New operations: ff-load, mono-mixer, contrast-curve, save-pixbuf,
   compositing ops from SVG-1.2 draft, value-invert, convert-format,
   bilateral-filter, snn-mean

Contributions from:
  Étienne Bersac, Kevin Cozens, Manish Singh, Mark Probst, Martin Nordholts,
  Michael Schumacher, Mukund Sivaraman, Shlomi Fish, Tor Lillqvist and
351
  Øyvind Kolås
352

353

354 355
Changes in GEGL 0.0.12
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
356 357 358 359 360 361 362 363 364 365 366 367 368 369
 • Swapping out of image pyramid.
 • Speedups to text rendering.
 • GEGL compiles on win32
 • GEGL_SWAP now specifies swapdir location.
 • Small refactorings of public API.
 • Changed the XML parser/serializer to not use attributes for node properties.
 • Improvements to documentation.
 • Automagic build environment for operations simplified.
 • Internal API for saving/loading GeglBuffers to/from disk.
 • Ruby, C# and Python bindings added to version control system
   (not included in distributed tarball)

Contributions from:

370
Kevin Cozens, Michael Schumacher. Sven Neumann and Øyvind Kolås,
371

372 373 374 375 376 377 378 379 380 381 382 383
Changes in GEGL 0.0.8
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
The GEGL 0.0.8 release tarball didn't build properly and was removed, the
0.0.10 release replaces the 0.0.8 release.


Changes in GEGL 0.0.6
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • hit detection code
 • handling of relative/absolute path names for XML.
 • merged GeglNode and GeglGraph classes.
 • build fixes for Win32 and FreeBSD
384
 • temporarily disabled custom cairo in test application.
385
 • png and EXR improvements.
386 387

Contributions from:
388
  Dominik Ernst, Kevin Cozens, Øyvind Kolås and Michael Schumacher.
389

390

391
Changes in GEGL 0.0.4
392 393
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
This was the first public release of GEGL.
394

395
 • 8bit, 16bit integer and 32bit floating point, RGB, CIE Lab, YCbCr and naive
396
   CMYK output.
397 398 399 400 401 402 403 404 405 406 407 408
 • Extendable through plug-ins.
 • XML, C and Python interfaces.
 • Memory efficient evaluation of subregions.
 • Tiled, sparse, pyramidial and larger than RAM buffers.
 • Rich core set of processing operations
    • PNG, JPEG, SVG, EXR, RAW and other image sources.
    • Arithmetic operations, porter duff compositing operations, SVG blend
      modes, other blend modes, apply mask.
      • Gaussian blur.
      • Basic color correction tools.
      • Most processing done with High Dynamic Range routines.
      • Text layouting using pango
409 410 411 412 413 414 415 416 417 418 419

Contributions from:
  Dominik Ernst, Kevin Cozens, Manish Singh, Martin Nordholts, Michael Natterer.
  Philip Lafleur, Sven Neumann and Øyvind Kolås.

Changes in GEGL 0.0.x
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
Contributions from:
  Calvin Williamson, Caroline Dahloff Daniel Rogers, Garry R. Osgood, Jay Cox
  and Sven Neumann,