73 Commits

Author SHA1 Message Date
Kleis Auke Wolthuizen
8abcae3abc Avoid using vips7 symbols 2020-06-18 14:21:43 +02:00
John Cupitt
3847f71c54 rename bufis as well 2019-12-30 16:57:19 +00:00
John Cupitt
4c5873809f experiment with renaming stream
rename as VipsConnection, VipsSource, VipsTarget etc.

see https://github.com/libvips/libvips/issues/1494#issuecomment-569498619

renamed with this script:

```

set -e

edit() {
        sed -i -E "$1" rename
}

for i in $*; do
        cp $i rename

        edit s/VIPS_STREAMOU/VIPS_TARGET_CUSTOM/g
        edit s/VIPS_STREAMO/VIPS_TARGET/g
        edit s/VIPS_STREAMIU/VIPS_SOURCE_CUSTOM/g
        edit s/VIPS_STREAMI/VIPS_SOURCE/g
        edit s/VIPS_STREAM/VIPS_CONNECTION/g

        edit s/vips_streamou/vips_target_custom/g
        edit s/vips_streamo/vips_target/g
        edit s/vips_streamiu/vips_source_custom/g
        edit s/vips_streami/vips_source/g
        edit s/vips_stream/vips_connection/g

        edit s/VipsStreamou/VipsTargetCustom/g
        edit s/VipsStreamo/VipsTarget/g
        edit s/VipsStreamiu/VipsSourceCustom/g
        edit s/VipsStreami/VipsSource/g
        edit s/VipsStream/VipsConnection/g

        # eg. VIPS_TYPE_STREAM or VIPS_IS_STREAM
        edit "s/VIPS_([A-Z]+)_STREAMOU/VIPS_\1_TARGET_CUSTOM/g"
        edit "s/VIPS_([A-Z]+)_STREAMO/VIPS_\1_TARGET/g"
        edit "s/VIPS_([A-Z]+)_STREAMIU/VIPS_\1_SOURCE_CUSTOM/g"
        edit "s/VIPS_([A-Z]+)_STREAMI/VIPS_\1_SOURCE/g"
        edit "s/VIPS_([A-Z]+)_STREAM/VIPS_\1_CONNECTION/g"

        edit s/streamou/target_custom/g
        edit s/streamo/target/g
        edit s/streamiu/source_custom/g
        edit s/streami/source/g

        # various identifiers which also change
        edit s/is_a_stream/is_a_source/g
        edit s/find_load_stream/find_load_source/g
        edit s/find_save_stream/find_save_target/g
        edit s/new_from_stream/new_from_source/g
        edit s/write_to_stream/write_to_target/g
        edit s/vips_thumbnail_stream/vips_thumbnail_source/g

        # eg. vips_webpload_stream
        edit "s/vips_([a-z]+)load_stream/vips_\1load_source/g"

        # eg. vips_webpsave_stream
        edit "s/vips_([a-z]+)save_stream/vips_\1save_target/g"

        mv rename $i
done
```
2019-12-29 21:40:21 +00:00
John Cupitt
dd4b2e9c23 fix some clang warnings 2019-12-08 13:08:38 +00:00
John Cupitt
09325600ee rename VipsStreamib as VipsBufis
The VipsStreamib (stream input buffered) was misleading -- it was
implemented on top of VipsStreami, but was not a subclass.

Rename as VipsBufis (buffered input stream). It's a silly name, but
easy to remember and reflects the purpose better,
2019-11-18 13:09:04 +00:00
John Cupitt
17b994419b move ppm save into the class
no separate save function now
2019-11-15 10:23:45 +00:00
John Cupitt
f5a4f41edf rename VipsStream* variables
The convention is now:

	VipStreami *streami;

We had `input` in many places, a left-over from the old VipStreamInput
name.
2019-11-11 09:09:34 +00:00
John Cupitt
ce4729c92b fix radload from pipe 2019-11-08 17:39:25 +00:00
John Cupitt
3d344b4b5f add Kleis's patches
and add minimise support to radiance load
2019-11-06 17:04:13 +00:00
John Cupitt
edca486f19 revise buffered input
rad load works now
2019-11-06 16:35:19 +00:00
John Cupitt
de94a725aa fix up streamib a bit more
radiance load is almost working
2019-11-04 17:52:43 +00:00
John Cupitt
6d3b53174d reworking rad load 2019-11-04 10:21:31 +00:00
John Cupitt
23663e8a88 add formatted output streams
you can printf() to output streams, implemented radiance stream write as
a test
2019-10-29 17:43:51 +00:00
John Cupitt
2d374c3114 pngload supports restart after minimise
plus a test
2019-10-07 10:01:15 +01:00
John Cupitt
4f2f4b4577 add gif, heif, rad, webp early close 2019-07-21 12:29:25 +01:00
John Cupitt
7ede9de631 fix heifload with debug on older libheif
and adjust line size for some loaders
2019-03-04 10:43:13 +00:00
John Cupitt
0b3565c04d update radiance load from upstream
thanks Greg Ward
2018-08-03 18:31:31 +01:00
John Cupitt
19b27c846e fix possible used-before-set in radiance.c
some versions of glib might not zero some parts of the Read struct

