Commit Graph

6777 Commits

Author SHA1 Message Date
John Cupitt
fe7086b173 add a .gitignore for the new cpp api
to stop accidentally adding it to 8.10
2020-09-15 10:18:09 +01:00
John Cupitt
96b6c6ba7a Merge branch '8.10' of github.com:libvips/libvips into 8.10 2020-09-14 17:39:58 +01:00
John Cupitt
4227606f5a fix tiff thumbnail from buffer and source
We were missing the new tiff thumbnail logic on the source and buffer
paths.

see https://github.com/libvips/libvips/issues/1815
2020-09-14 17:38:20 +01:00
John Cupitt
48a2551957 fix TIFF thumbnail of buffer and source
We had dropped a couple of patches.

see https://github.com/libvips/libvips/issues/1815
2020-09-14 17:26:19 +01:00
John Cupitt
348e5e1523 don't set JFIF res if we will set EXIF res
Some JPEG loaders give priority to JFIF resolution over EXIF resolution
tags. This patch makes libvips not write the JFIF res tags if it will be
writing the EXIF res tags.

See https://github.com/libvips/ruby-vips/issues/247
2020-09-14 12:33:31 +01:00
John Cupitt
801111a2fa better dint rules
We had some special cases coded for dhint inheritance, but they could
fail in some edge cases. Revert to something simpler and more
predictable.

see https://github.com/libvips/libvips/issues/1810
2020-09-08 13:50:14 +01:00
John Cupitt
6b2079bfd3 update magick metadata naming
IM seem to have changed their rules for naming metadata chunks. They are
now lowercase and ICM is renamed to ICC. Add a simple test too.

See https://github.com/libvips/ruby-vips/issues/246
2020-09-06 12:59:10 +01:00
John Cupitt
00096813da note render thread change in changelog 2020-09-04 12:41:19 +01:00
John Cupitt
a88061dfec fix jpegload autorotate
thanks chregu

see https://github.com/libvips/php-vips/issues/105
2020-09-03 19:31:56 +01:00
John Cupitt
20a5448da1 fix handling of "squash" param in tiffsave
the deprecated param was not being detected correctly, breaking vips7
compat in some cases

see https://github.com/libvips/libvips/issues/1801
2020-09-01 12:34:09 +01:00
John Cupitt
285ab2e6cc better mask sizing for gaussmat
We were calculating the mask size incorrectly for small masks.

Thanks johntrunc

see https://github.com/libvips/libvips/issues/1793
2020-08-31 13:37:08 +01:00
John Cupitt
99423649b9 start sinkscreen thread on first use
we were starting the sinkscreen background thread during vips_init() --
instead, start it on first use

see https://github.com/libvips/libvips/issues/1792
2020-08-28 17:46:23 +01:00
John Cupitt
caa1cb9d9b improve docs for arrayjoin
see https://github.com/libvips/pyvips/issues/202
2020-08-24 17:42:33 +01:00
John Cupitt
b07cfa858a note svg fix 2020-08-21 11:39:33 +01:00
Lovell Fuller
69ee8a32b6 Ensure SVG loader skips input with chars outside x09-x7F range
Add test with example valid WebP image that happens to contain
the string '<svg' within its compressed image data.
2020-08-21 11:38:40 +01:00
John Cupitt
270933c281 convert no-profile CMYK to RGB on save
Use the fallback cmyk profile to convert to RGB on save if the image has
no embedded profile.

Thanks augustocdias.

See https://github.com/libvips/libvips/issues/1767
2020-08-19 11:09:38 +01:00
John Cupitt
182e88957e prevent 0-length buffers reaching imagemagick
im6 seems to have added an assert for this

see https://github.com/libvips/libvips/pull/1785
2020-08-17 14:18:59 +01:00
Lovell Fuller
b73bc3a855 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 14:17:55 +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
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
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
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