Commit graph

18 commits

Author SHA1 Message Date
tnn
785eabc481 gegl: fix broken cpu detection
from upstream
2019-11-13 09:28:24 +00:00
nia
d5caf4e1e1 gegl: Update to 0.4.18
GEGL-0.4.18 2019-10-27
----------------------

Build
~~~~~

Drop autotools, GEGL is now using meson, most things are working again now -
documentation/website build is a work in progress, many issues have been
fixed, more a sure to surface with this first meson only release following the
babl one.

Core
~~~~

Support ui labels and descriptions for aux pads of ops.
Guard against uint32_t overflows in memory computations, improved memory
usage stat on FreeBSD.
Added support for hygon dhyana architecture.
Added gegl_try_malloc and use it to allocate storage for tiles.
gegl-stats gained active- and assigned-threads members.


Buffer
~~~~~~

New API for aligning to regular tile grid, gegl_rectangle_align[_to_buffer]
added gegl_rectangle_xor
gegl_buffer_create_sub_bufer now always returns a new object.
Improved tile compression, more accurate accounting and avoidiance when it is
determinetal.
gegl_buffer_save : store BablSpace
take into consideration concurrent use of different tile sizes in
gegl_tile_alloc
Fast path for gegl_buffer_copy is entirely in abyss.
Improved api misuse handling in gegl_buffer_set|get
Improved consistency of results when doing COW of abyss.
Improved Gobject Intospection annotations.
Use a binary tree for tile swap, improving tile removal speed.
Avoid gegl_buffer_set avoid set_pixel fast path if level>0


Operations
~~~~~~~~~~

Dynamic computation of per-operation thread cost, making GEGL fully use available cores on more operations.

new operations:
  bayer-matrix, linear-sinusoid, color-assimilation-grid, normal-map.
new operations in workshop:
  boxblur, alpha-inpaint

pass-through for infinite planes for:
  apply-lens, polar-coordinates, whirl-pinch, convolution-matrix, maze,
  cartoon, waterpixels, tile, distance-transform, spherize, tile-paper, dither,
  mantiuk06, reinhard05, fattal02, fractal-trace, motion-blur-zoom,
  motion-blur-circular, wind, little-planet, mirrors, cubism and long-shdow.
improved property ranges/meta-data or copyright for:
  motion-blur-zoom, edge-neon, cartoon, photocopy, softglow, oilify, bump-map, remap,

convolution:
  fix source-buffer offsets of filtered-out components,
  avoiding excessive shifting.
jpg-save:
  force grayscale if incoming buffer is grayscale
sdl-display:
  port to SDL2
gamma:
  handle negative input values
apply-lens;
  enable auto threading
matting-global:
  disable auto threading, allocate less temporay memory.
maze:
  reimplemented without recursion
newsprint:
  added black pullout and per colorant pattern and period parameters, enable threading.
saturation:
  add a colormodel property which permits operating in RGB instead
of CIE Lab, enabling hue preserving saturation changes.
exr-load/exr-save:
  only use associated alpha with EXR files
ff-load:
  fix audio track decoding for pure audio files
c2g:
  fixed initialization data race and out of bounds array access when threaded.
color-enhance:
  fixed a buffer leak
perlin-noise:
  fix initialization race
domain-transform:
  faster nop for edge-preservation=1.0, support BablSpace
oilify:
  support specifying mask-radius with aux buffer
linear-gradient, readial-gradient:
  use colors in correct order.
pixelize:
  avoid potential glitches
weighted-blend:
  harmonize opencl implementation with C
edge-neon:
  performane improvements

GEGL UI
~~~~~~~

gcut video editor ui has been removed, all its functionality is latent in
the new media browser/manipulator/viewer UI.

Permit start/end times for playlist items, enabling use of folder as EDL.
Add ability loop currently shown media element.
Nearest neighbor decoding; for realtime playback of HD video content.
Frame-cache for rendered video frames (with associated PCM data)
Drag and drop from file-managers to collection view.

