Commit Graph

6357 Commits

Author SHA1 Message Date
John Cupitt 7f3174c3e5 Merge branch 'master' into loader-minimise-experiment 2019-07-23 11:45:24 +01:00
John Cupitt 019ac9a14d Merge branch 'master' of github.com:libvips/libvips 2019-07-22 12:56:47 +01:00
John Cupitt 03bf5a05fa note fuzz in ChangeLog 2019-07-21 18:02:57 +01:00
John Cupitt e1710edd39 ignore generated fuzzer binaries 2019-07-21 17:52:26 +01:00
John Cupitt a6fbf1af36
Merge pull request #1264 from omira-sch/add-oss-fuzz
improve fuzz targets and oss-fuzz integration
2019-07-21 17:48:58 +01:00
John Cupitt 4f2f4b4577 add gif, heif, rad, webp early close 2019-07-21 12:29:25 +01:00
John Cupitt 2c654060f9 experiment with a different early-close strategy
We close loaders early in order to save file handles, and on Windows to
make sure that files can be deleted as soon as possible.

Currently loaders do this by watching the Y coordinate of requests and
freeing the fd when the final line of the file is fetched. This is messy
and does not always work, since there are cases when the final line is
not fetched.

Instead, this patch gets loaders to listen for "minimise" on their
output and close on that. This signal is emitted on all upstream images
whenever a threadpool finishes a scan of an image and is usually used to
trim caches after computation.

See https://github.com/libvips/libvips/issues/1370
2019-07-20 16:31:30 +01:00
John Cupitt 67ad303d43 add VIPS_PROFILE env var to enable profiling 2019-07-19 16:04:07 +01:00
John Cupitt 64a6a27326 Merge branch '8.8' 2019-07-19 11:59:38 +01:00
John Cupitt 8cf6a9f9ca don't attempt to save large XMP to JPG
jpeg_write_marker() with some libjpeg versions will throw a fatal
error with large chunks.

To write >64kb XMP it you need to parse the whole XMP object,
pull out the most important fields, code just them into the main
XMP block, then write any remaining XMP objects into a set of
extended XMP markers.

http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/xmp/pdfs/XMPSpecificationPart3.pdf

Instead, just warn and skip large XMP blocks.

see https://github.com/libvips/libvips/issues/1372
2019-07-19 11:37:36 +01:00
John Cupitt 9063b8608e revise README 2019-07-18 08:43:41 +01:00
John Cupitt db5671ecbb
Merge pull request #1366 from kleisauke/vector-array-int
Support std::vector within the image_get/set_array_int functions
2019-07-16 09:49:24 +01:00
Oscar Mira 4b1c49eb95 suppress memory leak warnings for python tests
Now that travis does not fail, the allow_failure flag for the
clang-compiler job can be removed.
2019-07-16 01:19:37 +02:00
Oscar Mira 50ce012520 vips_guess_prefix memory leak was fixed in 8.8 2019-07-16 01:19:37 +02:00
Kleis Auke Wolthuizen 42bb8f51b9 Support std::vector within the image_get/set_array_int functions 2019-07-15 15:29:19 +02:00
Oscar Mira 1dd0f4f6a7 add travis build with clang and address-sanitizer
Create a new build job to run fuzz regression testing in travis. Also include a
suppression file to ignore known memory leaks.
2019-07-15 14:02:27 +02:00
Oscar Mira f2745e19c9 add check script for regression testing
Run the fuzz targets over the seed corpus with the standalone driver as part of
the test suite.
2019-07-15 14:02:27 +02:00
Oscar Mira f3cdf25923 disable PNG CRC checks in fuzzing mode 2019-07-15 14:02:27 +02:00
Oscar Mira 3ea72c286e improve fuzz targets and oss-fuzz integration
It replaces current fuzz setup with 5 new fuzzers integrating them with
top-level Makefile. It now supports multiple fuzzing engines and Google's
oss-fuzz. By default, the fuzzers are linked against an standalone runner to
easily reproduce bugs.
2019-07-15 14:02:27 +02:00
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
Tomáš Szabo ab7ef2c2bc
fix: make gif-loop consistent between GIF and WEBP 2019-07-08 14:28:48 +02: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 bf9a2adf58 Merge branch '8.8' 2019-07-07 19:47:25 +01:00
John Cupitt bad58598f6 fix "how it works" in docs
I tried loads of ways to fix the rendering of this page, but swapping
the sections headings is the only one that works :(
2019-07-07 17:18:48 +01:00
John Cupitt 37ef7ad231 tiny doc errors 2019-07-07 15:14:16 +01:00
John Cupitt c7f98ad0a5 Merge branch '8.8' 2019-07-07 13:12:51 +01:00
John Cupitt e4cff876a8 fix make dist
we'd renamed a file
2019-07-07 11:20:28 +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 9dc422cb21 relax testsuite for magicksave
it seems some magicks code gif-loop differently
2019-07-06 20:44:24 +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
John Cupitt 00676a2166 Merge branch 'master' of git://github.com/deftomat/libvips into deftomat-master 2019-07-06 11:01:02 +01:00
Tomáš Szabo 1b54684650
Add set and get for an array of ints 2019-07-05 17:29:11 +02:00
Tomáš Szabo bd9c97feed
Changes based on review 2019-07-05 17:23:29 +02:00
John Cupitt fd9dfc4426
Merge pull request #1361 from pszemus/master
[webp] Use well documented use_sharp_yuv option instead of preprocessing
2019-07-05 13:27:42 +01: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