Commit Graph

6914 Commits

Author SHA1 Message Date
John Cupitt 6894159ad5 fix icc-profiles and dzsave --no-strip
We were not copying metadata down pyramid layers in dzsave, so
--no-strip didn't allow icc profiles on tiles.

Thanks altert

See https://github.com/libvips/libvips/issues/1879
2020-11-11 10:02:46 +00:00
John Cupitt 1686725117 block annoying INFO messages on some older glibs
Some old glibs can display INFO messages by default. Block these
ourselves.

See https://github.com/libvips/libvips/issues/1876
2020-11-10 11:03:18 +00:00
John Cupitt 4de9b56725 flush target at end of write
we were missing end-of-write flushes on four save operations

thanks harukizaemon

see https://github.com/libvips/ruby-vips/issues/256
2020-11-04 09:28:25 +00:00
John Cupitt 39899582d4 add tests for tiff pyr save region-shrink flag
we were testing the flag before, but not that the result was correct

see https://github.com/libvips/libvips/issues/1875
2020-11-03 23:44:11 +00:00
John Cupitt 85f3ac6d8f fix tiff pyramid save region-shrink
we'd forgotton to connect it up

thanks imgifty

see https://github.com/libvips/libvips/issues/1875
2020-11-03 23:14:44 +00:00
John Cupitt 91d9610a55 fix out of bounds read in tiffload
libtiff can change the value of some fields while scanning a corrupt
TIFF file and this could trigger an out of bounds read.

This patch makes tiffload more cautious about rescanning a TIFF
directory before reading out header fields.
2020-11-03 11:48:21 +00:00
Kleis Auke Wolthuizen 4533375f63 Fix centre convention 2020-11-02 13:51:27 +01:00
Kleis Auke Wolthuizen fdc140e8e9 Round sum values to the nearest integer in *_notab 2020-11-02 13:51:27 +01:00
Kleis Auke Wolthuizen 49d8051e22 Revert "Remove round-to-nearest behaviour"
This reverts commit ac30bad6
2020-11-02 13:51:27 +01:00
John Cupitt ae82bcc3e8 fix out of bounds exif read in heifload
We were subtracting 4 from the length of the exif data block without
checking that there were 4 or more bytes there.
2020-10-20 08:54:54 +01:00
John Cupitt 0131d4d3eb fix vips7 webp load
webp load using the vips7 interface was crashing, thanks barryspearce

see https://github.com/libvips/libvips/issues/1860
2020-10-19 14:34:02 +01:00
John Cupitt b1e636346a relax is_a heic test rules
32 was a little too small, see https://github.com/libvips/libvips/issues/1861
2020-10-18 22:36:15 +01:00
John Cupitt f1d2d4030e fix build with libheif save buit not load
We had some definitions inside the #ifdef HEIFLOAD.

Thanks estepnv

https://github.com/libvips/libvips/issues/1844
2020-10-09 14:02:53 +01:00
John Cupitt 678b6d5c95 fix a regression in the C path for dilate/erode
A ++ had been dropped in the recent refactoring. Credit to kleisauke.

See https://github.com/libvips/libvips/issues/1846
2020-10-07 15:23:40 +01:00
John Cupitt 80b73af225 note new "speed" param in heifsave
To help support the rapid move to AVIF.

see https://github.com/libvips/libvips/pull/1819#issuecomment-704145244
2020-10-06 10:50:06 +01:00
Lovell Fuller fc1e609f44 libheif: expose speed parameter (currently AV1 compression only)
Supports both aom and rav1e encoders by limiting to a 0-8 range.

(The rav1e encoder accepts speed values of 9 and 10 but these
use 64x64 blocks more suited to video than images.)
2020-10-06 10:48:54 +01:00
John Cupitt 5b119e183f pdfload was missing a rewind on source 2020-10-04 14:26:13 +01:00
John Cupitt edbe9bf8ef revise pipe sources (again)
Simplify and cleanup.
2020-10-04 14:05:53 +01:00
John Cupitt 0ee8b1e844 improve seek on pipes
There were a few issues in VipsSource around seeking on pipes. With this
patch, EOF detection is better, and pipe sources automatically turn into memory
sources when EOF is hit.

see https://github.com/libvips/libvips/issues/1829
2020-10-03 18:25:24 +01:00
John Cupitt e3181e0579 get docs building with goi 1.66+
It builds now, but some doc sections are missing. Fix this properly in
8.11.

See https://github.com/libvips/libvips/issues/1836
2020-09-28 12:32:06 +01:00
John Cupitt b3f77634df Merge branch '8.10' of github.com:libvips/libvips into 8.10 2020-09-27 10:03:29 +01:00
John Cupitt 237604bb07 revise heifload EOF detection
VipsSource used a unix-style model where read() returns 0 to mean EOF.
libheif uses a model where a separate call to wait_for_file_size()
beforehand is used to check thaht the read will be OK, and then the
read() is expected to never fail.

We were trying to put EOF detection into libheif read(), but that's not
the right way to do it. Instead, test for EOF in wait_for_file_size().

see https://github.com/libvips/libvips/pull/1833
2020-09-26 13:00:52 +01:00
Lovell Fuller 7829518847 heifload: prevent reading beyond end of source buffer 2020-09-26 12:03:06 +01:00
Lovell Fuller c714a2b315 heifload: prevent reading beyond end of source buffer 2020-09-26 04:02:29 +01:00
John Cupitt cdae2c1995 note fractsurf fix in changelog 2020-09-25 12:43:04 +01:00
Kleis Auke Wolthuizen 01765df53c Fix test failure on ARM-based Windows
The optional parameters of vips_gaussnoise were incorrectly
passed within vips_fractsurf. This was discovered when running
the libvips testsuite on Windows 10 IoT (ARM32).
2020-09-25 12:41:22 +01:00
John Cupitt 8d52c8b761 revise heif sniffing again 2020-09-23 21:03:22 +01:00
Lovell Fuller b6276dd44d heifload: simplify is_a check of first 4 bytes
Allow multiples of 4, up to 32, as chunk length
2020-09-23 20:49:48 +01:00
John Cupitt e4b711a358 better heif signature detection 2020-09-23 08:13:52 +01:00
Lovell Fuller 553eb73965 Verify ISO/3GPP2 signature in heifload is_a check 2020-09-23 08:12:14 +01:00
John Cupitt ffe574399e oop typo 2020-09-21 10:07:25 +01:00
John Cupitt 54144a8bc5 allow gaussblur sigma 0
meaning no blur (obviosuly)
2020-09-21 09:45:08 +01:00
John Cupitt 10bada0161 tiny thumbnail speedup
thumbnail can skip premultiply/unpre if there's no residual resize
2020-09-21 09:38:11 +01:00
John Cupitt 0c7b65e156 allow both dpi and scale to be set for pdfload
pdfload didn't allow both dpi and scale to be set. This patch makes the
two settings combine if both are given.

thanks le0daniel

see https://github.com/libvips/libvips/issues/1824
2020-09-21 09:29:25 +01:00
John Cupitt dc88d6c1e1 fix dzsave iiif dimensions
dzsave in iiif mode could set info.json dimensions off by one

thanks Linden6

see https://github.com/libvips/libvips/issues/1818
2020-09-17 17:07:08 +01:00
John Cupitt 7a5a3a31fc block doxy latex output too 2020-09-15 12:08:55 +01:00
John Cupitt 0617165c66 raise minimum libheif version to 1.3
We didn't compile with anything less than 1.3 anyway.

see https://github.com/libvips/libvips/issues/1817
2020-09-15 10:18:38 +01:00
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