John Cupitt
58b53506ff
add vips_target_end ( #2802 )
...
since finish did not return an error code
also make sure we don't call target_end from inside _dispose, since that
can't signal error either
see https://github.com/libvips/libvips/issues/2801
2022-05-20 16:38:04 +01:00
Kleis Auke Wolthuizen
6aca41d713
quantise: fix styling ( #2807 )
...
Also, use the correct conditional directive in spngsave.
2022-05-20 14:31:16 +01:00
John Cupitt
c5ea747f71
Merge branch 'master' of github.com:libvips/libvips
2022-05-18 10:57:56 +01:00
John Cupitt
e42d2b46b9
revise SVG scaling, again
...
we were not defaulting width and height correctly
see https://github.com/lovell/sharp/pull/3230
2022-05-18 10:55:41 +01:00
Kleis Auke Wolthuizen
f1b4b0cb1a
Swap size_t with gint64 to catch read errors ( #2811 )
...
This is similar to commit 5221df224f
.
2022-05-17 22:04:20 +01:00
John Cupitt
683e8d9b6f
small changelog polish
2022-05-16 14:59:16 +01:00
John Cupitt
5f82491d74
small configure improvements
...
- disable deprecated warnings for /deprecated
- detect librsvg rsvg_handle_get_intrinsic_size_in_pixels()
- tiny comment typo in meson.build
2022-05-16 14:45:53 +01:00
John Cupitt
793d3116a7
Merge branch 'master' of github.com:libvips/libvips
2022-05-16 14:30:41 +01:00
John Cupitt
aa5abf3e7e
fix background byte ordering in PDF
...
the `background` param was BGRA rather than vips-style RGBA
see https://github.com/libvips/libvips/pull/2804
2022-05-16 14:28:53 +01:00
Sergey Alexandrovich
982cbe5f8a
Don't fail if PNG contains too much text chunks ( #2803 )
...
Only warn if PNG contains too many text chunks
Update spngload.c
2022-05-15 12:18:06 +01:00
John Cupitt
7561d4e52c
add libnsgif COPYING
...
oops, we were missing the COPYING file
see https://github.com/libvips/libvips/issues/2800
thanks mika-fischer
2022-05-12 09:48:58 +01:00
John Cupitt
dd9f42269f
Merge branch '8.12'
2022-05-11 22:31:13 +01:00
John Cupitt
36cc50500b
update changelog for ssize_t fix
2022-05-11 22:30:42 +01:00
John Cupitt
e2c50d07c6
fix ssize_t / ssize_t confusion
2022-05-11 22:29:37 +01:00
John Cupitt
5221df224f
fix ssize_t / ssize_t confusion
2022-05-11 22:28:34 +01:00
Kleis Auke Wolthuizen
9cbc361269
Allow to modify/create EXIF OffsetTime* tags ( #2796 )
...
Available since libexif 0.6.23.
2022-05-10 13:26:09 +01:00
Lovell Fuller
7e64c48ca9
heifsave: allow creation of EXIF metadata ( #2794 )
...
Previously only update of input EXIF was possible
2022-05-10 08:14:53 +01:00
Kleis Auke Wolthuizen
d91cfa4e53
Allow to modify/create EXIF 2.3 ASCII tags ( #2795 )
...
* Allow to modify/create EXIF 2.3 ASCII tags
Make `tag_is_ascii` aware of the EXIF 2.3 ASCII tags that are
available since libexif 0.6.22.
See: https://github.com/kleisauke/net-vips/issues/167
* Fix CI
2022-05-10 08:13:22 +01:00
Michael Drake
ceaa2d2096
Update LibNSGIF to latest upstream ( #2791 )
...
* libnsgif: Update to latest upstream
* nsgifload: Add palette info to debug output.
2022-05-09 10:20:57 +01:00
John Cupitt
460a19b78e
revise arg names
...
use _ everywhere (we have a few uses of - as a separator)
2022-05-07 14:50:05 +01:00
John Cupitt
cdcafbc4c5
add changelog notes
...
and linewrap for 80 column limit
2022-05-07 12:51:58 +01:00
Kleis Auke Wolthuizen
894ed1cb13
Resize improvements; add ceil
and gap
options ( #1769 )
...
* Add a round-up option to shrink
* Only leave the final 200% to reduce
* Add gap option to reduce and resize
* Add unit tests
* Incorporate feedback
2022-05-07 12:45:38 +01:00
Daniel Löbl
cb55fdcfd8
allow to apply maxerror optimization to frames with alpha channel ( #2778 )
2022-05-07 12:16:13 +01:00
John Cupitt
20fd8ac0fc
support rsvg_handle_get_intrinsic_size_in_pixels
...
librsvg 2.52+ has this new bit of API for finding the SVG dimensions
2022-04-28 13:01:17 +01:00
John Cupitt
f06c9f3bcf
add fail-on to thumbnail
...
see https://github.com/libvips/libvips/discussions/2781
2022-04-28 09:08:34 +01:00
John Cupitt
43db3985d0
try to always set the min stack size
...
since musl users often don't know about this
see https://github.com/libvips/libvips/issues/2761
2022-04-19 16:41:18 +01:00
John Cupitt
94d8a7d993
tried (and failed) to build against ubuntu nifti
...
the ubuntu cmake dev files for nifti seem to be broken, and I can't get meson
to add the dependency manually
2022-04-18 15:13:55 +01:00
Kleis Auke Wolthuizen
07edfe37b1
Improve symbol visibility ( #2688 )
...
* Improve symbol visibility
* Decorate required internal symbols with VIPS_API
* Remove a couple of stray header decls
* Incorporate review comment
- Ensure symbol visibility is also set on static libraries.
- Prefer to use `cc.has_function_attribute('visibility:hidden')`.
* Don't export internal deprecated symbols
* Move deprecated symbols to vips7compat.h
* `IM_FORMAT_H` -> `VIPS_FORMAT_H`
* Move `vips_window_ref` compat stub to `vips7compat.c`
* Disable deprecation warnings internally
* `vips_image_get_kill` -> `vips_image_iskilled`
* Ensure API compatibility
* Add missing include directives
* Move `vips__init` decl to vips7compat
* Move `vips__get_sizeof_vipsobject` to vips7compat
* Fix introspection build
* Fix 2 introspection warnings
* Ensure compatibility with vipsdisp
/usr/bin/ld: tilesource.o: in function `tile_source_new_from_source':
vipsdisp/tilesource.c:1627: undefined reference to `vips__region_no_ownership'
2022-04-16 10:58:55 +01:00
Michael Drake
0c3092fa94
libnsgif: Update to latest upstream ( #2766 )
...
That's great! Thank you for doing this, Michael.
2022-04-15 18:23:56 +01:00
John Cupitt
55723a980f
add a seq to thumbnail_image
...
otherwise we can get horrible cache thrashing as the shrink will run
without any locality
2022-04-14 10:37:17 +01:00
John Cupitt
eba9ec0dd7
Add a way to disable less well tested operations ( #2636 )
...
* quick proposal
warn on startup if untrusted operations might run
use vips_block_untrusted_set() to block untrusted operations, set an env
var or make a file to stop the warning
* mark fits, nifti and svg as untrusted
* remove the annoying "untrusted" warning message
better to warn on the download page
leave vips_block_untrusted_set() since it's obviously useful
* separate UNTRUSTED and BLOCKED
* typos
* add VIPS_BLOCK_UNTRUSTED env var
* move BLOCK_UNTRUSTED after plugin load
obviously, ooops
* add a test, disable *magick
although *magick is fuzzed, it's probably safer to disable it in
untrusted environments
* mark some more operations as untrusted
2022-04-11 11:32:32 +01:00
John Cupitt
6eae6fcf4b
stop strip tiff read using tiny tiles
...
Strip TIFFs with rowperstrip of 1 used to use 1-pixel high cache tiles.
This could slow reading. This patch sets a minimum tile height near 16
but a multiple of the strip size.
2022-04-09 16:38:47 +01:00
Kleis Auke Wolthuizen
6c03343581
Add comments to setjmp
invocations ( #2751 )
...
Also, pre-increment `num_warnings` to ensure that we really stop
at 100 warnings.
2022-04-06 12:01:18 +01:00
John Cupitt
57cd94278a
revise interpretation guesser
...
This patch pushes the new pyvips interpretation guess rules down into
libvips.
See https://github.com/libvips/pyvips/pull/316
2022-04-05 18:32:25 +01:00
Kleis Auke Wolthuizen
df26bd1e46
Stop JPEG load after 100 warnings ( #2749 )
...
See: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24383
2022-04-05 11:07:29 +02:00
John Cupitt
2dc319b1b1
Revert "stop JPEG load after 20 warnings"
...
This reverts commit 89bd46d1c4
.
2022-04-05 08:34:45 +01:00
John Cupitt
1aebd95387
Revert "improve fail on too many warings"
...
This reverts commit ae7e5e7a54
.
2022-04-05 08:34:20 +01:00
John Cupitt
ae7e5e7a54
improve fail on too many warings
...
thanks lovell, see 89bd46d1c4 (commitcomment-70409015)
2022-04-04 15:44:37 +01:00
Michael Drake
0f30690360
Update to latest libnsgif ( #2747 )
...
* libnsgif: Update to latest upstream.
* nsgifload: Update for new pixel format API.
LibNSGIF now lets the client select a pixel colour component
order. We use NSGIF_BITMAP_FMT_R8G8B8A8, which is the same
format LibNSGIF always decoded to.
* nsgifload: Remove loop_count from VERBOSE output.
This was internal state for a nsgif_frame_prepare() managed
animation, but VIPS doesn't use nsgif_frame_prepare(). The
loop_count member has been removed from the public structure.
2022-04-04 13:57:20 +01:00
John Cupitt
89bd46d1c4
stop JPEG load after 20 warnings
...
mitigates some DoS attacks somewhat
see https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24383
2022-04-03 19:21:06 +01:00
John Cupitt
55b857d446
revise cast asserts
...
since we allow casting between formats ofthe same size with shift enabled
fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=45016&q=libvips&can=2
2022-04-03 15:32:25 +01:00
Lovell Fuller
9228e50f46
vipsload: ensure resolution is positive ( #2742 )
2022-04-03 11:00:44 +01:00
John Cupitt
dc07b00059
set vips-sequential as a simple int
...
to avoid trouble with bindings which don't implement get for an empty
VipsArea
2022-03-31 17:05:02 +01:00
John Cupitt
39e75e07a2
deprecate "properties", register ".szi" as a suff
2022-03-29 17:50:48 +01:00
John Cupitt
d58b3410c4
tiny perf improvement
2022-03-28 12:35:25 +01:00
John Cupitt
a77a1071a2
fix a crash with empty image arrays in bandjoin
...
see https://github.com/libvips/pyvips/pull/310
2022-03-24 22:38:03 +00:00
John Cupitt
62fee01f3a
add notes on cast and copy to arithmetic
2022-03-23 10:24:24 +00:00
John Cupitt
9f351c9c58
tiny doc polish
2022-03-22 15:38:24 +00:00
John Cupitt
75e6906f52
improve morph docs
2022-03-22 15:36:11 +00:00
John Cupitt
9713a71bf0
block resolutions < 0
...
since they can trigger a sanity failure in the test suite
2022-03-22 15:09:13 +00:00