Commit Graph

6228 Commits

Author SHA1 Message Date
John Cupitt f98adc1a0a strange fuzzer failure
possible fix
2019-10-07 15:57:00 +01:00
John Cupitt 71b557cfc1 remove "minimise" handler from tiffload
We need to be able to disconnect the underlying fd and we can't do that
without making our own input handler for files. Implement this when we add
input objects.
2019-10-07 15:42:29 +01:00
John Cupitt c92a71cb98 fix pngload segv on header error 2019-10-07 14:58:49 +01:00
John Cupitt 3510c515f2 oop deleted one png init too many 2019-10-07 13:30:19 +01:00
John Cupitt fef3dae892 Revert "fix up png restart"
This reverts commit 120ba3289c.
2019-10-07 13:15:29 +01:00
John Cupitt 120ba3289c fix up png restart
hopefully ... we needed a png_init_io() as well
2019-10-07 12:11:45 +01:00
John Cupitt 2d374c3114 pngload supports restart after minimise
plus a test
2019-10-07 10:01:15 +01:00
John Cupitt 3eca1ff3ee heifload passes the new descriptor tests 2019-10-06 19:29:10 +01:00
John Cupitt 3f1eb2c7dd test pdfload in te new desc tester
and fix a couple of small issues
2019-10-06 18:27:40 +01:00
John Cupitt 09b4ce6d9b test gifload for fd leaks 2019-10-06 10:55:19 +01:00
John Cupitt efcd31b498 add something to test the new restart system
do multiple renders from one seq iage, check fds are opened and closed
as expected

see https://github.com/libvips/libvips/issues/1370
2019-10-06 07:25:09 +01:00
John Cupitt c1921b0ad1 add a test for file descriptors
verify new loader behaviour with minimise
2019-10-04 17:44:25 +01:00
John Cupitt c328b089b1 jpegload restart after minimise
after minimise, we need to reopen the underlying file

passes pytest but a proper test is still to come

https://github.com/libvips/libvips/issues/1370
2019-10-03 16:40:52 +01:00
John Cupitt 0830875917 add restart to heifload
heifload will restart read if necessary after minimise

see https://github.com/libvips/libvips/issues/1370
2019-10-03 13:16:37 +01:00
John Cupitt 1ef1b2d987 much faster handling of missing heif thumbnails
Fetching the thumbnail from a heif image without a thumbnail used to
reselect the image for each scanline, which was horribly slow.

Thanks Kleis!
2019-09-30 14:58:43 +01:00
John Cupitt a92f0ed504 smarter heif thumbnail selection in `thumbnail`
We were checking for thumbnail width and height > target width and
height, but of course we can have one of target width or height very
large if we are leaving that axis to float in size.

Instead, calculate a shrink from the heif thumbnail size and see if that is
>= 1.0, ie. we can generate output without upsizing.
2019-09-30 14:34:11 +01:00
John Cupitt 4f1e57c040 add restart after minimise support to gifload
see https://github.com/libvips/libvips/issues/1370#issuecomment-533169856
2019-09-26 18:07:18 +01:00
John Cupitt 5df173dd15
Merge pull request #1433 from lovell/silence-gcc-warnings
Silence a couple of GCC compiler warnings
2019-09-20 17:38:10 +01:00
Lovell Fuller 02c42fdeba Silence a couple of GCC compiler warnings 2019-09-20 17:08:25 +01:00
John Cupitt e16e4abeda make pdfload header a proper vfunc
_buffer was not inheriting it correctly
2019-09-19 18:09:19 +01:00
John Cupitt 0323b77666 pdfload reopens after minimise if necessary
We were using "minimise" to close pdf input early, but this will break
programs which make several output images from one sequential input
image. For example, loading all pages of a PDF as a toilet-roll image,
then saving pages as a set of PNGs.

This patch adds vfuncs for open and close, and makes _generate reopen
the input if necessary.

We will need similar patches for pdfiumload, gifload, gifnsload,
tiffload etc.

see https://github.com/libvips/libvips/issues/1370#issuecomment-533169856
2019-09-19 17:04:42 +01:00
John Cupitt 2472f52123 default to open issues rather than all issues 2019-09-19 06:05:42 +01:00
John Cupitt bebe923664 better fuzz badge 2019-09-19 05:55:34 +01:00
John Cupitt 06a13f59f2
Merge pull request #1431 from libvips/add-opencollective-link
Add link to opencollective
2019-09-18 15:30:51 +01:00
Lovell Fuller 3de1c3874a
Add link to opencollective
Links the libvips GitHub repo to https://opencollective.com/libvips
2019-09-18 15:02:55 +01:00
John Cupitt c9a7b92eeb version bump 2019-09-17 17:16:26 +01:00
John Cupitt f2319da762 remove svg test from test_formats.sh
It was very unreliable -- the output of librsvg varies too much between
librsvg versions.

