Joshua Sager
608a7cee9b
Introduce unlimited flag, enabling unlimited text chunks in PNGs ( #2419 )
...
* Introduce unlimited flag, enabling unlimited text chunks
* remove extraneous optional flag causing GLib-GObject-CRITICAL **: 17:10:34.095: validate_and_install_class_property
* Address feedback from @jcupitt
* various compilation error fixes
* Interlace detection uses unlimited=false
* attempt to fix tests
* documentation changes, introduced MAX_PNG_TEXT_CHUNKS and bumped max to 20 (was 10)
2021-08-29 18:06:33 +01:00
John Cupitt
8082063607
rename webp reduction-effort as effort
...
though effort still works
2021-07-30 11:07:43 +01:00
Lovell Fuller
aabb1555d2
pngsave: expose quantisation effort setting ( #2367 )
2021-07-30 10:43:42 +01:00
John Cupitt
def025da3e
reorganise loadable modules
...
- heifload operation now defined in heifload.c, etc.
- C API wrappers moved to foreign.c
2021-05-17 09:45:27 +01:00
John Cupitt
77ab3d2562
fix build with non-standard libheif location
2021-05-16 20:44:50 +01:00
John Cupitt
03f76b73b4
add "premultiply" param to tiffsave
...
Some programs, like indesign, only work with premultiplied alpha in TIFF. To
make TIFFs which are compatible with these programs, we'll need an extra
TIFF save flag (perhaps premultiply?) to premultiply alpha and save as
EXTRASAMPLE_ASSOCALPHA.
see https://github.com/libvips/libvips/issues/2192
2021-05-01 20:08:06 +01:00
John Cupitt
edcdf8af70
rebase add-jp2ktiff on master
2021-04-26 15:16:20 +01:00
John Cupitt
023f74b037
Merge branch 'master' into gmodulized
2021-04-26 09:03:12 +01:00
Kleis Auke Wolthuizen
6fd38df95a
Build a dynamically loadable module for OpenSlide
...
By default, a dynamically loadable module is built for OpenSlide (i.e.
`--with-openslide=module`) when:
* OpenSlide is found;
* GModule is supported (`gmodule_supported` pkg-config variable).
This can be overridden on the command line with:
* `--without-openslide` - to disable OpenSlide usage;
* `--with-openslide[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
John Cupitt
10a0c5a4bb
start adding jxlsave
2021-04-03 11:57:11 +01:00
John Cupitt
454f448c5b
add jp2ksave
...
works, but not quite done
2021-03-19 11:49:07 +00:00
John Cupitt
4f762d6609
add vips_niftiload_source()
2021-02-12 15:29:58 +00:00
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