Commit Graph

114 Commits

Author SHA1 Message Date
John Cupitt
e3289ad2c1
add exif support to png load/save (#3168)
* start adding exif in png

the "Exif\0\0" header isn't being added and removed correctly

needs tests

* all done

tested with linpng and libspng
2022-11-18 11:57:05 +00:00
John Cupitt
3ebb21491d improve fail-on handling for GIF load
fail-on truncated and warning now works for GIF load
2022-11-05 12:04:47 +00:00
John Cupitt
e33796d752 Merge branch '8.13' 2022-10-19 17:35:36 +01:00
Kleis Auke Wolthuizen
e6198361e5
thumbnail: fix embedded ICC profile conversion (#3027) 2022-10-19 17:32:04 +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
b4bfaeb980 Merge branch '8.13' 2022-08-14 12:16:10 +01:00
John Cupitt
94d3f93a46 add another low bitdepth png save test 2022-08-14 11:05:09 +01:00
Kleis Auke Wolthuizen
3f95543c2c
Allow to modify/create EXIF GPS* tags (#2966)
* Allow to modify/create EXIF GPS* tags

Make `tag_is_ascii` aware of the EXIF GPS* ASCII tags that are
available since libexif 0.6.23.

See: https://github.com/lovell/sharp/issues/2767

* Add tests
2022-07-30 19:21:54 +01:00
John Cupitt
c61b458904 add jxlsave tests
and revise colour encoding set

see https://github.com/libvips/libvips/issues/2872
2022-06-18 16:40:10 +01:00
Kleis Auke Wolthuizen
85c24481be
svgload: recognize dimensions for SVGs without width/height (#2817)
Rather than defaulting to 1928x1080. Also, prefer to use the
`LIBRSVG_CHECK_VERSION` macro instead of our configure checks.
2022-05-23 10:39:53 +01:00
John Cupitt
e42d2b46b9 revise SVG scaling, again
we were not defaulting width and height correctly

see https://github.com/lovell/sharp/pull/3230
2022-05-18 10:55:41 +01:00
Kleis Auke Wolthuizen
d91cfa4e53
Allow to modify/create EXIF 2.3 ASCII tags (#2795)
* Allow to modify/create EXIF 2.3 ASCII tags

Make `tag_is_ascii` aware of the EXIF 2.3 ASCII tags that are
available since libexif 0.6.22.

See: https://github.com/kleisauke/net-vips/issues/167

* Fix CI
2022-05-10 08:13:22 +01:00
John Cupitt
356edc3779 revise tests for new libnsgif loop behaviour
see https://github.com/libvips/libvips/pull/2712
2022-03-09 10:20:41 +00:00
Lovell Fuller
4ca4b07654
heifload: add unlimited option, default to false (#2677) 2022-02-23 10:34:07 +00:00
John Cupitt
094e84d6d1 relax accuracy test for 16 bit heic
since it seems rather poor with the libheif on ci runner
2022-02-18 11:55:27 +00:00
John Cupitt
e985e23c09
add HDR support to heif load/save (#2596)
* heifload done, doing save

* finish save, add tests, docs
2022-02-18 11:16:15 +00:00
Kleis Auke Wolthuizen
5414ddfa80
Minor improvements (#2556)
- Remove unused libgif-dev dependency from CI.
- Remove no longer relevant comment from testsuite.
- Use yes/no instead of boolean values in configure.ac.
2021-11-25 10:51:34 +00:00
John Cupitt
b889181966 version bump for 8.13
and revise quant package detection
2021-11-21 11:29:28 +00:00
Moggers
b3ff4d9ed6
Implement Header Sniffing For Magickload Tga (#2533)
Add TGA sniffing
2021-11-14 04:04:32 +00:00
Kleis Auke Wolthuizen
008fe2d2f5 Add unit test 2021-11-13 11:29:46 +01:00
John Cupitt
0c70f3dc7d
add fail-on : better control over loader error handling (#2360)
Instead of a simple fail/don't-fail boolean switch, add fail-on, an enum which sets the sensitivity of loaders to errors. 

There's a new sensitivity level which tries to detect truncated images, but ignores other types of error.
2021-10-31 14:13:18 +00:00
John Cupitt
a16f118b0c speed up test suite
ouch we were making a huge avif image in memory
2021-10-25 20:40:42 +01:00
Kleis Auke Wolthuizen
29fb557e24
Temporarily skip test_heifsave on macOS (#2494) 2021-10-21 18:14:40 +01:00
John Cupitt
444a04e94f formatting, another MCU test 2021-10-08 17:58:17 +01:00
David Manthey
46a67cfab9
Add jpeg restart_interval option. (#2468)
* Add jpeg restart_interval option.

This allows saving a jpeg with MCU restarts.

* Fix code style.  Add description of restart_interval.

* Add a basic test based on output length.

* Update main change log.
2021-10-08 17:33:32 +01:00
Lovell Fuller
f7619cf33e
gifsave: expose bitdepth property (#2429)
Provides control over the maximum number of colours in the output
image palette, making the API more closely match that of pngsave.

Lowering the bitdepth to 7 (from the default value of 8), which
halves the maximum number of colours from 255 to 127, typically
reduces encoding time by ~20%.
2021-09-10 08:57:12 +01:00
John Cupitt
b9230edcbe Merge branch '8.11' 2021-08-29 19:13:12 +01:00
Lovell Fuller
1f5d6f6bc9
Add gifsave operation, depends on cgif and libimagequant (#2381) 2021-08-22 18:11:41 +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
2ca96a3fef add another test for tiff ifd pyramids
test loading from a lower layer
2021-06-29 08:34:42 +01:00
John Cupitt
95bf1367ba fix jpeg tiff pyramid save
we were not copying the quant tables on lower pyr levels correctly

add a test too
2021-06-28 20:24:00 +01:00
Lovell Fuller
d1c038c22d svgload: skip images with invalid dimensions 2021-06-28 14:21:40 +01:00
John Cupitt
6804ff61df load non-transparent GIFs as RGB
And GIFs with transparent elements as RGBA. This can make downstream
processing (eg. in vipsdisp) much quicker since it can save a
composite.
2021-06-07 09:54:53 +01:00
Kleis Auke Wolthuizen
25a268c341 Fix CI failures
- Include the rgba image in the teardown of TestForeign.
- Fix merge conflict.
2021-05-03 12:39:40 +02:00
John Cupitt
0eda488c60 make the tiff test less sensitive to rounding 2021-05-01 23:26:28 +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
0054c7dafa add some more gifload tests 2021-03-28 13:49:34 +01:00
John Cupitt
69fcf1b9e9
Merge branch 'master' into add-openjpeg 2021-03-27 15:22:13 +00:00
John Cupitt
9cbb4c2cd1
Merge pull request #1709 from libvips/add-libnsgif
Add libnsgif support
2021-03-27 15:10:30 +00:00
John Cupitt
40c020ccd2 more jp2k tests 2021-03-23 17:15:02 +00:00
John Cupitt
2575d963bd add jp2k tests
and buffer load/save
2021-03-20 12:16:10 +00:00
John Cupitt
8d6f90c060 Merge branch '8.10' 2021-03-14 11:03:40 +00:00
Kleis Auke Wolthuizen
62b0939c4b vips2webp: force low duration frames to 100ms 2021-03-13 22:04:37 +01:00
John Cupitt
48d9c5d0d4 update test suite for new gif loader 2021-02-28 13:50:04 +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
Kleis Auke Wolthuizen
6e72b75efa Adapt test suite for AVIF support 2021-01-06 12:14:21 +01:00
John Cupitt
42af1cec36 add vipsload_source
plus small openslideload_source fixes
2020-12-31 19:47:36 +00:00
John Cupitt
233609368b add a test for openslideload_source 2020-12-30 18:01:54 +00:00
John Cupitt
158e9e153a add some more ppm tests 2020-12-26 18:35:11 +00:00