Contributors to this release:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Abderrahim Kitouni, Alexandre Prokoudine, Asier Sarasua Garmendia, Bruce
Cowan, Debarshi Ray, Dimitris Spingos, Ell, fanjinke, Félix Piédallu,
Jan Vesely, Jordi Mas, Marco Ciampa, Martin Srebotnjak, Michael Natterer,
Michael Schumacher, Niels De Graef, Øyvind Kolås, Pawan Chitrakar,
Piotr Drąg, Rodrigo Lledó, Sabri Ünal, Schwan Carl, Shlomi Fish, Stefan Brüns,
Thomas Manni and Ting-Wei Lan.
2019-11-02 14:05:46 +00:00
ryoon
74fb06a6d0 Update to 0.4.16
Changelog:
GEGL-0.4.16
Not available

GEGL-0.4.15

Build

Added gitlab continuous integration.

Core

Platform specific build fixes for both win32 and OSX.

Avoid in-place processing for cached nodes.

Indentation consitency improvements.

Permit more detailed specifying/overriding of OpenCL device through the
GEGL_USE_OPENCL environment variable.

New call gegl_update_anim_time for applying the animation curves of
properties.

Buffer

Swapped behavior of cubic interpolation from cubic to mithcell
coefficients, leading to crisper results in all uses of the cubic
sampler.

Permit tiles to be unreffed after GEGL shut-down without crash, which
is likely when using bindings to dynamic languages.

Use malloc_trim when compiled with glibc to possibly decrease the
resident size of progress when buffers are destroyed.

Improved deadlock prevention in gegl_buffer_copy() when using copy on
write.

Operations

Use indirect buffer inputs on main thread during multi-processed
processing for point-filters/composers and tranform base classes.

Smaller required/invalided ROI for map-absolute/relative when using
nearest neighbor.

tiff-save and jpg-save fixed dimensions when buffer saved has non-zero
origin

Added missing descriptions of properties for cubism, mosaic,
tile-paper, color, mantiuk06 and vignette operations.

ff-load fix some of the deprecation warnings.

ff-save avoid crashing if audio or video codec fails to initialize.

cache, parent class changed - it is no longer a point operations, also
speed up processing and permit copy on write handling of tiles.

opacity and invert - crash for 8bpc buffers, reimplemented logic for
(non-)associated alpha OpenCL kernel selection.

Tools

Drop direct dependency on exiv2 - we now only transiently depend on it
through the gexiv2 abstraction.

commandline tool/gui

Store per image editing chains in .gegl folder instead of sidecars.

Set window title, permit interaction with opened .lui documents, fixed
playback of audio for opened videos - it now works; if the video is
decoding, scaling and display is fast enough to leave spare cycles.

Support for nearest neighbor scaling of imagry; aiding video playback
without dropping audio frames.

Support for custom collection order and per-file key-value metadata.
2019-06-18 14:26:59 +00:00
ryoon
7b21aeed64 Update to 0.4.14
Changelog:
GEGL-0.4.14 2019-03-xx

Core

New Scratch allocator for short lived buffers.

Removed unneeded buffer copies in some processing code paths in
GeglNode and GeglProcessor.

Add gegl_babl_variant API for getting variations on an existin
pixel-format/encoding.

Expose gegl_node_is_graph()

GeglBuffer

Compression of tile data.

Handle dynamically changing swap dir.

Improvements to mipmap damage propagation.

Fixes to threading race conditions.

Low-level tile handling more adapted to buffers creating from existing
linear data.

New iterator API is now the default, GEGL_BUFFER_ITERATOR2_API is no
longer needed.

CMYK/grayscale handling for scaled blits, code paths in samplers,
serialization.

New default tile-cache size, 50% of RAM.

Initialize the first OpenCL device with IMAGE support.

Added gegl_parallell_ from gimp_parallell_ API to distribute processing
for multiple cores.

Operations

crop, added aux-pad - if connected the incoming bounding box determines
the crop size.

