John Cupitt
cfd9dc3f01
try to handle mmap failing in source
...
Some filesystems have mmap disabled. Make vips_source_map() fall back to
read if mmap fails.
See https://github.com/libvips/libvips/discussions/2415
2021-09-08 09:24:36 +01:00
John Cupitt
f2dd4471eb
tiny code format changes
2021-09-07 13:54:59 +01:00
Lovell Fuller
e16cb5bfe5
quantise: optional thresholding of alpha channel ( #2425 )
...
Moving this logic from gifsave to quantise improves
the performance of writing RGBA GIFs by ~15%
2021-09-07 12:23:42 +01:00
Kleis Auke Wolthuizen
f2e5b7e9da
CI: resolve failures and various improvements ( #2426 )
...
* Simplify CI workflow
* CI: upgrade Ubuntu's Clang version to 12
* CI: upgrade macOS runner to version 11 (Big Sur)
* CI: temporarily disable the M1 runner
* CI: output test suite log upon failure
* CI: avoid brew update/upgrade steps
Since it may take a long time.
* CI: all jobs are supposed to succeed
* Fix test_descriptors.c failure after f8c2a36
Use a RANDOM image to create many crops from one source.
2021-09-07 11:14:45 +01:00
John Cupitt
f8c2a36746
arrayjoin signalling minimise also frees memory
...
By making the sequential line cache non-persistent, and only minimising
when the read point is well past the image.
On large arrayjoin operations, this saves many GB of memory.
See https://github.com/kleisauke/net-vips/issues/135
2021-09-06 23:14:36 +01:00
John Cupitt
579bdff012
more debug in source.c
2021-09-06 20:26:43 +01:00
John Cupitt
a20cd4cdc1
minimise arrayjoin inputs during processing
...
arrayjoin with a sequential pipeline will now minimise inputs when they
are no longer being used. This drops the number of open file handles
needed to construct large arrays.
Sadly, memory savings are minimal.
see https://github.com/kleisauke/net-vips/issues/135
2021-09-06 20:22:29 +01:00
John Cupitt
99724e6097
safer stop-early logic in tilecache
...
Don't actually stop the tilecache loop early, since that could deadlock,
instead just stop fetching from the pipeline.
see https://github.com/libvips/libvips/pull/2424
2021-09-05 12:55:52 +01:00
John Cupitt
e7889ff8e1
stop cache tile generation early on error
...
We didn't stop tile calculation as early as we could on error.
See https://github.com/libvips/libvips/pull/2424
2021-09-05 12:46:11 +01:00
Lovell Fuller
affc2400ed
heifload: switch demand to thinstrip ( #2424 )
...
Ensures decoding errors halt processing
2021-09-05 12:42:55 +01:00
John Cupitt
d5b40793b0
Merge branch '8.11'
2021-09-05 12:02:14 +01:00
John Cupitt
c5a6331d5e
note thumbnail fix in changelog
2021-09-05 12:01:51 +01:00
John Cupitt
6f9d3ecf91
Merge branch '8.11'
2021-09-05 12:00:20 +01:00
Kleis Auke Wolthuizen
632badabe1
Ensure vips_thumbnail doesn't send an axis to 0 ( #2416 )
2021-09-05 11:58:44 +01:00
Lovell Fuller
4d079f1691
gifsave: use cgif namespaced API ( #2422 )
...
See https://github.com/dloebl/cgif/pull/18
2021-09-03 12:04:28 +01:00
John Cupitt
307d24eea7
Merge branch '8.11'
2021-08-30 14:02:28 +01:00
John Cupitt
b62287a792
check .v enums more carefully
2021-08-30 14:02:03 +01:00
John Cupitt
26f5da19e9
Merge branch '8.11'
2021-08-30 12:44:06 +01:00
John Cupitt
6444bfb5bb
note coding fix in changelog
2021-08-30 12:43:43 +01:00
Lovell Fuller
bd8093ab71
Handle error values when guessing interpretation ( #2421 )
2021-08-30 12:30:55 +01:00
Lovell Fuller
4aaed60573
Ensure VIPS_CODING_ERROR is handled for vips images ( #2420 )
2021-08-30 12:30:43 +01:00
Lovell Fuller
01c39d0774
Ensure VIPS_CODING_ERROR is handled for vips images ( #2420 )
2021-08-29 20:16:31 +01:00
Lovell Fuller
30897e8e36
Handle error values when guessing interpretation ( #2421 )
2021-08-29 20:15:24 +01:00
John Cupitt
b9230edcbe
Merge branch '8.11'
2021-08-29 19:13:12 +01:00
John Cupitt
451cfcd282
small cleanups from "unlimited" option
2021-08-29 19:08:51 +01:00
Joshua Sager
bb88490a17
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:41:49 +01:00
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
b0b8e6ee65
small style changes
2021-08-23 01:14:37 +01:00
Lovell Fuller
1f5d6f6bc9
Add gifsave operation, depends on cgif and libimagequant ( #2381 )
2021-08-22 18:11:41 +01:00
Doug Nazar
97f5417aaa
Fix tests when using a separate build dir. ( #2405 )
2021-08-18 11:45:02 +01:00
Kleis Auke Wolthuizen
b978ed8e8f
Adapt `TestForeign.test_heifsave` test ( #2402 )
...
- `heifsave` defaults to AV1 compression for .avif suffix since commit 8c44863
.
- Test lossless compression mode.
2021-08-16 22:25:14 +01:00
John Cupitt
e60f11eb45
fix rank fast path
...
there was an off-by-one error which could cause an out of bounds read
see https://github.com/libvips/libvips/issues/2401
2021-08-16 17:46:25 +01:00
John Cupitt
9d186c9cd4
Merge branch '8.11'
2021-08-14 18:17:11 +01:00
John Cupitt
3ccf1761dd
Merge branch '8.11' of github.com:libvips/libvips into 8.11
2021-08-07 18:47:41 +01:00
John Cupitt
57d8dd3ece
better jp2k save behaviour
...
- don't enable mct if subsampling is on
- don't make such deep pyramids
2021-08-07 18:46:50 +01:00
Kleis Auke Wolthuizen
1611afee7e
Fix a few -Wstrict-aliasing=1 warnings ( #2380 )
2021-08-07 18:11:36 +01:00
John Cupitt
1ce301812d
Merge branch '8.11'
2021-08-06 17:00:24 +01:00
John Cupitt
fd1a036cd8
limit number of PNG chunks
...
reduces the threat of PNG decompression bombs
2021-08-06 10:55:08 +01:00
John Cupitt
e93a23e0b7
Merge branch '8.11'
2021-08-05 12:29:11 +01:00
John Cupitt
5263686511
limit the number of text chunks in PNGs
...
very large numbers of text chunks can cause high memory use
2021-08-05 12:28:22 +01:00
John Cupitt
3d77c6abaa
tiny layout fix
2021-08-05 11:24:29 +01:00
John Cupitt
8082063607
rename webp reduction-effort as effort
...
though effort still works
2021-07-30 11:07:43 +01:00
John Cupitt
ff1260df1c
rename heifsave "speed" param as "effort"
...
For consistency with the rest of libvips. "speed" still works.
2021-07-30 10:59:12 +01:00
Lovell Fuller
aabb1555d2
pngsave: expose quantisation effort setting ( #2367 )
2021-07-30 10:43:42 +01:00
John Cupitt
9221fae973
remove some stray dbg code
...
accidentally committed previously
2021-07-29 13:19:11 +01:00
John Cupitt
b4582dbdaa
set CFLAGS for magick API detect
...
since it will try to compile and link code fragments
2021-07-29 13:12:29 +01:00
John Cupitt
d43b3ff0f8
Merge pull request #2362 from lovell/heifload-verify-dimensions
...
heifload: verify page dimensions are non-zero
2021-07-26 11:03:56 +01:00
Lovell Fuller
81009d3e4c
heifload: verify page dimensions are non-zero
2021-07-25 21:47:55 +01:00
John Cupitt
86466a9b9a
put the sudo back
...
we probably need to change the user that macos-m1 runs as
2021-07-23 18:35:14 +01:00
John Cupitt
a0709f1bfc
try install without sudo
...
since macos won't sudo as admin
2021-07-23 18:31:05 +01:00