Commit Graph

4076 Commits

Author SHA1 Message Date
John Cupitt 2da56b918d note about libtiff error handlers 2019-07-13 14:28:50 +01:00
John Cupitt 044f8b74f6 Merge branch 'master' into add-tiff-webp-zstd 2019-07-11 13:50:47 +01:00
John Cupitt c3e7504835 Merge branch '8.8' 2019-07-10 17:44:39 +01:00
John Cupitt 7f47acab56 tiny improvement 2019-07-10 17:43:17 +01:00
John Cupitt 5e2d66d14b better early shutdown behaviour in shrinkv
read the tail of the input to force early shutdown in seq readers

does reducev need something similar?

see https://github.com/kleisauke/net-vips/issues/12
2019-07-09 16:58:30 +01:00
John Cupitt 52ee3b083f add webp and zstd support to tiffsave
needs some tests still
2019-07-08 10:39:44 +01:00
John Cupitt 063234fde1 set webp loop even if we strip
Make sure that webp loop_count is set, even if strip is enabled.

See https://github.com/libvips/libvips/issues/1339
2019-07-08 08:48:06 +01:00
John Cupitt c7f98ad0a5 Merge branch '8.8' 2019-07-07 13:12:51 +01:00
John Cupitt f45f0ecef4 limit resize if shrink would drop axis <1px
vips_resize() will break the aspect ratio and limit resize on an axis if
it would result in an image of less than 1px on that axis

see https://github.com/lovell/sharp/issues/1782#issuecomment-508921306
2019-07-07 10:19:33 +01:00
John Cupitt c8ca8f02ba keep magicksave delay array alive for longer
fixes a segv in magicksave_buffer ... we could try to use delay after im
had been unreffed in some circumstances
2019-07-06 17:45:41 +01:00
John Cupitt 3871369d3e Merge branch 'master' into deftomat-master 2019-07-06 14:50:40 +01:00
John Cupitt e7b6709f99 use a single loop to get frame and alpha metadata
we had two before, plus use the do/while form recommended for libwebp
frame iteration
2019-07-06 14:46:29 +01:00
John Cupitt 515bf68f46 reformatting for vips2webp
- move a couple of small functions inline for simplicity
- mark "gif-delay" as deprecated
- minor reformatting
2019-07-06 13:37:33 +01:00
John Cupitt 777c360774 safer gifload delay array init
- remove assumptions about n_pages
- minor reformatting
2019-07-06 11:34:20 +01:00
Tomáš Szabo bd9c97feed
Changes based on review 2019-07-05 17:23:29 +02:00
Przemysław Sobala 1c30a8567c [webp] Use well documented use_sharp_yuv option instead of preprocessing 2019-07-05 13:14:32 +02:00
John Cupitt 80f247cfb2 Merge branch '8.8' 2019-07-03 15:33:43 +01:00
John Cupitt 8cb2b613b7 note new heifsave param in changelog
plus tiny reformatting
2019-07-03 15:04:58 +01:00
John Cupitt 4a2c80043d
Merge pull request #1360 from lovell/heifsave-expose-compression
heifsave: expose compression option
2019-07-03 13:34:08 +01:00
Lovell Fuller 42f9f78c86 heifsave: expose compression option
improve error messaging, add further suffixes
2019-07-03 13:07:58 +01:00
John Cupitt 26100041e7 fewer warnings on tiffload
We were setting TIFFTAG_JPEGCOLORMODE == JPEGCOLORMODE_RGB for *all*
images, but libtiff warns if you use it on an image which is not
jpg-compressed.

Only set it for jpg-compressed images.

See https://github.com/libvips/libvips/issues/1329
2019-07-02 12:23:53 +01:00
John Cupitt e596fe5cd3 Merge branch 'master' into add-unlimited-to-svgload 2019-07-01 12:04:54 +01:00
Tomáš Szabo 091bb853dd
Merge remote-tracking branch 'upstream/master' 2019-06-30 18:03:45 +02:00
John Cupitt 25af46a189 add rgba -> rgb stage for webp output 2019-06-30 16:53:11 +01:00
Tomáš Szabo 166aae1440
sync fork 2019-06-30 17:10:56 +02:00
John Cupitt aac01126af magicksave supports strip option 2019-06-29 20:23:46 +01:00
John Cupitt 20b9d77086 don't need to test xoff / yoff 2019-06-29 13:18:29 +01:00
John Cupitt d3cd51a8c3 check alpha on animation rects too
see https://github.com/libvips/libvips/issues/1351#issuecomment-506942104
2019-06-29 11:50:26 +01:00
John Cupitt 55e49831b8 add "unlimited" to svgload
By default librsvg blocks SVGs > 10MB for security. This patch adds an
"unlimited" flag to remove this check.

