NEWS 11.1 KB
Newer Older
1
                 ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
2
                 GEGL - an image processing framework
3
                 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
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)
     fixed imagemagick fallback load op
     fixed pipe based dcraw wrapper
     GEGL HDR gsoc ops: exp-combine, reinhard05, fattal02, mantiuk06
 • Various source and build improvements.
 • Buffer:
     refactored away some constant overhead
     mad GeglBufferIterator API public

Contributions from:

Michael Natterer, Øyvind Kolås, Vincent Untz, Kaja Liiv,  Nils Philippsen,
Étienne Bersac, Debarshi Ray, Danny Robson, Stuart Axon, Kao, Mukund Sivaraman,
Ruben Vermeersch, Barak Itkin and Michael Muré.
25

26 27 28 29 30 31
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,
32 33 34 35
     removed some  manual instrumentation from critical paths, improved
     speed of samplers.
 • Added xml composition/reference image based regression tests.
 • Added performance tracking framework.
36 37 38
 • Syntactic sugar using varargs for constructing gegl graphs from C.
 • Build fixes on cygwin, 
 • Gegl# fixes.
39
 • Initial, but unstable code towards multithreading.
40
 • Improvements to lua op in workshop.
41 42
 • Added new resamplers upsize, upsharp, upsmooth, downsize, downsharp and
   downsmooth.
43 44 45 46 47
 • 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,
48 49
  Javier Jardón, Yaakov Selkowitz and Michael Natterer, Kaja Liiv
  and Eric Daoust.
50

51 52 53 54 55
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
56 57 58 59
   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)
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
 • Consider {x=G_MININT/2, y=G_MININT/2, width=G_MAXINT, height=G_MAXINT}
   as the only valid region wichin processing may occur. Processing
   outside of this region is undefined behaviour.
 • Added support for storing allocation stack traces for GeglBuffers
   so that debuging buffer leaks becomes much easier
 • 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
 • Added format property go gegl:buffer-sink
 • Cleaned up and made gegl:introspect work again
Sven Neumann's avatar
Sven Neumann committed
75 76
 • Add a bunch of test cases using the automake test sytem (make check)
   and also port buffer tests to automake
77 78
 • General cleanups, bug fixes, increased robustness and improved
   documentation
79

80
Contributions from:
81 82 83 84 85 86
  Ø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.

87 88

Changes in GEGL 0.0.22
89 90
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • GeglOperation
Øyvind Kolås's avatar
Øyvind Kolås committed
91
   • operation names are now prefixed, the ops in GEGL use 'gegl:' as prefix.
92
   • gegl:opacity - combine value and aux mask input when both are available.
Øyvind Kolås's avatar
Øyvind Kolås committed
93 94 95 96
   • gegl:src-in - deal correctly with extens.
   • gegl:path - new op covering the stroke/fill needs of SVG.
   • deprecated gegl:shift, the affine familiy of operations now 
     uses the same fast code paths for integer translations.
97 98
 • GeglBuffer
   • Profiling motivated speed ups in data reading/writing.
Øyvind Kolås's avatar
Øyvind Kolås committed
99 100 101 102 103 104 105
   • 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.).
106 107

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

112 113 114 115 116
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
117 118
   • Linear buffer support, amongst other things enabling GeglBuffer API access
     to external linear buffers in memory.
119 120
   • 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
121 122
 • GeglVector
   • Added SVG parsing capability (no serialisation yet).
123 124
 • GeglOperations
   • Marked user visible strings for translation.
Øyvind Kolås's avatar
Øyvind Kolås committed
125
   • Added a fill operation that renders a path.
126 127 128

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

Øyvind Kolås's avatar
Øyvind Kolås committed
131
Changes in GEGL 0.0.18
132
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
133 134
 • Configuration both from commandline arguments and at runtime.
 • GeglBuffer
135
   • New raw tiled raster file format, used both as swap and stored buffers.
Øyvind Kolås's avatar
Øyvind Kolås committed
136 137 138
   • Sharing between processes through synced swap.
   • Babl powered scan iteration infrastructure for efficient access.
   • Cubic and lanczos samplers re-enabled.
139
 • Operations
140 141
   • Use scan iterator for point-filter, point-composer and point-render base
     classes internally for minimal amount of copies.
142
   • Optimized variants of some point and compositing operations reimplemented
Øyvind Kolås's avatar
Øyvind Kolås committed
143
     using a new data type /g4float/ that allows writing CPU agnostic vectorized
144
     code for GCC.
Øyvind Kolås's avatar
Øyvind Kolås committed
145 146 147
   • 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.
148 149 150 151
   • 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
152 153
  Étienne Bersac, Hans Petter Jansson, Jan Heller, dmacks@netspace.org,
  Sven Anders, Hubert Figuiere and Geert Jordaens.
154

155
Changes in GEGL 0.0.16
Øyvind Kolås's avatar
Øyvind Kolås committed
156
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
157
 • Install headers for development of external operation plug-ins.
Øyvind Kolås's avatar
Øyvind Kolås committed
158
 • Added rowstride argument to gegl_buffer_set ()
159
 • Made it possible for sink operations to do chunkwise processing
160
   through GeglProcessor.
Øyvind Kolås's avatar
Øyvind Kolås committed
161
   when processed using a GeglProcessor.
162
 • constification of GeglRectangles and babl formats.
163 164
 • Build and dist fixes, plugged annoying buffer leaks, GEGL now
   also works on OSX
Øyvind Kolås's avatar
Øyvind Kolås committed
165 166

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

171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
Changes in GEGL 0.0.14
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Relicensed under LGPLv3+.
 • Per node caches (faster recomputation when properties of nodes in
   composition change)
 • Sampler framwork for interpolation.
 • 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
189
  Øyvind Kolås
190

191

192 193
Changes in GEGL 0.0.12
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
194 195 196 197 198 199 200 201 202 203 204 205 206 207
 • 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:

208
Kevin Cozens, Michael Schumacher. Sven Neumann and Øyvind Kolås,
209

210 211 212 213 214 215 216 217 218 219 220 221 222 223
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
 • temporary disabled custom cairo in test application.
 • png and EXR improvements.
224 225

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

228

229
Changes in GEGL 0.0.4
230 231
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
This was the first public release of GEGL.
232

233
 • 8bit, 16bit integer and 32bit floating point, RGB, CIE Lab, YCbCr and naive
234
  CMYK output.
235 236 237 238 239 240 241 242 243 244 245 246
 • 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
247 248 249 250 251 252 253 254 255 256 257

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,