This is still tested by the Python test suite.
2019-09-17 16:26:23 +01:00
John Cupitt f01023e222 fix a compiler warning
gcc could warn (incorrectly) about used before set in text.c
2019-09-17 13:32:37 +01:00
John Cupitt d4bd8c4c0b fix make dist for 8.8.3 2019-09-16 16:59:52 +01:00
John Cupitt 3b0d44be51 fix ref leak in thumbnail
we were accidentally reusing a t[] with RAD images
2019-09-14 00:22:36 +01:00
John Cupitt d8cb96581d Merge branch 'revise-svgload' 2019-09-12 13:11:17 +01:00
John Cupitt efdf33f3de add vips_error_buffer_copy()
Add vips_error_buffer_copy() to fix a race in error buffer fetch.

See https://github.com/libvips/libvips/issues/1423

Thanks @dineshkannaa
2019-09-12 09:49:49 +01:00
John Cupitt e505d56079 experiment with svgload as a sequential loader
see https://github.com/libvips/libvips/issues/1425
2019-09-11 16:58:20 +01:00
John Cupitt d290c971ab reorganise vipspng a little
so we only set max malloc in one place

see https://github.com/libvips/libvips/pull/1424
2019-09-11 14:56:32 +01:00
John Cupitt 64898330e4
Merge pull request #1424 from OrderMyGear/png-max-malloc-buffer
also set png max chunk malloc when reading buffer
2019-09-11 14:22:33 +01:00
John Cupitt 0b57e2cdc2 note mozjpeg settings in docs
see https://github.com/libvips/libvips/issues/1422
2019-09-11 09:29:43 +01:00
Matt Drollette e233698c2b also set png max chunk malloc when reading buffer 2019-09-10 12:31:11 -05:00
John Cupitt 7b2729adfa fix up nifti load/save
- use double for all floating point scalar metadata, like other loaders
- remove use of stray "n" property
2019-09-09 16:06:22 +01:00
John Cupitt 7987cf63c3 fix magick gif optimisation
defines were misspelt
2019-09-07 15:45:27 +01:00
John Cupitt dd9eba9e26 add @format and @interpretation to rawload 2019-09-05 16:25:55 +01:00
John Cupitt f09bd91f69 allow vips_init(NULL)
gave an assert error before
2019-09-05 14:28:19 +01:00
John Cupitt 1ee54bfa80 Merge branch '8.8' 2019-09-05 12:45:08 +01:00
John Cupitt f80c7a1810 add tests for xres/yres in tiffsave 2019-09-05 12:39:56 +01:00
John Cupitt 06fdc95038 xres/yres params in tiffsave were in cm
and should have been in pixels/mm

thanks f--f

see https://github.com/libvips/libvips/issues/1421
2019-09-04 17:02:24 +01:00
John Cupitt 2ab5aa7bf5 fix a used-before-set error in im_vips2dz
we were reading an uninited string in a vips7 compatibility wrapper, thanks
yifengchen-cc

see https://github.com/libvips/libvips/issues/1419
2019-09-03 13:17:18 +01:00
John Cupitt 8ddbfbaf0c fix RGBA heifsave
we need to set plane bits as well

see https://github.com/libvips/libvips/issues/1411
2019-09-01 20:55:25 +01:00
John Cupitt da8cee048f enable alpha in heifsave
Check for image alpha and enable it. There seem to be some
non-transparent tiles, curiously.

See https://github.com/libvips/libvips/issues/1411
2019-09-01 16:58:50 +01:00
John Cupitt 75b45cc2ef enable alpha handling in heic load
use RGBA decoding, when appropriate

see https://github.com/libvips/libvips/issues/1411
2019-09-01 16:37:43 +01:00
John Cupitt 0e63a410bb Merge branch 'master' of github.com:libvips/libvips 2019-09-01 13:13:46 +01:00
John Cupitt a1ed6c7f6c improve GIF edarly close again
We were trying to keep the FILE open for gifload between header and
load, but this meant some corrupt GIFs could keep the file open longer
than they should.

Instead, make close into a vfunc and always close between header and
load.

see https://github.com/libvips/libvips/issues/1370#issuecomment-526829415
2019-09-01 12:54:47 +01:00