We have to switch to using gio to get the librsvg API for this This
needs testing on the platforms we support.

We'll also need to bump the min version of librsvg we require in
configure.ac.

See https://github.com/libvips/libvips/issues/1354
2019-06-28 13:48:18 +01:00
John Cupitt 7d8b6d9d9f note webp change 2019-06-28 04:09:31 +01:00
John Cupitt 8a354c5aec improve webp rgba handling
disable webp alpha output if all frame fill the canvas and are solid

see https://github.com/libvips/libvips/issues/1351
2019-06-27 18:44:38 +01:00
John Cupitt 01a92679b5 oop left some DEBUG turned on 2019-06-27 17:34:07 +01:00
John Cupitt 72c103f95a Revert "remove no-alpha webp support"
This reverts commit d1094847a3.
2019-06-27 17:27:53 +01:00
John Cupitt 80648c2d2f text autofit could sometimes underfit
The autofit loop would terminate if either width or height fitted exactly,
but this could happen very early by chance. This patch makes it keep
looping until it finds a dpi which just fits.

See https://github.com/libvips/libvips/issues/1352
2019-06-27 17:19:53 +01:00
John Cupitt d1094847a3 remove no-alpha webp support
We used to try to spot webp images with no alpha and load them as plain
RGB, but it turns out this is difficult to do reliably, especially
for animated images.

This patch simply removes support, so all webp images now load as RGBA.

See https://github.com/libvips/libvips/issues/1351
2019-06-27 16:37:11 +01:00
Tomáš Szabo 42218cd613
formatting: use tabs instead of spaces 2019-06-21 15:59:32 +02:00
Tomáš Szabo ae50136845
feat: support frame delays 2019-06-21 15:06:22 +02:00
John Cupitt ea2367e24c forgot to rename the wrapper script
and add tiny dbg to gifload
2019-06-20 12:18:40 +01:00
John Cupitt 2aef873fcd add vips_image_get/set_array_int() 2019-06-20 11:32:47 +01:00
John Cupitt 8a98bea063 fix vipsthumbnail for pyr tiff files
thumbnail was not testing pyramidal tiff images for pyramidness correctly.

see https://github.com/libvips/libvips/issues/1297
2019-06-19 17:56:09 +01:00
John Cupitt 65c41ef7a5 fix a couple of clang compiler warnings 2019-06-15 17:35:46 +01:00
John Cupitt 75e69cc1e5 disable Orc if CET is on
If we are building with -fcf-protection (run-time checking of
indirect jumps) then Orc won't work. Make sure it's off.

Orc may support -fcf-protection in the future, but does not in June 2019.

https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fcf-protection
https://gitlab.freedesktop.org/gstreamer/orc/issues/17

see https://github.com/libvips/libvips/issues/1006#issuecomment-501802550
2019-06-14 14:22:00 +01:00
John Cupitt db36e19ffa note PNG XMP support in docs 2019-06-13 09:26:09 +01:00
John Cupitt 37a3a6322c remove 256 band limit from arithmetic.c
there was a fixed-size array in vips__bandup()

see https://github.com/libvips/libvips/issues/1335
2019-06-12 09:22:30 +01:00
John Cupitt ad98222073 better behaviour for vips_region_fetch()
we weren't clipping the fetch area against region valid, so in some
cases we could return many more pixels than expected

see https://github.com/libvips/pyvips/issues/103
2019-06-09 20:38:13 +01:00
John Cupitt eaaa203f0a better compat with older IM
in the ismagick() test
2019-06-08 17:32:04 +01:00
John Cupitt dc8555201d use our sniffer as well is ismagick()
We need to check files for magickload with our sniffer as well as the
imagemagick one.
2019-06-08 17:13:49 +01:00
John Cupitt bb75535151 much faster ismagick
We used to Ping files to see if IM would load them, but this can be
extremely slow for file formats like ARW.

Instead, use GetImageMagick() ... it just checks the magic number.
2019-06-08 16:47:40 +01:00
John Cupitt eb6c803481 istiff tests first dir rather than magic number
We were testing for TIFF by checking the magic number at the head of the
file. However, formats like ARW are TIFF-like without being TIFF, and
will not load with tiffload.

Instead, try reading the whole of the first directory. This is enough to
stop tiffload trying to load files where it will simply fail
immediately, and make libvips fall back to eg. imagemagick.

see https://github.com/libvips/libvips/issues/1304
2019-06-07 17:52:13 +01:00
John Cupitt dc16f1253a fix a memleak in tiff pyr to memory
we were not freeing layers other than the top layer
2019-06-06 10:20:14 +01:00