see https://github.com/jcupitt/libvips/issues/1040
2018-07-23 15:55:32 +01:00
John Cupitt
2d94fe732a escape ASCII control chars in xml
stops some XML parse errors on corrupt metadata

see https://github.com/jcupitt/libvips/issues/1039
2018-07-23 14:55:37 +01:00
John Cupitt
9fa03e80c7 fix buffer overflow in radiance read
old-style RLE images could overflow the output buffer if incorrectly coded

see https://github.com/jcupitt/libvips/issues/1039
2018-07-23 12:55:41 +01:00
John Cupitt
136c8d8cd6 credit rad change 2018-07-22 18:51:29 +01:00
John Cupitt
26fcccba9b fix out of bounds write in radiance
It was using a fixed 64-byte stack buffer for the RHS of format lines.
Lines can be MAXLINE (2048) chars, so a long line could overflow. If we
use MAXLINE for the small buffer as well, we are guaranteed to not
overflow.

thanks HongxuChen

See https://github.com/jcupitt/libvips/issues/1039
2018-07-22 16:28:29 +01:00
John Cupitt
927f92a8bb update rad read from rad5R1
hopefully the new radiance code will be more robust
2018-07-22 13:04:46 +01:00
John Cupitt
1e647a2af4 Merge branch '8.6' 2018-04-04 17:46:36 +01:00
John Cupitt
915226db21 oop missing a seek 2018-04-04 17:46:14 +01:00
John Cupitt
5f3bcd88ae Merge branch '8.6' 2018-04-04 17:11:16 +01:00
John Cupitt
632bce3c78 reduce stack use for radsave
fixes a crash on very low stack libcs like musl
2018-04-04 16:25:35 +01:00
John Cupitt
6f2861df5b move META_SEQ support into foreign load
simplifies loaders a bit
2018-01-01 11:14:27 +00:00
John Cupitt
362c7efdfc argh reapply seq removal 2017-03-06 11:55:38 +00:00
John Cupitt
dd5a108854 fix up new seq mode stuff
seems to work
2017-03-05 21:59:53 +00:00
John Cupitt
47a4a78a33 Merge branch 'try-expat' 2017-02-28 17:19:21 +00:00
John Cupitt
8f47c75a85 tiff uses vipdbuf 2017-02-28 16:44:12 +00:00
John Cupitt
f2a178e98f move buf writers on top of dbuf
tiff and webp not moved
2017-02-28 13:40:34 +00:00
John Cupitt
96b1aba1a7 Revert "experiment with removal of seq stall"
This reverts commit c6eb9ee0f2bb321c8f1a82544bd77bf6de2b49d3.
2017-02-27 10:26:59 +00:00
John Cupitt
e6b20cbd0f Revert "remove stalling"
This reverts commit 959f4123802ed6e861ba8f429e17ae813e398239.
2017-02-27 10:26:32 +00:00
John Cupitt
98f5421c10 Revert "remove readbehind"
This reverts commit cb83918a3f4b0135c06915a3a6fcc43689f6db77.
2017-02-27 10:24:56 +00:00
John Cupitt
cb83918a3f remove readbehind 2017-02-21 17:14:33 +00:00
John Cupitt
959f412380 remove stalling 2017-02-21 15:03:15 +00:00
John Cupitt
c6eb9ee0f2 experiment with removal of seq stall 2017-02-21 09:44:21 +00:00
John Cupitt
c90b8be0b8 add tiffsave_buffer
add tests

also some cleanups to foreign include files

see https://github.com/jcupitt/libvips/issues/417
2016-10-15 12:29:14 +01:00
John Cupitt
b566bc6b3d radsave was polluting the error log 2016-09-08 13:55:37 +01:00
John Cupitt
50468a07a2 clean up foreign
various cosmetic changes:

- pngsave_buffer now uses Write, not WriteBuf, same change for
  radsave_buffer

- move C wrappers out to class defs from foreign.c

- use g_free() not vips_free() for buffer free from low-level savers

- fix var names in some comments

- various style changes for radiance.c
2016-05-24 10:57:02 +01:00
John Cupitt
0c28fc71d6 fix radsave
oop, suffix was being set ono the base class
2016-05-24 07:55:30 +01:00
Henri Chain
d2c4bbeda2 Move common RLE code to function 2016-05-23 18:21:13 +02:00
Henri Chain
922b237d9e Add changelog 2016-05-23 17:24:00 +02:00
Henri Chain
98c7a766de remove debug stuff 2016-05-23 16:52:43 +02:00
Henri Chain
5678f93257 Add buffer-write support for Radiance 2016-05-23 16:37:28 +02:00
Henri Chain
14d7a97afc change write_new to make it independent from file I/O 2016-05-20 11:28:33 +02:00
John Cupitt
6368ab0649 add switches to disable rad, analyze and ppm
vips has built-in support for rad, analyze and ppm ... add configure
switches to disable these readers

useful to reduce the attack surface in some applications
2016-03-12 16:48:27 +00:00
John Cupitt
abe4e70d02 make radload slightly more robust
stops some valgrind warnings
2016-03-12 15:10:52 +00:00