- Update to version 0.4.48:
+ Core:
- GeglColor extended with GBytes API, and space aware accesors
for RGB and CMYK. Better runtime handling of mismatched GEGL
ops in graphs.
+ Build:
- Use gi-docgen
- Updated vendored libraries
- ctx has been updated from upstream.
+ Operations:
- dropshadow: Fix shrinking with negative-grow radius.
- mantiuk: opt out of OpenMP when building with clang.
- voroni: fix crash.
- shuffle-search: in progress (in workshop, not built by
default) brute-force dither optimizer.
- prepare gi-docgen documentation. disabled for now.
OBS-URL: https://build.opensuse.org/request/show/1148947
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=148
- Update to version 0.4.46:
+ Operations:
- local-threshold: new operation that does neighborhood aware
and optionallyantialiased thresholding of an image.
- chamfer: new operation in workshop that useis
distance-transform and emboss or LinuxBeaver’s research
into modeling different bevels with combinations of blurs.
- ff-load,ff-save: clean up of deprecated API, builds with
ffmpeg-6.0 but ff-save hasn’t been made to work with this
release of ffmpeg yet.
+ Updated vendored libraries:
- ctx and libnsgif have been updated from upstream.
+ Build:
- Depend on meson 0.55.0
- various cleanups including re-enabling of deprecation warnings.
- make ctx be an internal library.
OBS-URL: https://build.opensuse.org/request/show/1095441
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=143
- Update to version 0.4.38:
+ Operations:
- denoise-dct: a NEW denoising operation which decomposes the input
buffer to sliding overlapping patches, calculates the DCT denoising
in each patch, and then aggregates the denoised patches to the
output buffer averaging the overlapped pixels.
- ff-load and ff-save: big cleanup API cleanup, now ffmpeg-5.0
compatible.
- gif-load: updated to latest upstream libnsgif version.
- slic: progress reporting and improved parameter handling.
- vector-fill: updated to latest upstream ctx version.
- oilify: clamp inputs to avoid nan in output.
- gegl:load fix possible double free.
- rgbe-write: plug leaks in error paths.
+ Core:
- Fixes of some potential NULL dereferences on custom
dataformats for malformed inputs.
OBS-URL: https://build.opensuse.org/request/show/990496
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=126
- Update to version 0.4.36:
+ The primary addition in this release is SIMD dispatch, buffer
access functions get built for x86-64 v2 and v3 microarchitecture
levels as well as ARM neon. The same applies to core operations
where we have .so bundles for the variants as well as a generic build.
+ Operations:
- The npd operation fixed with multiple threads.
OBS-URL: https://build.opensuse.org/request/show/958206
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=120
- Update to version 0.4.34:
- Operations:
- magick-load: use g_spawn_async instead of system to run the
image magick convert fallback - preventing shell expansion on
non-escaped/filtered paths in constructed commandline.
- ripple: avoid a possible division by zero.
- Build:
- Explicit dependency specification in meson for generated CL
files.
- ctx has been moved to be part of gegl-common.so nearer to the
operations using it avoiding polluting the GEGL library
symbol table with the ctx symbols.
OBS-URL: https://build.opensuse.org/request/show/941946
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=115
- Update to version 0.4.30:
+ New Operations:
- negative-darkroom: This operation is for artists who use hybrid workflow
technique of analog photography. After scanning a developed negative, this
operation is used to invert the scan to create a positive image by simulating
the light behaviour of darkroom enlarger and common photographic papers.
+ Operations:
- jpg-load,png-load,tiff-load: show ICC relatd problems as warnings.
- rgbe-load : fix handling of exponent=0 in RLE encoded files.
- color-reduction : Added blue-noise modes, the patents are expired for some
years already, also added fix to levels parameters; enabling bi-level.
- fattal02 : ensure gaussian pyramid has at least one level.
- paint-select (in workshop): multi-level banded graphcut, sub-region rather
than full buffer rcomputations and other improvements.
- Drop 93.patch
OBS-URL: https://build.opensuse.org/request/show/881968
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=108
- Update to version 0.4.24
+ Build:
- CI creation and caching of container images for build
+ Buffer:
- Fixed integer overflow in u32 bilinear blit scaler.
- Changed cubic interpolation to be a bit softer, reducing induced
moire seen in issue #167
- Gracefully fail when running out of swap space
+ Operations:
- Meta-operations now have an additional vfunc, update(),
which gets invoked on property changes
- crop: with no parameters set, infer rectangle to crop from graph.
- crop: cropping rectangle can be implied from graph.
- hue-chroma: avoid modifying hue/chroma of neutrals
- dropshadow: added option for shadow growing
- median-blur: accept negative radius values
- rgb-clip: add parameters for specifying clipping ranges
- vignette: new shapes, horizontal and vertical.
- imgcmp: make max-diff property conform to gobject standard.
- save-pixbuf: use a GObject for consumer read instead of pointer property.
- gegl-graph: add a gegl-chain tutorial as default script.
- border-align: place a buffer within the borders of another one.
- pack: joins two buffers into one, with optional gap.
- bloom: adds a glow around highlights.
- piecewise-blend: uses a grayscale map as index into array of buffers used as LUT.
- variable-blur: uses piecewise-blend piecewise-blend and gaussian blur to approximate blurs with per-pixel blur radius.
- focus-blur: a vignetting blur, using variable-blur.
- reset-origin: moves upper left of extent to 0,0
- band-tune: parametric band equalizer for tuning frequency bands of image.
OBS-URL: https://build.opensuse.org/request/show/813492
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=98
- Update to 0.4.22:
* Build
- Updates to python gobject introspection tests, and made them able to look up
babl typelib.
- Build pdf:load again; missing since meson migration.
- Fix OpenCL include file generation to work in non-utf8 locales.
* Operations
- matting-{global,levin}: fix crash when bounding boxes of input and aux differ.
OBS-URL: https://build.opensuse.org/request/show/778714
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=94
- Update to version 0.4.20:
+ Build: Improvements and refinements of meson builds and CI.
Fixing major issues for OSX and win32.
+ Buffer:
- Pass O_BINARY where relevant on windows, fixing crashes
occuring when swap is used.
- Avoid 32bit overflows in computations for gegl_buffer_set and
gegl_buffer_get.
+ Core:
- Avoid running more thread jobs than there are pixels to
process.
- Faster teardown of buffer caches when bounding box shrinks.
- Only do in-place processing if ROI fits in input abyss.
+ Operations:
- Improved edge handling for gegl:distance-transform.
- gegl:crop removed workaround for incorrect in-place handling.
- Drop gegl-0.4.18_allow_unknown_arch.patch: Fixed upstream.
- No longer recommend -lang: supplements are in use.
OBS-URL: https://build.opensuse.org/request/show/770097
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=92
- Update to version 0.4.18
- switch to meson based build
- add buildrequires for tools to build documentation:
asciidocs, gtk-doc, ruby
- switch from lua to luajit
- no lua support anymore on ppc64 due to missing luajit
- enable workshop modules
- new BuildRequires pkgconfig(lensfun)
- added gegl-0.4.18_allow_unknown_arch.patch:
the old code in the configure.ac also did fallthrough. restore
that behavior.
- drop patches no longer needed:
0001-Extend-configure-checks-with-checks-for-SDL2.patch
0002-Port-sdl-display-to-SDL2.patch
0003-Port-sdl-draw-example-to-SDL2.patch
fix_doc_installation.patch
OBS-URL: https://build.opensuse.org/request/show/744608
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=86
- Update to version 0.4.16:
+ Buffer:
- Swapped behavior of cubic interpolation from cubic to
mithcell coefficients, leading to crisper results in all uses
of the cubic sampler.
- Use a custom allocator for tile data which aligns data and
groups allocations in blocks - improving performance on
windows by keeping more slack allocation memory in-process.
On linux the opposite was needed and is achieved by using the
GNU extension malloc_trim which permits forcing invokation of
the glibc malloc/free allocators garbage collection function.
- Permit tiles to be unreffed after GEGL shut-down without
crash, which is likely when using bindings to dynamic
languages.
- Improved deadlock prevention in gegl_buffer_copy() when using
copy on write.
+ 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.
+ Build: Added gitlab continuous integration.
+ 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.
- Custom collection order and per-file key-value metadata.
- Drop explicit pkgconfig(exiv2) BuildRequires following upstream
changes.
OBS-URL: https://build.opensuse.org/request/show/701845
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=74
- Update to version 0.4.14:
+ 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
existing 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.
- WARNING: many parts of the UI is of exploratory proof of
concept/alpha quality but are released since the code is part
of the GEGL repository and important 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.
- Add pkgconfig(poppler-glib) BuildRequires: New dependency.
OBS-URL: https://build.opensuse.org/request/show/687056
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=72
- Update to version 0.4.12:
+ GeglBuffer: Fix fix of scaled blitting, the fix from last
release introduced scaling artifacts for all formats that are
non-8bit.
- Changes from version 0.4.10:
+ 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.
- 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.
OBS-URL: https://build.opensuse.org/request/show/646109
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=70
- Update to version 0.4.4:
+ Core:
- Point filters with need for format conversion of input are
now parallel.
- Added swap-reading, swap-writing, swap-read-total and
swap-write-total properties to GeglStats.
+ Buffer:
- Trim tile-cache when shrinking.
- Added reading locks to tiles further improving concurrent
access tolerance of GeglBuffer.
+ Operations:
- threshold: operating format changed from linear to
perceptual.
- unsharp-mask: add rename standard-deviation and scale
properties to 'Radius' and 'Amount', add 'Threshold'
property.
- recursive-transform now supports applying multiple
transformations simultanously.
- Fixed integer overflow due to logic error in pixelize.
- New operation: gegl:abs which negates negative values.
- New operation in workshop: selective-hue-saturation.
OBS-URL: https://build.opensuse.org/request/show/621141
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=66
- Update to version 0.4.2:
+ Build: Abort early if autoreconf fails, remove unused bits,
default to -Ofast as CFLAGS.
+ GeglBuffer:
- Improve concurrency for trimming and destruction of tile
caches. Improve cache invalidation during partial mipmap
regeneration.
- Do new cheap clones of buffers with new internal gegl-buffer
backed tile-backend.
- Do not keep cached sampler in buffer it makes cache
invalidation hard, and for performance/threading it is better
to create ones own samplers anyways. The old API still
exists, though parts of it is now deprecated. The single
special case where gegl_buffer_sample remains somewhat
performant is with the NEAREST sampler, for all other
samplers creating a caching sampler is better.
+ Operations:
- operation: add GeglOperationAreaFilter::get_abyss_policy()
vfunc Copyright notice improvements to spherize,
color-overlay. ff-save: implement defines handling
compilation with ffmpeg 2.3-2.7, 4.0 compat.
- Improved multi-threaded performance of panorama-projection
and other transformation operations through optimizations in
buffer and base-classes.
- Drop gegl-port-ffmpeg4.patch: Fixed upstream.
OBS-URL: https://build.opensuse.org/request/show/609912
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=64
- Update to version 0.4.0:
+ GEGL 0.4.x is a stable release series of GEGL to have a stable
API and ABI to go with GIMP-2.10. When the need arises to break
API or ABI compatibility the 0.4.x series will get its own
branch and unstable API experiments and development, 0.5.x will
happen in master. For now though master will track the 0.4.x
series.
+ Core: Change GeglParamSpecSeed from int to uint to match the
value range of GeglRandom's seed.
+ Operations:
- Ripple fixed remaining issues needed to remove legacy GIMP
plug-in in GIMP.
- Spherize, requrise transform and color-overlay moved out of
workshop.
- Ppm-load ported to GIO.
- Rename subpackages following upstreams soname bump.
OBS-URL: https://build.opensuse.org/request/show/602141
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=59