Commit Graph

6493 Commits

Author SHA1 Message Date
John Cupitt
861f6d1ef4 radload was not setting priority correctly
We used to have separate subclasses for file, buffer and stream load,
but only set ->priority in one of them.

Rework radload as a base class plus a set of implementations.
2019-12-23 17:22:15 +00:00
John Cupitt
f43d6c4cf7 add note in test_desc about ppm loader
and why we can't test_destriptots on that
2019-12-23 14:58:22 +00:00
John Cupitt
0c217efdf3 fix compiler warning 2019-12-22 15:04:07 +00:00
John Cupitt
0429a0080e swap ssize_t for gint64 where possible
Some versions of the Windows headers define ssize_t as unsigned. This
patch removes (where possible) use of ssize_t inside libvips, esp. in
the new stream API.

See https://github.com/libvips/libvips/issues/1494#issuecomment-568254731
2019-12-22 13:45:45 +00:00
John Cupitt
e48f45187b make RGB and sRGB synonmous
We had a half-baked idea that RGB could mean generic RGB space and sRGB
would mean strict sRGB interpretation.

Unfortunately, this did not work well in practice. For example,
`icc_transform("srgb")` would tag the result as RGB rather than sRGB
(the converter didn't know it was writing sRGB pixels, it just saw
conversion to RGB with an ICC profile), and then later stages would do
unnecessary icc_imports, or worse, fail.

This patch makes RGB and sRGB strict synonyms. If you want to treat an
RGB image as something other than sRGB, you'll need to do it by hand
with the icc_ functions.

See

https://github.com/libvips/pyvips/issues/144

46212e92b1 (r34904985)

https://github.com/libvips/libvips/issues/1494
2019-12-22 11:40:09 +00:00
John Cupitt
b964deb482 fix SANITY checks in streami.c
they had bitrotted a bit
2019-12-21 14:12:59 +00:00
John Cupitt
c84a43f277 fix memleak in vips_text()
We were not unreffing PangoLayout. Thank you uint128!

See https://github.com/libvips/libvips/issues/1508
2019-12-21 12:56:09 +00:00
John Cupitt
981ffe752b add test for text autofit 2019-12-21 05:38:39 +00:00
John Cupitt
1e2ca2e0bf fix refleak in webpsave_buffer
And add teardown to the test-suite so we can spot refleaks more easily.
2019-12-21 05:13:54 +00:00
John Cupitt
4b0c2924ab fix refleak in dzsave 2019-12-21 04:46:16 +00:00
John Cupitt
9d05251f7e revise formatting 2019-12-20 15:23:06 +00:00
John Cupitt
ff2b934244
Merge pull request #1504 from deftomat/webp-delay-fix
fix: do not try to use "undefined" delay during WEBP animation save
2019-12-20 15:21:01 +00:00
John Cupitt
76dd2d3910 fix profile removal
we had a possible shared image
2019-12-20 14:12:25 +00:00
John Cupitt
8030d7b926 fix map of custom seekable streams
We failed for seekable custom streams.

See https://github.com/libvips/libvips/issues/1494#issuecomment-567190830
2019-12-20 12:44:56 +00:00
John Cupitt
53dac98b55 larger seq cache
Make the seq cache 50% larger to allow for rounding with some image
widths, tile sizes and thread numbers.

See https://github.com/libvips/libvips/issues/1494#issuecomment-567190830
2019-12-19 15:26:10 +00:00
John Cupitt
4616cf1f5c small changes to the gif-loop fix
see https://github.com/libvips/libvips/pull/1362
2019-12-18 18:09:30 +00:00
John Cupitt
501fc38130
Merge pull request #1362 from deftomat/master
fix: make gif-loop consistent between GIF and WEBP
2019-12-18 17:55:28 +00:00
John Cupitt
7906c128cd better error messages on save
The stream savers were polluting the error log.
2019-12-18 17:50:19 +00:00
John Cupitt
e1baf66f19 "squash" to tiffsave now does lab as well
The "squash" option to tiffsave now also squashes 32-bit 3-band float
CIELAB images down to 8 bits.

See https://github.com/libvips/libvips/issues/1499
2019-12-18 17:29:34 +00:00
John Cupitt
6c038f5ca8 add a test for tuncated image files 2019-12-18 14:48:59 +00:00
John Cupitt
6b02c22457 add a test with VIPS_STALL
stresses the caching and locality systems
2019-12-18 14:41:35 +00:00
John Cupitt
c0c07ea003 fix invalidate tagging
The new tagging system was unreffing the wrong operation.

See https://github.com/libvips/libvips/issues/1494#issuecomment-565200939
2019-12-18 14:32:30 +00:00
Tomáš Szabo
057459fd7d
fix: do not try to use "undefined" delay
Expression could be truthy even when no `delay` was provided by user.

