Commit Graph

2020 Commits

Author SHA1 Message Date
John Cupitt 460efa73fa bump version for animated webp load fix 2020-12-18 10:12:26 +00:00
John Cupitt 728397d76c Merge branch '8.10' 2020-12-15 13:22:56 +00:00
John Cupitt 1b19e6f832 start 8.10.4
with a dropped patch from 8.10.3
2020-12-14 09:20:44 +00:00
John Cupitt 2db2b24200 Merge branch '8.10' 2020-12-13 03:43:51 +00:00
John Cupitt c12730748d forgot changelog update 2020-12-13 03:43:03 +00:00
John Cupitt 7839792c1a Merge branch '8.10' 2020-12-13 03:40:03 +00:00
John Cupitt 1d2864cc41 note HEIC fix in changelog
see https://github.com/libvips/libvips/pull/1921
2020-12-10 17:54:58 +00:00
John Cupitt 25db7849e7 Merge branch '8.10' 2020-12-09 15:19:18 +00:00
John Cupitt 3996f3279b fix range clips for casts to and from int
Fix two bugs:

- clip in casts from int32 and uint32 could overflow -- do these as gint64 now

- clip in casts from float to int could overflow since float32 can't
  represent the full range of int32 without losing precision -- do these
  as double

And add some more tests.

Thanks ewelot.

see https://github.com/libvips/libvips/issues/1922
2020-12-09 15:14:59 +00:00
John Cupitt 6eaf1eda30 make webp frame blend do doround to nearest
see https://github.com/libvips/libvips/pull/1918
2020-12-04 13:53:24 +00:00
John Cupitt 5f3482bff5 Merge branch '8.10' 2020-12-03 13:58:33 +00:00
John Cupitt 587a7c2d63 note ppmload fix 2020-12-02 21:03:44 +00:00
John Cupitt deab095b3c Merge branch '8.10' 2020-11-29 14:03:22 +00:00
John Cupitt 2585565b3e better test for output to target
We used to enable write to stdout if the first character of an output filename
was ".", eg.:

	vips copy x.jpg .png

But this will also enable write to stdout for things like:

	vips copy x.jpg ./y.png

This patch also tests that the rightmost "." in a filename is also the
first character.

Thanks barryspearce

See https://github.com/libvips/libvips/issues/1906
2020-11-29 13:59:30 +00:00
John Cupitt 864075c4f4 Merge branch '8.10' 2020-11-26 10:18:27 +00:00
John Cupitt acc579cc9d force binary mode for connections on win
stdin / stdout (for example) are created in text mode by default on
win. We need to flip them to binary mode for connection read and write.

See https://stackoverflow.com/questions/65014352/pipe-libvips-cli-output-to-stdout-in-windows
2020-11-26 10:15:48 +00:00
John Cupitt 7948b979a5 Merge branch '8.10' 2020-11-22 16:39:04 +00:00
John Cupitt 6340e14303 byteswap on ppm save, if necessary
this was missing, thanks ewelot

see https://github.com/libvips/libvips/issues/1894
2020-11-22 16:37:24 +00:00
John Cupitt c0bace8f91 Merge branch '8.10' of github.com:libvips/libvips into 8.10 2020-11-22 16:05:57 +00:00
John Cupitt 9f22c5dbf3 Merge branch 'master' of github.com:libvips/libvips 2020-11-22 16:05:19 +00:00
John Cupitt 3b9f9d3a12 Merge branch '8.10' 2020-11-22 16:01:58 +00:00
John Cupitt 8e25eef3d0 make ppm load default to msb first
We has lsb first as the default, breaking 16-bit PPM load. Thanks ewelot.

see https://github.com/libvips/libvips/issues/1894
2020-11-22 16:00:34 +00:00
John Cupitt e8ff67376d Merge branch '8.10' 2020-11-21 14:26:02 +00:00
John Cupitt c17e696243 backport gifheight check
ensure gifheight can't oevrflow

see https://github.com/libvips/libvips/pull/1892
2020-11-21 14:25:09 +00:00
John Cupitt d7e988d16f Merge branch '8.10' 2020-11-20 12:19:01 +00:00
John Cupitt d971c75d6f block 0 width or height images from imagemagick
IM could return 0 width and/or height for some crafted images. Block
these.

Thanks @Koen1999.

