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
587a7c2d63
note ppmload fix
2020-12-02 21:03:44 +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
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
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
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
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
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
98641ba153
add read loops to gifload
...
and check for error in ppnmload.
2020-11-12 13:21:33 +00:00
John Cupitt
2dd6fc1f36
note read fixes in changelog
2020-11-12 12:18:22 +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
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
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
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
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
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
cdae2c1995
note fractsurf fix in changelog
2020-09-25 12:43:04 +01:00
John Cupitt
e4b711a358
better heif signature detection
2020-09-23 08:13:52 +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
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
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
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
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
b07cfa858a
note svg fix
2020-08-21 11:39:33 +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
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
fcaba0e6ba
add @profile to webpsave
...
small tiffsave fixes too
2020-07-18 14:49:37 +01:00
John Cupitt
7c2c152a74
note wasm patch in changelog
2020-07-03 02:21:16 +01:00
John Cupitt
e4d38d1d3e
clip out of bounds GIF images against the canvas
...
Some malformed GIFs have images which lie outside or partly outside the canvas.
With this patch, these frames are clipped and rendered.
Previously, these GIFs were rejected.
See https://github.com/libvips/libvips/issues/1701
2020-07-02 16:41:37 +01:00