Now, the `delay_length` is 0 by default to avoid this situation.
2019-12-18 15:23:57 +01:00
John Cupitt
8f95b08218 put seq access back in to tilecache
We removed seq mode from tilecache a few months ago as part of a
simplification, but it turns out it's needed for vips_sequential().

see https://github.com/libvips/libvips/issues/1494#issuecomment-565099645
2019-12-17 16:58:31 +00:00
Tomáš Szabo
982e323c71
docs: replace gif-loop with loop 2019-12-17 16:28:04 +01:00
Tomáš Szabo
1fde574a86
Merge branch 'master' of https://github.com/libvips/libvips 2019-12-17 07:39:14 +01:00
Tomáš Szabo
bff5e6a78d
chore: add .editorconfig 2019-12-17 07:28:40 +01:00
Tomáš Szabo
d14e0d5c97
feat: add normalized loop field 2019-12-17 07:28:28 +01:00
John Cupitt
45015b002a stray DEBUG 2019-12-14 05:19:18 +00:00
John Cupitt
2f806320f3 Merge branch 'master' of github.com:libvips/libvips 2019-12-14 05:18:20 +00:00
John Cupitt
1fd3b478e1 always check memory area length
vips_image_new_from_memory() allowed you to use length == 0 to mean
"don't check memory length". This was part of some very old vips7
compatibility.

The ppm loader could pass length == 0 if header size was equal to file
size, bypassing the length check.
2019-12-14 05:13:44 +00:00
John Cupitt
112dc9101a remove early shutdown from tiff reader
since streams do this automatically now
2019-12-13 14:19:09 +00:00
John Cupitt
6fea2e7c57 clip negatives off LABS L in tiff save
Negative L in LABS needs to be trimmed off before savingf as TIFF.
Thanks angelmixu.

See https://github.com/libvips/libvips/issues/1499
2019-12-13 12:45:49 +00:00
John Cupitt
e236f19f97 add fallbacks to new_from_stream
If the stream-based loaders fail, vips_image_new_from_stream() now falls
back to the old file and buffer loaders.

The file and buffer loaders already try the stream loaders first.
2019-12-10 17:19:12 +00:00
John Cupitt
56090c6fa7 fix another compiler warning 2019-12-08 14:16:52 +00:00
John Cupitt
dd4b2e9c23 fix some clang warnings 2019-12-08 13:08:38 +00:00
John Cupitt
40bffa8cc6 small reformats
plus remove save multiband as separated multiink
2019-12-07 17:41:53 +00:00
John Cupitt
22a1150cb6 Merge branch 'improve-file-formats' of https://github.com/angelmixu/libvips into angelmixu-improve-file-formats 2019-12-07 17:10:03 +00:00
John Cupitt
897089069d README tweak 2019-12-07 17:02:26 +00:00
John Cupitt
d3d80ed0b4 tone down opencollective begging 2019-12-07 16:59:33 +00:00
John Cupitt
6d0f4ce5ef
Merge pull request #1448 from opencollective/opencollective
Activating Open Collective
2019-12-07 16:54:53 +00:00
John Cupitt
317feec6a4 update docs 2019-12-06 16:58:47 +00:00
John Cupitt
d10c870a32 fix for no seek handler defined
We need to use the emitv signal emit function to be able to set a default value.
2019-12-06 16:58:01 +00:00
John Cupitt
a50405c1f7 fix some run-time errors from clang
Travis is now running with some amount of run-time checking enabled and
it spotted a couple of harmless things.
2019-12-05 14:14:27 +00:00
John Cupitt
a382359e65 don't test features in unminimise
This was circular: test features needed an unminimised stream, but
unminimise used to test features.
2019-12-05 10:35:15 +00:00
John Cupitt
4dbbc2d415 more dbg code 2019-12-04 17:40:49 +00:00
John Cupitt
ec7aa1d6b6 delay testing stream properties until we have to
This makes stream object creation simpler: you don't need to have
everything set up before build occurs, so you can attach signal handlers
for read and seek later.
2019-12-04 16:46:00 +00:00
Angel Sánchez
c85454f56c Merge branch 'refs/heads/master' into improve-file-formats
# Conflicts:
#	libvips/conversion/switch.c
2019-12-04 11:49:18 +01:00
John Cupitt
ae7aaea077 doc polish 2019-12-01 15:29:28 +00:00
John Cupitt
43fff7b10d fix map of input streams
The logic was a bit wonky. Thanks Kleis.

See https://github.com/kleisauke/net-vips/issues/33#issuecomment-559971456
2019-11-30 19:13:26 +00:00