Commit Graph

7238 Commits

Author SHA1 Message Date
Lovell Fuller
f844dbb623 Ensure magick buffer+file checks use consistent min length guard
Prevents a zero-length buffer from crashing GetImageMagick

It looks like the fix for magick7 in #1642 is also now required
for magick6 as the assertion appears to have been backported.
2020-08-17 12:29:19 +01:00
John Cupitt
0d9dce4326 move vips-operators.h into the header
doxy hates #include inside classes
2020-08-17 10:58:49 +01:00
John Cupitt
cdcf63f8e5 fix regression in thumbnail of pyr tiff
The new subifd pyramid thumbnail code broke the old page-based pyramid
detector.

Thanks tand826

See https://github.com/libvips/libvips/issues/1784
2020-08-17 10:10:23 +01:00
John Cupitt
dfaabfc951 experiment with doxygen for C++ docs 2020-08-17 09:35:51 +01:00
John Cupitt
e4f1210d20 update wrapper script
fixes "make check".
2020-08-14 14:02:55 +01:00
John Cupitt
633abe7be8 add missing funcs to public C API
The C API was missing vips_jpegload_source and vips_svgload_source.
Thanks to augustocdias.

See https://github.com/libvips/libvips/issues/1780
2020-08-14 13:36:12 +01:00
John Cupitt
b981911f67 remove redefinition of typedefs
We had this in a couple of places:

	typedef struct _A A;
	typedef struct _A A;

Some old gccs (eg. centos6) throw errors for this.

See https://github.com/libvips/libvips/issues/1774
2020-08-13 12:51:56 +01:00
John Cupitt
fdded88cf7 start 8.10.1
following the doc generation fix
2020-08-09 14:39:37 +01:00
John Cupitt
603036a315 docs fix
pandoc changed the name of their top-level section node
2020-08-09 14:21:26 +01:00
John Cupitt
c2d217fcb1 put minimise support back into pdfload 2020-08-07 11:15:54 +01:00
John Cupitt
b40baec28b fix write ICC profile to webp
ooops, a typo broke ICC profile write to webp 18 days ago

thanks augustocdias

see https://github.com/libvips/libvips/issues/1767
2020-08-05 15:29:54 +01:00
John Cupitt
420daf892b fix typo
see https://github.com/libvips/pyvips/issues/198#issuecomment-668789846

thanks Tremeschin
2020-08-05 15:15:33 +01:00
Kyle Schwarz
b372fde637 Add parameter name for unused image 2020-08-02 11:04:10 -04:00
Kyle Schwarz
292dc9da4b Remove redundant part of comment 2020-08-02 10:20:44 -04:00
Kyle Schwarz
81920963b1 Remove cast in free() call 2020-08-02 10:19:47 -04:00
Kyle Schwarz
557bc5f6b4 Don't check g_signal_connect()'s return 2020-08-02 10:16:55 -04:00
Kyle Schwarz
fe815ff587 Add C++ bindings for new_from_memory_steal()
new_from_memory_steal() will create a new image with the input
buffer and will "move" the data into the image. The buffer is then
managed by the image, and will be freed when it goes out of scope.
2020-08-01 21:58:14 -04:00
John Cupitt
7a2b2f89a1
Merge pull request #1756 from libvips/heif-workaround
try to work around some broken heic images
2020-08-01 12:54:57 +01:00
John Cupitt
1099bd068c revise heic thumbnail workaround 2020-08-01 11:49:01 +01:00
John Cupitt
80abdce923 try to work around some broken heic images
see https://github.com/libvips/libvips/issues/1574
2020-07-31 17:41:23 +01:00
John Cupitt
95a221dd6e better dbg msg in spngload 2020-07-31 17:37:12 +01:00
John Cupitt
ba45c87b50 detect RLE overflow in radiance
old-style radiance RLE could overflow harmlessly

see https://oss-fuzz.com/testcase-detail/4918518961930240
2020-07-28 14:03:58 +01:00
John Cupitt
58b6d73a70 deprecate vips_popen()
it didn't work well on win, and we no longer use it anyway
2020-07-27 15:21:59 +01:00
John Cupitt
cb1634dd31 block fuzz data over 100kb
Many codecs can take a huge amount of time attempting to read large
random objects. jpeg_read_header(), for example, can take ~10s on a 1mb
of random data.

Ignore fuzz objects over 100kb.