Input-format specific processing for performance in watershed-transform
and invert ops. CMYK handling in jpg-load/save, tiff-load/save,
gaussian-blur, opacity, most composing and blending operations, text,
vector-stroke, path, and transform operations.

Improved or fixed mipmap preview rendering of emboss, linear-gradient
and radial-gradient.

Better ui strings/range/defaults for: distort/waves and dropshadow,
value-propagate.

gaussian-blur: fix mistake in implementation of IIR Young blur 1d,
which caused non circular halos.

New operation: pdf-load with build dependency on poppler-glib

Added offset properties to pixelize filter.

new ops in workshop: voroni diagram, Grey Color Removal, spyrograph.

Handle mipmap rendering for linear-gradient and radial-gradient.

UI

The existing microraptor-gui (immediate mode touch UI+CSS with cairo)
image viewer that can be built as part of the gegl binary has been
revisted, a graph/property editor has been added, and migration/
extension to lua has begun for parts of the code.

        many parts of the UI is of exploratory proof of concept/alpha
Warning quality but released since it is part of the GEGL repository
        and useful development tools both for creating and testing new
        GEGL operations as well as GEGL itself.

Some screenshots showing some the process towards the state and
capabilties of the UI in this release can be seen at https://
www.patreon.com/posts/24123574

To build with this UI the following dependencies also need to be
satisifed, for now this is not intended to be packaged by distributions
yet.

libluajit-dev
lua-lgi        (debian package name) upstream:
mmm            https://github.com/hodefoting/mmm
mrg            https://github.com/hodefoting/mrg

Features: folder view resolution independent UI touch oriented
navigation GIF / video playback PDF pagination goats that expose
performance and capabilty issues in GEGL efficient (though not
sandboxed) thumbnailing embedded simple commandline graph editor
zoomable automatic, consistent graph layout autogenerated
property-inspector ui visualization of color model/bitdepth through
styling of edges live-extendable with lua code for per-operation canvas
UI

Contributors to this release:

Alan Mortensen, Alexandre Prokoudine, Anders Jonsson, Andre Klapper,
Debarshi Ray, elad, Ell, Jehan, Marco Ciampa, Michael Natterer, Øyvind
Kolås, Piotr Drąg, Richard B. Kreckel, Rodrigo Lledó, sabri ünal,
thetoastcaper, Thomas Manni and woob.

This release depends on the new features of babl-0.1.62 which has the
following change summary for the last release:

Continuous integration with gitlab. Initial CMYK spaces with lcms2
based ICC support, much room for optimization. Improved custom space
support for palette formats. scRGB space, works like sRGB but always
with linear TRCs. Model introspection API permitting low overhead
checks whether a format/model is RGB, CMYK type of alpha and similar.
2019-04-09 13:09:03 +00:00
ryoon
d6f53765c5 Update to 0.4.12
Changelog:
GEGL-0.4.12 2018-10-23

GeglBuffer
~~~~~~~~~~

Fix fix of scaled blitting, the fix from last release introduced scaling
artifacts for all formats that are non-8bit.

Contributions to this relase
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ell, Øyvind Kolås and Rodrigo Lledó


GEGL-0.4.10 2018-10-16
----------------------

GeglBuffer
~~~~~~~~~~

Fix integer overflow issues for u32 blit scaling code paths.

Reduced memory clearing overhead for temporary buffers during blit.

Round alpha component during u8 bilinear/box filtering (this caused artifacts
on OSX through interaction without unknown platform differences in
libc/compilter/graphics stack)

gegl_buffer_dup now matches source buffer abyss, shift and tile-size more
closely.

Added GEGL_TILE_COPY command for backends, for more efficient buffer
duplication/copies.

New GeglBufferIterator API.

Move type-generic scaling algorithms to GeglBuffer folder, move opencl
integration bits out of buffer.

Operations
~~~~~~~~~~

gif-load: new operation for decoding GIF images/animations, with frame delay
exposed as an out-property.

