Lovell Fuller
45fd740130
webpload: prevent divide-by-zero when blending pixels
...
Adds a test case to prevent regression - see commit 6eaf1ed
2020-12-17 20:23:06 +00:00
John Cupitt
3996f3279b
fix range clips for casts to and from int
...
Fix two bugs:
- clip in casts from int32 and uint32 could overflow -- do these as gint64 now
- clip in casts from float to int could overflow since float32 can't
represent the full range of int32 without losing precision -- do these
as double
And add some more tests.
Thanks ewelot.
see https://github.com/libvips/libvips/issues/1922
2020-12-09 15:14:59 +00:00
Kleis Auke Wolthuizen
ea53660a6b
Port Ruby test case to Python
2020-11-23 14:40:59 +01:00
John Cupitt
6894159ad5
fix icc-profiles and dzsave --no-strip
...
We were not copying metadata down pyramid layers in dzsave, so
--no-strip didn't allow icc profiles on tiles.
Thanks altert
See https://github.com/libvips/libvips/issues/1879
2020-11-11 10:02:46 +00:00
John Cupitt
39899582d4
add tests for tiff pyr save region-shrink flag
...
we were testing the flag before, but not that the result was correct
see https://github.com/libvips/libvips/issues/1875
2020-11-03 23:44:11 +00:00
John Cupitt
48a2551957
fix TIFF thumbnail of buffer and source
...
We had dropped a couple of patches.
see https://github.com/libvips/libvips/issues/1815
2020-09-14 17:26:19 +01:00
John Cupitt
6b2079bfd3
update magick metadata naming
...
IM seem to have changed their rules for naming metadata chunks. They are
now lowercase and ICM is renamed to ICC. Add a simple test too.
See https://github.com/libvips/ruby-vips/issues/246
2020-09-06 12:59:10 +01:00
Lovell Fuller
69ee8a32b6
Ensure SVG loader skips input with chars outside x09-x7F range
...
Add test with example valid WebP image that happens to contain
the string '<svg' within its compressed image data.
2020-08-21 11:38:40 +01:00
John Cupitt
0803de07e7
move vips__lr|tbmerge to private API
2020-07-01 17:31:25 +01:00
John Cupitt
e3a500204a
Merge pull request #1593 from kleisauke/disable-deprecated
...
Fix for --disable-deprecated (#1273 )
2020-06-28 11:07:56 +01:00
John Cupitt
d831ad34d5
add ppm load/save to a connection
...
plus some more tests
2020-06-27 15:23:18 +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
Kleis Auke Wolthuizen
541e58610b
Add unit test for vips_mosaic / vips_globalbalance
2020-06-18 14:42:55 +02:00
Kleis Auke Wolthuizen
4b5db786f0
Add unit test for vips_matrixinvert
2020-06-18 14:41:03 +02:00
Kleis Auke Wolthuizen
8abcae3abc
Avoid using vips7 symbols
2020-06-18 14:21:43 +02:00
John Cupitt
b7a285e84b
remove f"" from test suite to help older pythons
2020-06-18 10:10:39 +01:00
John Cupitt
19077b53ac
revise tiff2vips 1/2/4 bit load
...
simpler, faster, smaller
2020-06-17 13:59:02 +01:00
John Cupitt
99d7573ab6
add tests for 2 and 4 bit tiff
2020-06-16 21:49:07 +01:00
John Cupitt
c307d3686f
add some more thumbnail tests
2020-06-15 14:06:16 +01:00
John Cupitt
1e015654c3
deprecate heifload autorotate
...
heifload autorotate is now always on, and we always delete EXIF
orientation tags. If a HEIC image fails to rotate upright, at least it's
someone else's fault.
see https://github.com/libvips/libvips/pull/1680
2020-06-10 19:57:50 +01:00
John Cupitt
30386db775
Merge pull request #1650 from wix-playground/master
...
Handle mirrored orientations in autorot
2020-06-06 14:46:15 +01:00
John Cupitt
6d5a371147
add some tests for subifd pyramids
...
fix a problem with jpg-compressed tiffs too
2020-06-02 18:08:34 +01:00
elad laufer
c993a7ad2a
- use jpeg in test target
2020-05-13 11:12:01 +03:00
Elad Laufer
b05cf39df8
Handle mirroring in autorot ( #8 )
...
* handle mirroring in autorot
* added tests for autorot
2020-05-12 13:01:48 +03:00
John Cupitt
c2094fcd7c
relax thresh for jpegload
...
some lib jpegs have slightly different rounding behaviour
2020-04-24 19:26:17 +01:00
John Cupitt
b689235f57
missing include in test_connections
...
Thanks brcarp.
See https://github.com/libvips/libvips/issues/1571
2020-03-11 09:11:29 +00:00
elad laufer
8749871c71
- remove no_subsample from inner calls
2020-02-18 18:04:29 +02:00
elad laufer
22b3a0d161
- use enum string
2020-02-18 13:43:02 +02:00
elad laufer
838b5e7458
- add test case
2020-02-18 11:33:29 +02:00
elad laufer
65b1a3eac2
- add test case
2020-02-18 11:09:18 +02:00
elad laufer
494d8876eb
- don't skimp on names
2020-02-17 17:15:43 +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
alon-ne
f88dab9ccd
Fix gif dispose handling for DISPOSE_BACKGROUND and DISPOSE_PREVIOUS
...
- Add 'scratch' field to gif that holds temporary 'scratch buffer' used for rendering frames
- For DISPOSE_BACKGROUND: Set background color to transparent instead of 0
- For DISPOSE_BACKGROUND: Write background pixels into scratch after rendering current frame, so it will be used in next frame
- For DISPOSE_PREVIOUS: Save frames that are not disposed into 'previous' field in gif, when DISPOSE_PREVIOUS is specified start with that previous frame. see http://webreference.com/content/studio/disposal.html
- Add "ANIMEXTS1.0" to Application Extension parser
- Graphic Control Extension parser refactor
- Compare file contents to expected images for animated gifs in foreign tests
2020-02-06 17:36:13 +02:00
John Cupitt
34fcd1fe69
fix autorot in thumbnail
...
`vips_thumbnail()` was not taking a private copy of the image before
modifying metadata during auto-rotate.
Thanks janko.
See https://github.com/libvips/libvips/issues/1523
2020-01-12 14:24:23 +00:00
John Cupitt
2e9d89b6d4
enable connection tests now pyvips is updated
...
pyvips should now support connections, so always enable the tests
2020-01-12 14:15:23 +00:00
Andrii Dmytrenko
d0b69826cc
Reset orientation if exif data is incorrect
2020-01-06 11:02:10 +00:00
Kleis Auke Wolthuizen
31bf0e3cb7
Update function list for stream -> source rename
2020-01-01 12:28:18 +01: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
664796acab
relax text test render threshold
...
so we pass on win as well, see 981ffe752b (r36581177)
2019-12-26 14:11: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
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
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
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
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