arrayjoin was making a region on every input image during startup, and
repeating for each thread (!!) so large arrays could be very expensive
to join.
Instead, make input regions on demand, and computre set of required
input images rather than searching for them.
See https://github.com/libvips/libvips/discussions/3247
In 8.13 we deprecated target_finish() (it did not have an error return)
to target_end() (now has an error return).
This PR makes target_end() also emit the "finish" signal for
compatibility with the previous API. ruby-vips, for example, looks for
on_finish() to close files.
See https://github.com/libvips/ruby-vips/issues/351
Thanks lucaskanashiro
* heifsave: make it possible to use a specific encoder
* argument label: switch to leading capital letter
Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
* add VipsForeignHeifEncoder enum
* correct type
* implement reviewer feedback
Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
* doc: avoid use of GCC's old syntax (`-Wgnu-designator`)
* doc: highlight shell commands
* doc: point the C++ docs to v8.12
* doc: avoid highlight on output matching bash keywords
* ADded optional output parameter to smartcrop to track the center of
attention.
* Added unit test.
* Added docs & updated changelog.
* Updated argument labels & types in documentation.
* nsgifload: avoid minimise after mapping
Not reliable on Windows.
* nsgifload: prefer use of `VIPS_FREEF` macro
* Improve `test_descriptors.c`
* Only build `test_descriptors` when targeting Linux
* add simple bash completion support
* add "completions" subdir to meson
* start extending completion to extra args
* file complete for every arg after 1
* add completion for enums, file, ints, doubles
* docs, try to improve directory completion
though dir completion is not working correctly, I'm not sure why
* compiles
* note changelog
and switch to FATSTRIP (much quicker)
* don't duplicate header fields in fitssave
be careful not to set records twice in save
see https://github.com/libvips/libvips/issues/3113
* tiny polish
* libnsgif: update script: Fix to handle dir with no patches
* libnsgif: Update to latest upstream
Fixes loading of broken gifs with truncated final frame.
* nsgifload: Call nsgif_data_complete after data scan
This allows libnsgif to distinguish between awaiting more
data, and a broken truncated GIF. In the latter case we
can display what we have.