Commit Graph

6806 Commits

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