exr-save: do not hard-code a version name space
long-shadow: add 'Fading (fixed length)' style with a new user-defined
'Midpoint' parameter

maniuk06: use double precision, permitting to work on larger images.

watershed-transform: improved description

unsharp-mask: permit std-dev radius of up to 1500px (from 300).

Updated all operations to use new iterator API

Contributors to this release
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Alexandre Prokoudine, Anders Jonsson, Debarshi Ray, Ell, Hussam Al-Tayeb, Marco
Ciampa, Massimo Valentini, Øyvind Kolås, Piotr Drąg, Rodrigo Lledó and Tim
Sabsch.
2018-11-22 13:00:03 +00:00
ryoon
9e4022bf7e Fix build with recent graphics/openexr 2018-10-02 13:13:37 +00:00
wiz
011f099a64 Update to 0.3.0.
Header location and library names changed, so bump API version.
No users in pkgsrc (yet).

Changes in GEGL 0.3.0
---------------------

 • Improvements to thread safety and parallelism.
 • Lower overhead graph travesal due from rewrite of visitors
 • 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.
 • Operations:
   • 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
   • 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.
2015-08-25 13:25:54 +00:00
drochner
1a8323a562 add 2 patches from upstream:
1e92e5235ded0415d555aa86066b8e4041ee5a53
and
4757cdf73d3675478d645a3ec8250ba02168a230
to fix integer overflow, leading to heap-based buffer overflow
in the ppm image reader (CVE-2012-4433)
bump PKGREV
2012-11-06 14:03:00 +00:00
dholland
dc164e0032 Remove wrong patch. HI ADAM 2012-05-10 04:32:18 +00:00
adam
d67c492fa9 Changes 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.
  * Added arguments for dealing with scaled down preview rendering.
* Added human interaction ranges and non-linear mapping to properties.
* Buffer:
  * Removed broken lanczos sampler.
  * Add gegl_buffer_set_color and gegl_buffer_set_pattern
  * 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.
2012-05-07 08:35:57 +00:00
adam
f413853c9b Changes 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:
* Added lohalo resampler, API and infrastructure for doing non affine
  resamplings.
2011-12-09 17:45:13 +00:00
hans
3aabd9495c Fix build on SunOS. 2011-09-14 16:53:38 +00:00
adam
ee73784940 Changes 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)
    whirl and pinch
    mirrors
    grid render
    fixed imagemagick fallback load op
    fixed pipe based dcraw wrapper
    GSoC 2010 ops: exp-combine, reinhard05, fattal02, mantiuk06, matting-levin
* Various source and build improvements.
* improvements towards threaded rendering
* Buffer:
    refactored away some constant overhead
    made GeglBufferIterator API public
2011-02-10 10:12:46 +00:00
wiz
a5d2cb6148 Fix build with png-1.5. 2011-01-14 10:20:00 +00:00
drochner
5d2c833e95 ride on the png revbump and update to 0.1.2
changes: some fixes and optimizations (API change)
2010-06-14 18:48:32 +00:00
adam
5f549cfa35 Fix building with babl-0.1.2 2010-02-04 12:28:43 +00:00
adam
0f2af373bc Changes 0.0.22:
GeglOperation
* operation names are now prefixed, the ops in GEGL use 'gegl:' as prefix.
* gegl:opacity - combine value and aux mask input when both are available.
* 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.
GeglBuffer
* Profiling motivated speed ups in data reading/writing.
* Remove left-over swapfiles from dead processes at startup.
GeglNode
* made gegl_node_add_child and gegl_node_remove_child public API.
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.).
2009-01-24 12:57:30 +00:00
adam
72c1af7173 GEGL (Generic Graphics Library) is a graph based image processing
framework.

GEGL provides infrastructure to do demand based cached non destructive
image editing on larger than RAM buffers. Through babl it provides
support for a wide range of color models and pixel storage formats for
input and output.
2008-10-16 21:53:57 +00:00