Commit Graph

6160 Commits

Author SHA1 Message Date
John Cupitt
72cbaa9ea3 more revision 2019-10-21 15:04:30 +01:00
John Cupitt
d49e816641 start cleaning up 2019-10-21 10:57:20 +01:00
John Cupitt
4a311a5cdd Revert "start splitting up stream class"
This reverts commit 7756b8da71.
2019-10-18 18:00:23 +01:00
John Cupitt
7756b8da71 start splitting up stream class 2019-10-18 15:33:26 +01:00
John Cupitt
f99f3d3f57 revise seek() behaviour
fuzz tests fail though ... we need to split StreamInput up
2019-10-17 17:18:45 +01:00
John Cupitt
696ff2b24a fix up jpeg load
and revise descriptor test
2019-10-17 13:16:12 +01:00
John Cupitt
226819b8a8 move tiffload to streams
test_descriptors seems to fail now though, odd
2019-10-17 10:58:56 +01:00
John Cupitt
fb2ab23e26 start adding TIFF stream load
streams now have a seek() vfunc
2019-10-16 18:28:46 +01:00
John Cupitt
430fd97397 oop dropped webp free on load 2019-10-15 17:22:25 +01:00
John Cupitt
ad7d2b796f webp write is stream-based 2019-10-15 16:56:03 +01:00
John Cupitt
98410042ac add webpload stream
webp uses the new VipsStreamInput mmap interface
2019-10-15 15:46:37 +01:00
John Cupitt
5a788b89cf add mmap input sources
falls back to read() if no mmap
2019-10-15 14:04:47 +01:00
John Cupitt
28daeb1a8a start adding mmap input to stream 2019-10-15 10:09:24 +01:00
John Cupitt
88aa1bca86 polish png read 2019-10-15 08:33:48 +01:00
John Cupitt
c3e1dd47bf fix test suite
passes now
2019-10-14 21:01:25 +01:00
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