Commit Graph

6875 Commits

Author SHA1 Message Date
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
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