See https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24383
2020-07-25 14:46:44 +01:00
John Cupitt
213533e03c better webp load sanity checking
see d93d9bb43b (r40846309)
2020-07-23 15:46:53 +01:00
John Cupitt
9a88b25aaa Merge branch 'master' of github.com:libvips/libvips 2020-07-23 15:42:04 +01:00
John Cupitt
17cddc196b improve pngload error messages too
see https://github.com/libvips/libvips/issues/1578
2020-07-23 15:41:20 +01:00
John Cupitt
70c0b36d4f better pngsave error message
add a target name to png's "unable to write to target" message

see https://github.com/libvips/libvips/issues/1578
2020-07-23 15:26:11 +01:00
John Cupitt
7c413f8872
Merge pull request #1727 from kleisauke/oss-fuzz-24230
Fix undefined-shift in scanline_read_old
2020-07-21 18:05:32 +01:00
John Cupitt
d203a3fb89 small comment improvements 2020-07-21 18:03:45 +01:00
John Cupitt
c4d093b01f
Merge pull request #1735 from lovell/perf-scrgb-to-rgb
Performance: improve scRGB to sRGB conversion by ~8%
2020-07-21 17:58:12 +01:00
John Cupitt
a6557eb94f
Merge pull request #1733 from lovell/perf-xyz2lab-clip
Performance: safely improve XYZ to LAB conversion by ~12%
2020-07-21 15:16:11 +01:00
Lovell Fuller
e508ea6511 Performance: improve scRGB to sRGB conversion by ~8%
- Remove unnecessary isinf checks as values are clipped
- Remove any ignored out-of-gamut tracking
2020-07-21 14:36:57 +01:00
Lovell Fuller
3659655750 Performance: improve XYZ to LAB conversion by ~15%
- VIPS_CLIP is faster than fmin/fmax based library calls
- Cast to int to ensure the cubed root LUT is not referenced by NaN
2020-07-21 14:21:27 +01:00
John Cupitt
b845d4a20d
Merge pull request #1732 from libvips/revert-1729-perf-lab-clip
Revert "Performance: improve XYZ to LAB conversion by ~15%"
2020-07-21 11:01:44 +01:00
John Cupitt
e82b1689c7
Revert "Performance: improve XYZ to LAB conversion by ~15%" 2020-07-21 11:00:35 +01:00
John Cupitt
54791b221c Merge branch 'master' of github.com:libvips/libvips 2020-07-20 15:01:19 +01:00
John Cupitt
d93d9bb43b fix large animated web support
we were not checking image bounds correctly for very large animated webp
images

thanks pomirleanu

see https://github.com/libvips/libvips/issues/1730
2020-07-20 14:59:36 +01:00
John Cupitt
ef6ad7f4bb
Merge pull request #1729 from lovell/perf-lab-clip
Performance: improve XYZ to LAB conversion by ~15%
2020-07-20 13:36:03 +01:00
John Cupitt
cba371a9ba add a note about atan2() use in complex.c
see https://github.com/libvips/libvips/pull/1728
2020-07-20 13:34:41 +01:00
John Cupitt
8eefe9f4fb
Merge pull request #1728 from lovell/lch-prefer-atan-over-atan2
Performance: improve LAB to LCH conversion by ~30%
2020-07-20 13:31:07 +01:00
Lovell Fuller
4aaa39502b Improve performance of conversion to LAB by ~15% 2020-07-19 21:20:21 +01:00
Kleis Auke Wolthuizen
aac1748615 Explicitly cast to unsigned int before left-shifting
To avoid potential signed integer overflow (undefined behavior), as
implicit integer promotion means the operand becomes a (signed) int.
2020-07-19 19:14:48 +02:00
Lovell Fuller
a7357c5757 Perf: improve conversion to LCH by ~30%, avoid costly atan2 2020-07-19 15:29:03 +01:00
Kleis Auke Wolthuizen
3460814b98 Add test case for undefined shift in rad2vips 2020-07-19 13:48:21 +02:00
John Cupitt
72ca38cab0 only rebuild heif exif if we have to
and fix write of XMP write in heic
2020-07-19 02:06:36 +01:00
John Cupitt
fcaba0e6ba add @profile to webpsave
small tiffsave fixes too
2020-07-18 14:49:37 +01:00
John Cupitt
a69c998ff0 avoid exif rebuild when stripping jpg
don't rebuild the exif data block if we don't need it

see https://github.com/libvips/libvips/issues/394
2020-07-18 14:07:21 +01:00
John Cupitt
63a549a3b2 Ugly hack to hide the GPSVersionID bug
see https://github.com/libvips/libvips/issues/394
2020-07-18 11:59:42 +01:00
John Cupitt
43385c928d fix crash with some openslide images
some openslide images seem to have null properties

see https://github.com/libvips/libvips/issues/1723
2020-07-17 10:50:09 +01:00