See https://github.com/libvips/libvips/issues/1890
2020-11-20 12:17:42 +00:00
John Cupitt 2772ecbb9e add "seed" param to perlin, worley and gaussnoise
see https://github.com/libvips/libvips/issues/1884
2020-11-16 09:14:06 +00:00
John Cupitt a43e9d3982 Merge branch '8.10' 2020-11-12 13:22:30 +00:00
John Cupitt 98641ba153 add read loops to gifload
and check for error in ppnmload.
2020-11-12 13:21:33 +00:00
John Cupitt 64e384d3ac Merge branch '8.10' 2020-11-12 12:18:49 +00:00
John Cupitt 2dd6fc1f36 note read fixes in changelog 2020-11-12 12:18:22 +00:00
John Cupitt e590a6919d fix changelog after GM backport 2020-11-12 12:16:36 +00:00
John Cupitt 09e0d5bff6 Merge branch '8.10' 2020-11-12 12:16:07 +00:00
John Cupitt c0102c5814 better GraphicsMagick image write
We were not setting matte or depth correctly, thanks bfriesen.
2020-11-12 12:00:11 +00:00
John Cupitt 013e8beba7 Merge branch '8.10' 2020-11-11 10:06:22 +00:00
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 3e40f19efc Merge branch '8.10' 2020-11-10 11:07:41 +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 b86c9c52e1 Merge branch '8.10' 2020-11-04 09:31:01 +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 20988977ab Merge branch '8.10' 2020-11-03 23:45:17 +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 076e7e3a92 Merge branch '8.10' 2020-11-03 11:52:05 +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
John Cupitt c07cadd915 Merge branch '8.10' 2020-10-20 08:56:49 +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 774b7fcf6f Merge branch '8.10' 2020-10-19 14:41:51 +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 b3481f5baa Merge branch '8.10' 2020-10-18 22:37:57 +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 50288c5f18 add pdfium load from source 2020-10-16 16:57:13 +01:00
John Cupitt 47b04c9da6 get pdium load working again
It had bitrotted a bit. Thanks @Projkt-James.

See https://github.com/libvips/libvips/issues/1400
2020-10-16 15:13:25 +01:00
John Cupitt d1f84b0985 better GraphicsMagick image write
We were not setting matte or depth correctly, thanks bfriesen.
2020-10-16 00:05:17 +01:00
John Cupitt 5556f1ec65 move the pdfium lock init
move it inside the existing ONCE

see https://github.com/libvips/libvips/pull/1857
2020-10-13 15:00:13 +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 29b6ba1294 Merge branch '8.10' 2020-10-07 15:27:27 +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 9fbf49cf60 Merge branch '8.10' 2020-10-06 11:43:13 +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
John Cupitt 727eb2ee39 Merge branch '8.10' 2020-10-03 18:29:23 +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 a1505c6f72 add stdin, stdout to vipsthumbnail
eg.

	vipsthumbnail stdin[page=2] -o .jpg[Q=90]

mirror of syntax in new_from_file etc.
2020-10-02 16:46:03 +01:00
John Cupitt c27c471e28 Merge branch '8.10' 2020-09-28 12:33:32 +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 b078c3c164 Merge branch '8.10' 2020-09-26 13:15:45 +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
John Cupitt d967f2bf65 Merge branch '8.10' 2020-09-25 12:43:24 +01:00
John Cupitt cdae2c1995 note fractsurf fix in changelog 2020-09-25 12:43:04 +01:00
John Cupitt fd0a0905ff note VImage::new_from_memory_steal() in ChangeLog
plus doxy commnets etc., see https://github.com/libvips/libvips/pull/1758/
2020-09-24 10:44:49 +01:00
John Cupitt 01bbef36d5 Merge branch '8.10' 2020-09-23 08:14:47 +01:00
John Cupitt e4b711a358 better heif signature detection 2020-09-23 08:13:52 +01:00
John Cupitt fa260df262 Merge branch '8.10' 2020-09-21 09:45:34 +01:00
John Cupitt 54144a8bc5 allow gaussblur sigma 0
meaning no blur (obviosuly)
2020-09-21 09:45:08 +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 d87a72c40d Merge branch '8.10' 2020-09-17 18:22:58 +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 a88c88bb7b Merge branch '8.10' 2020-09-15 10:20:15 +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 7514afa1fa Merge branch '8.10' 2020-09-14 17:40:18 +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 f116d0b8e2 Merge branch '8.10' 2020-09-14 12:35:24 +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 1864729771 Merge branch 'add-doxygen' 2020-09-06 14:03:29 +01:00
John Cupitt 17c16c0bb6 Merge branch '8.10' 2020-09-06 13:02:34 +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 8bdc327320 Merge branch '8.10' 2020-09-04 17:12:45 +01:00
John Cupitt 00096813da note render thread change in changelog 2020-09-04 12:41:19 +01:00
John Cupitt 610eea5462 Merge branch '8.10' 2020-09-03 19:33:09 +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 55d5837f0c Merge branch '8.10' 2020-09-01 12:38:58 +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 a3dfa3911e Merge branch '8.10' 2020-08-31 14:10:43 +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 2c4c4132e8 Merge branch '8.10' 2020-08-28 17:47:40 +01:00
John Cupitt b07cfa858a note svg fix 2020-08-21 11:39:33 +01:00
John Cupitt 409301a200 improve C++ API
Make VObject inheritance public, so we can have a single set() for all
VObject-derived types.
2020-08-19 15:08:28 +01:00
John Cupitt f8faa5f7f7 Merge branch '8.10' 2020-08-19 11:12:18 +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