Commit Graph

8026 Commits

Author SHA1 Message Date
John Cupitt
81dc91927d fix ci build
adding the examples/ if/endif broke the sed that's used to remove extra
subdirs in ci
2022-09-11 11:36:33 +01:00
John Cupitt
d836166087 add some more examples 2022-09-09 10:14:59 +01:00
Sergey Alexandrovich
ce31c04cd2
nsgifload: choose tile-height based on page height (#2996) 2022-09-08 19:05:42 +01:00
John Cupitt
1bd618546b fix vips_init in example 2022-09-08 17:05:10 +01:00
John Cupitt
bce598cc35 Merge branch 'master' of github.com:libvips/libvips 2022-09-08 16:26:19 +01:00
John Cupitt
873c90710a add examples/ dir
plus one example
2022-09-08 16:25:33 +01:00
Luca Corbo
aef5c6b3e6
readme: meson build flags - fix small typo (#3034) 2022-09-08 14:51:47 +01:00
Daniel Löbl
2d9c50735f
webpsave: switch to sink_disc (#3018)
* webpsave: switch to sink_disc

* fix some warnings

* distinguish between animated and single image write

* fix some formatting issues

* add missing comments

* fix webpsave_mime

* don't use sink_disc for single image webp write

* fix potential segv/double free

* update changelog

* remove leftover function declaration

* Revert "don't use sink_disc for single image webp write"

This reverts commit a75922ca93ee8987fa5e1ffc52b68e22bd6fb1fb.

* implement review feedback

* adjust to a column size of 80

* get contiguous RGB(A) buffer directly from VipsRegion

* Revert "get contiguous RGB(A) buffer directly from VipsRegion"

This reverts commit 84fc10e52fb223f0208c605dde92d3f821ceee0e.

* accumulate image data directly in frame_bytes buffer

* switch WebP back to Webp naming scheme

* rename page_index to page_number

* revise formatting
2022-09-08 14:32:13 +01:00
John Cupitt
a36d382519 oop debug left on 2022-09-08 10:21:19 +01:00
John Cupitt
c0e91d139d revise cgifsave to save mem
a bit simpler too

copying dloebl's idea from https://github.com/libvips/libvips/pull/3018
2022-09-08 10:16:50 +01:00
John Cupitt
5d1e26255d Merge branch '8.13' 2022-09-08 09:14:01 +01:00
John Cupitt
0e7c7a9a13 note palette save fix 2022-09-08 09:12:27 +01:00
Lovell Fuller
b58b7bd416
pngsave: ensure 8-bit palette images can be created (#3031) 2022-09-08 09:10:02 +01:00
John Cupitt
3191e5cea5 revise cgif save loop 2022-09-07 12:10:20 +01:00
John Cupitt
91986a9778 revise cgif save loop 2022-09-07 11:10:02 +01:00
John Cupitt
45f5a1867d fix changelog layout 2022-09-05 10:18:13 +01:00
John Cupitt
fc01771454 fix changelog layout 2022-09-05 10:02:27 +01:00
John Cupitt
2912787f9d version bump for 8.13.2 2022-09-05 10:01:37 +01:00
John Cupitt
5afc4a2df5 Merge branch '8.13' 2022-09-05 09:59:25 +01:00
Kleis Auke Wolthuizen
e87c828aa5
dzsave: add missing include directive for errno/EEXIST (#3025)
Resolves: #3024.
2022-09-05 09:58:52 +01:00
John Cupitt
702ed8298f check for blocked operations on cache lookup
We could return an operation from cache even after the operatuion had
been blocked. This was harmless, but could cause confusion.

see https://github.com/kleisauke/wasm-vips/pull/24
2022-09-04 16:35:00 +01:00
John Cupitt
078ac059b7 update spngload for new header test 2022-09-03 22:42:41 +01:00
Kleis Auke Wolthuizen
867a09737c
CI: remove redundant glib-utils dependency (#3022)
The GLib utilities, which was split into its own `glib-utils`
formula has been merged back into `glib`, see:
https://github.com/Homebrew/homebrew-core/pull/108307

This reverts commit a846de017d.
2022-09-03 15:45:49 +01:00
John Cupitt
19009b15a9 revise loader demand hints
Add a check that header and load methods agree on the demand hint, and
make sure all loaders pass.

If they disagree, you can get bad performance in some cases, since the
pipeline can be built from the header dhint.
2022-09-03 15:31:37 +01:00
John Cupitt
a7e754162a
move tiff decompress outside lock (#2969)
* move tiff decompress outside lock

Most time in TIFF read is spent in decompression. If we move this
outside the lock, we can get a useful speedup.

This commit adds the machinery to move the lock to before decompress, so
jp2k decompression is now threaded.

Before:

```
$ vips copy wtc.jpg x.tif[tile,compression=jp2k]
$ time vips avg x.tif
117.249845
real	0m15.085s
user	0m16.155s
sys	0m0.109s
```

After:

```
$ time vips avg x.tif
117.249845
real	0m1.207s
user	0m18.384s
sys	0m0.369s
```

* start moving jpg decode outside the lock

* move jpeg decompress outside the lock

seems to work

* add some more tile size checks

double-check jpeg tile size before decode

* fix tiffload demand hinting

We were not setting the hint correctly in header load, and we were not
hinting smalltile for tiled TIFFs.
2022-09-03 13:10:58 +01:00
John Cupitt
9486110abb Merge branch '8.13' 2022-08-30 17:11:51 +01:00
Kleis Auke Wolthuizen
a19f326d19
dzsave: improve compatibility with libgsf < 1.14.29 (#3017)
* Implement `GsfOutfileStdio` by ourselves

* Add missing `->root` init

* Fix styling

* Update ChangeLog
2022-08-30 17:10:38 +01:00
John Cupitt
6a154ac9f2 add ".pnm" save
see https://github.com/libvips/libvips/issues/3016
2022-08-30 12:31:47 +01:00
John Cupitt
2e5e9fb755 set "magick-format" for IM7 load
see https://github.com/libvips/libvips/discussions/3011
2022-08-26 16:01:15 +01:00
John Cupitt
4a85214c0e set magick-format
see https://github.com/libvips/libvips/discussions/3011
2022-08-26 15:53:01 +01:00
John Cupitt
f4cd55ddf5 tweak popperload tile size
to make it big enough for an A4 page at 300dpi
2022-08-26 13:14:44 +01:00
Anton
f4a3c7eb54
Mention mozjpeg as the best libjpeg option (#2995) 2022-08-19 12:22:43 +01:00
Akash Hiremath
eb632c1f9b
Updated README.md to add Vix, Elixir lang bindings (#2991) 2022-08-15 18:42:40 +01:00
John Cupitt
794d8d03a1 Merge branch 'master' of github.com:libvips/libvips 2022-08-15 12:16:40 +01:00
John Cupitt
4df80b2e49 note GIF addition
see https://github.com/libvips/libvips/pull/2984
2022-08-15 12:16:07 +01:00
Daniel Löbl
0b70145d99
cgifsave: add support for interlaced GIF write (#2984)
* cgifsave: add support for interlaced GIF write

note: cgif >= v0.3.0 is required

* switch to warning instead of error

* add test

* fix test
2022-08-15 12:14:02 +01:00
John Cupitt
0029b3c416 require libjxl 0.7+ 2022-08-14 17:32:40 +01:00
John Cupitt
332d3a9093 Merge branch '8.13' 2022-08-14 17:28:26 +01:00
John Cupitt
e88db2ceb4 fix jxl load rewind
Looks like there's no way to reset the decoder state, so we have to
remake it.
2022-08-14 17:27:13 +01:00
John Cupitt
99e6bb833e ooops 2022-08-14 16:29:00 +01:00
Kleis Auke Wolthuizen
f36196db1b
jxlsave: avoid using deprecated functions (#2989)
* jxlsave: avoid using deprecated functions

The upcoming libjxl 0.7 has deprecated a number of functions.

* Prefer to use `ifdef` instead
2022-08-14 15:54:21 +01:00
Kleis Auke Wolthuizen
34427d83a0
jxlsave: correctly mark frame as last (#2988)
It's required to close the input, otherwise the encoder can't
know what the last frame is, resulting in an improper codestream.

Resolves: #2987.
2022-08-14 15:53:33 +01:00
John Cupitt
b4bfaeb980 Merge branch '8.13' 2022-08-14 12:16:10 +01:00
John Cupitt
1989203985 fix low bitdepth PNG save of high bitdepth images
SOme combinations of high bitdepth images with low bitdepth PNG save could
produce incorrect images, for example saving a 16-bit fourier image as 1-bit.
2022-08-14 12:14:55 +01:00
John Cupitt
94d3f93a46 add another low bitdepth png save test 2022-08-14 11:05:09 +01:00
John Cupitt
aa109f102d Merge branch '8.13' 2022-08-14 10:31:09 +01:00
John Cupitt
ca2796aa7f fix low-bitdepth spng save
There was a missing shift, thanks jeffska

See https://github.com/libvips/libvips/issues/2985
2022-08-14 10:26:24 +01:00
John Cupitt
c0637d9969 jp2ksave saves as jp2
Confusingly we previously saved jp2 images as a jpeg2000 codestream rather
than as a jp2 file.

See https://github.com/libvips/libvips/issues/2977
2022-08-11 16:49:40 +01:00
Felix Bünemann
c6214b4d47
Remove even pixel check for J2K subsample_mode auto (#2975)
Having a different colorspace and chroma subsampling just because the
source image happens to be an even or odd number of pixels is surprising
and hard to debug, so let's remove it.
2022-08-11 16:02:03 +01:00
John Cupitt
a928c9a885 a little more dbg output in heifsave 2022-08-11 10:30:23 +01:00