- 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
- Update to version 0.3.28:
+ New stable branch, long packaged as gegl-unstable in openSUSE,
changes far to many to list, please see NEWS packaged in
docs sub-package.
- Lots of BuildRequires, Requires and sub-package changes.
- Drop upstream fixed patches:
+ gegl-UF_long.patch.
+ gegl-lua52.patch.
+ gegl-0.2.0-CVE-2012-4433.patch.
+ gegl-ruby19.patch.
+ gegl-0.2.0-linker-flags.patch
OBS-URL: https://build.opensuse.org/request/show/587684
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=48
• New operations: max-rgb, pixelise, motion blur.
• Fixed a bugs in matting-levin that made GEGL halt due to errors
detected by babl sanity code, this made 0.1.4 be unusable if you had
all dependendency when building.
• build/test improvements.
• Buffer:
Added API to use external tile backends, allowing to plug-in alien
tilebackends, for GIMP/Krita/OSM or similar.
OBS-URL: https://build.opensuse.org/package/show/graphics/gegl?expand=0&rev=18