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
John Cupitt
1b97b52318
clarify draw docs
...
see https://github.com/libvips/libvips/discussions/2733
2022-03-22 10:03:36 +00:00
John Cupitt
a77519f7c3
try to improve docs
...
see https://github.com/libvips/libvips/discussions/2733#discussioncomment-2412590
2022-03-22 09:10:34 +00:00
John Cupitt
eaf34b8f13
remove openjpeg bpp handling
...
it's deprecated
2022-03-17 15:02:29 +00:00
John Cupitt
168d7652c2
Merge branch '8.12'
2022-03-11 16:25:11 +00:00
John Cupitt
f0eb493643
fix thumbnail with cmyk output
...
see https://github.com/libvips/php-vips/issues/138
thanks AdamGaskins
2022-03-11 16:21:12 +00:00
Essem
d4eb2e82d2
cgifsave: Make loop counts more accurate ( #2709 )
...
* cgifsave: Added "noloop" option
* cgifsave: Change loop count logic
* make sure nsgifload returns the correct loop count
* Revert "make sure nsgifload returns the correct loop count"
This reverts commit 77550f097940944492d4178a783fc4e73c7a769f.
* Add fallback
2022-03-10 12:30:57 +00:00
John Cupitt
356edc3779
revise tests for new libnsgif loop behaviour
...
see https://github.com/libvips/libvips/pull/2712
2022-03-09 10:20:41 +00:00