Commit Graph

174 Commits

Author SHA1 Message Date
Emanuel Jöbstl 25444cd927
Expose attention center when doing attention-based cropping. (#3164)
* ADded optional output parameter to smartcrop to track the center of
attention.

* Added unit test.

* Added docs & updated changelog.

* Updated argument labels & types in documentation.
2022-11-28 14:10:16 +00:00
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 ef2646ef6a
add a "wrap" option to vips_text() (#3130)
see:

https://github.com/libvips/libvips/discussions/2073

https://github.com/libvips/libvips/discussions/3126
2022-11-10 15:46:46 +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
Kleis Auke Wolthuizen 673a593161
test: remove `TestIofuncs::test_split7` (#2954)
See: https://github.com/libvips/pyvips/pull/341
2022-07-28 12:37:35 +01:00
John Cupitt 538aa2a841
remove autotools (#2941)
* remove autotools

It seems to all work. I tested with gtk-doc enabled. I probably missed a
few things argh.

* oop, forgot m4/
2022-07-24 11:14:52 +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
John Cupitt b0f38b5197 add tests for tiffload/save_target, dzsave_target 2022-06-12 12:18:45 +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
Kleis Auke Wolthuizen 894ed1cb13
Resize improvements; add `ceil` and `gap` options (#1769)
* Add a round-up option to shrink

* Only leave the final 200% to reduce

* Add gap option to reduce and resize

* Add unit tests

* Incorporate feedback
2022-05-07 12:45:38 +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
John Cupitt 3073ee90b7
Improve edge handling for mapim (#2681)
* almost there

* smol changes

* getting close now

segv on the test suite, annoyingly

* argh still not quite thert

* phew
2022-02-28 09:12:09 +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 c6d863f9d3 fix inverse hyperbolics
oop, typo
2021-11-02 22:58:19 +00:00
Heshy Roskes d8c04011ea
Add hyperbolic functions (#2508)
* add hyperbolic functions
* add hyperbolic function tests
* changelog
* add inverse hyperbolic functions for old compilers
2021-11-02 15:05:37 +00: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 de6e2fef9e add a test for atan2
and tiny formatting changes
2021-10-20 20:40:39 +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
John Cupitt 7e8af07c66
Fix flatten clip (#2432)
* fic gtk-doc typenames in cgif

* fix flatten clipping

flatten could produce out of range values if max_alpha was less than
the limit of the numeric range of the format

https://github.com/libvips/libvips/issues/2431
2021-09-13 11:23:02 +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