Commit Graph

6145 Commits

Author SHA1 Message Date
John Cupitt 55d2ba8a4d start adding png stream save
doesn't pass the test suite yet
2019-10-14 18:32:41 +01:00
John Cupitt 1bdadeed61 add png stream load 2019-10-14 18:03:45 +01:00
John Cupitt f6d247627f incorporate revision comments from @kleisauke
Thanks!
2019-10-14 12:18:40 +01:00
John Cupitt 9ea5e902b6 test descriptor properties 2019-10-14 12:02:59 +01:00
John Cupitt c01c3b9100 add minimise support to VipsStreamInput 2019-10-14 10:46:17 +01:00
John Cupitt 6f0002c023 add plumbing for stream minimise
and ::finish becomes a vfunc
2019-10-13 20:59:02 +01:00
John Cupitt a8fd5602ea disable jpg descriptor test
since we don't have minimise support in stream yet
2019-10-12 17:39:10 +01:00
John Cupitt 5f6911d516 add thumbnail_stream
this works:

	$ cat k2.jpg | vips thumbnail_stream [descriptor=0] x.jpg 200
	$ vipsheader x.jpg
	temp-0: 141x200 uchar, 3 bands, srgb, jpegload
2019-10-12 17:37:31 +01:00
John Cupitt 4d3f66fe33 add stdout write
this now works:

	$ vips invert k2.jpg .jpg | vips invert stdin x.jpg

"stdin" means read from stdin, ".jpg" means write to stdout in JPG
format
2019-10-12 14:12:01 +01:00
John Cupitt a2d57180b1 jpg stream output passes tests 2019-10-12 13:11:22 +01:00
John Cupitt d991b73ac5 jpegsave_stream mostly done
$ vips jpegsave_buffer x.jpg

doesn't work though -- need to rethink how output blobs are made
2019-10-11 18:17:42 +01:00
John Cupitt 20cb0da247 test suite passes
with all jpegload coming via VipsStreamInput
2019-10-11 14:03:10 +01:00
John Cupitt 6c1d7db31b remove old jpeg load stuff
it's just stream now

works on buffer, but seems to fail on

	vipsheader йцук.jpg

curiously
2019-10-11 09:43:12 +01:00
John Cupitt ad822109d4 input works
this works now:

	cat k2.jpg | vips invert - x.jpg

output next
2019-10-11 07:51:43 +01:00
John Cupitt 442720a0a1 add magic "-" stdin filename
this almost works!

$ vips invert - x.jpg < k2.jpg
2019-10-11 05:38:58 +01:00
John Cupitt 3a2bebdffb jpegload_stream registers 2019-10-10 22:02:39 +01:00
John Cupitt 387cafa738 add jpegload_stream 2019-10-10 20:42:39 +01:00
John Cupitt 0307184050 new input stream done
needs testing ... also needs minimise support, and sniffing
2019-10-09 17:42:06 +01:00
John Cupitt 372bbc8020 paste stream.c back in
revise stream.h, implement it next
2019-10-08 17:52:30 +01:00
John Cupitt be7c1404c3 add a note about pdfium minimise 2019-10-07 17:19:12 +01:00
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 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 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