Lovell Fuller
3ad7363104
heifsave: add option to control subsample_mode
...
Defaults to no subsampling when Q>90 for consistency with jpegsave.
Deprecate VipsForeignJpegSubsample enum, replace with more generic
VipsForeignSubsample.
2021-01-13 10:01:34 +00:00
John Cupitt
5918af917e
more debugging code for heifload and save
...
and fix an assert fail with debugging enabled on recent libheif
2020-12-24 15:50:56 +00:00
John Cupitt
fcaba0e6ba
add @profile to webpsave
...
small tiffsave fixes too
2020-07-18 14:49:37 +01:00
John Cupitt
4bf27acccb
add 1/2/4 bit PNG save
...
- new @bitdepth param
- deprecate @colours param
2020-06-25 10:40:43 +01:00
Florian Heinrich
035e0bc756
Added read and write functionality for 2 and 4 bit greyscale TIF images
2020-06-09 11:23:28 +02:00
John Cupitt
dc29f8dde6
add subifd select to tiff load
2020-05-28 12:40:31 +01:00
John Cupitt
7deead8911
add a subifd flag to tiffsave
2020-05-13 12:45:28 +01:00
John Cupitt
0a23bf3578
revise formatting, add docs
...
fix up some formatting from https://github.com/libvips/libvips/pull/1552
plus some other small changes
2020-02-18 17:37:56 +00:00
elad laufer
8749871c71
- remove no_subsample from inner calls
2020-02-18 18:04:29 +02:00
elad laufer
d2b794ec35
- use a single enum and switch that replaces no_subsample, force_subsample
2020-02-17 11:29:57 +02:00
elad laufer
c626c9de14
add force subsample argument that overrides the Q deduced subsampling directive
2020-02-16 18:37:32 +02:00
John Cupitt
42930e8d87
add "depth" param to tiffsave
...
Add a "depth" param to tiffsave to set pyramid depth, just like the
"depth" param on dzsave.
See https://github.com/libvips/libvips/issues/1485
2020-01-26 18:39:47 +00:00
John Cupitt
63d54e5df2
final code cleanups after stream -> source rename
2019-12-30 14:23:51 +00:00
John Cupitt
252996e3ff
make check passes after stream -> source rename
2019-12-30 12:48:20 +00:00
John Cupitt
119dd2cb72
pytest passes again after stream -> source/target
2019-12-29 23:08:33 +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
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
7a047f5332
move ppm into ppmload
...
so we can add a ppm stream loader easily
2019-11-14 18:44:27 +00:00
John Cupitt
c1a027c8d7
ppm load uses streams
2019-11-14 12:57:39 +00:00
John Cupitt
3bbadc0198
revise streamo, ppm save uses it
...
streamo is simpler, and has a fast putc.
2019-11-13 17:50:02 +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
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
72cbaa9ea3
more revision
2019-10-21 15:04:30 +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
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
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
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
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
387cafa738
add jpegload_stream
2019-10-10 20:42:39 +01: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
394f9baa5e
deprecate webpload @shrink, use @scale instead
...
We need a fractional scale for thumbnail on webp to work well. @shrink
still works, but @scale overrides it.
2019-04-30 18:29:16 +01:00
John Cupitt
080ab87d37
Merge branch 'master' into HEAD
2019-04-11 16:18:39 +01:00
John Cupitt
cae7838f86
heifsave seems to work
2019-01-29 16:40:34 +00:00
John Cupitt
a833764878
start heifsave
2019-01-29 10:27:00 +00:00
Lovell Fuller
d134e05395
Expose libwebp reduction_effort parameter
2019-01-14 19:55:52 +00:00
John Cupitt
8edc2c3f22
add webp anim write options
2018-11-06 17:20:35 +00:00
John Cupitt
5dadc03ce0
start animation decode for webp
...
switch to demux API, start extended header read
2018-11-02 09:06:05 +00:00
John Cupitt
e106e1d100
add n/page params to webpload
...
and renumber all optional load args
2018-11-01 20:43:07 +00:00
John Cupitt
72f589764a
remove the @format param to magickload
2018-07-24 17:03:38 +01:00
John Cupitt
06a40cc7ee
sort-of works
...
but can't set meta correctly, try:
$ vipsheader -a sub-CC00050XX01_ses-7201_T2w.nii.gz
see all fields, but
$ vips copy sub-CC00050XX01_ses-7201_T2w.nii.gz x.v
$ vipsheader -a x.v
only see a few, odd
2018-07-18 17:09:53 +01:00
John Cupitt
7496381fc9
more getting ready for niftisave
2018-07-13 13:08:23 +01:00
John Cupitt
d186ac69d6
a more more work on niftisave
2018-07-10 17:16:49 +01:00
John Cupitt
cb76ffb0bd
break quantise out to a separate file
...
slightly simpler reference and memory handling too
2018-06-20 15:38:33 +01:00
Felix Bünemann
1abc5f901a
Add palette flag to trigger pngsave quantisation
...
and tweak docstrings.
2018-06-19 22:41:40 +02:00
Felix Bünemann
1e68b3a486
Rename pngsave colors/colours, quantize/quantise
2018-06-19 21:32:44 +02:00
Felix Bünemann
d9d2f7b89a
Add 8bpp PNG quantization support
...
This adds support for saving 8-Bit one band palette based PNG images
with palette based alpha channel (often called PNG8+Alpha).
The image is first converted to sRGBA and then quantized using
libimagequant controlled by the colors, Q and dither params.
2018-06-18 02:22:46 +02:00