Commit Graph

457 Commits

Author SHA1 Message Date
Daniel Löbl
b0f993eec8
cgifsave: avoid size issue (#2628)
* cgifsave: avoid size issue

avoid size issue by restoring the original transparency setting after quantization/dithering

* switch to per-frame alpha channel

* add option for lossy transparency

* switch lossy transparency off by default

* switch to g_malloc instead of g_malloc0

no need to 0 initialize at this point

* adapt to libvips coding conventions

* cgifsave: avoid size issue

avoid size issue by restoring the original transparency setting after quantization/dithering

* switch to per-frame alpha channel

* add option for lossy transparency

* switch lossy transparency off by default

* switch to g_malloc instead of g_malloc0

no need to 0 initialize at this point

* adapt to libvips coding conventions

* switch to official Homebrew sources for installing cgif

* bump required cgif version to v0.2.0
2022-02-28 16:19:13 +00:00
John Cupitt
b9e6bda6f7 fix oxygen
see https://github.com/libvips/libvips/issues/2650#issuecomment-1050142161
2022-02-25 13:44:30 +00:00
Lovell Fuller
4ca4b07654
heifload: add unlimited option, default to false (#2677) 2022-02-23 10:34:07 +00:00
Kleis Auke Wolthuizen
d80185060d
Various improvements to the build systems (#2675)
* Meson: remove space before colon

Since key-value pairs in Python are usually delimited as
colon+space instead of space+colon+space.

* Meson: disable modules by default when building static libraries

Corresponds to autotools. See: #2323.

* Meson: make modules a feature option

Corresponds to autotools, where modules are built
automatically if enabled and supported.

* Meson: specify minimum required GLib version

* Meson: fix indentation

* Remove unused function checks

* Simplify GLib configure checks

* Meson: ensure modules doesn't include enumtypes sources

Since that would cause duplicate symbols.

(`soname_header` can also be safely removed here,
since that is already included in `libvips_headers_dep`)
2022-02-22 14:33:42 +00:00
John Cupitt
01a9947006 remove atexit use
too unreliable to be useful
2022-02-17 14:30:02 +00:00
John Cupitt
896cad6a7a
Add spngsave (#2536)
* quick hack

won't even compile

* works!

at a basic level, anyway

* start wiring up metadata

* metadata done

* add spng interlaced save

* start adding index support

* fix palette save

* Update libvips/foreign/spngsave.c

Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>

* start adding low bit depth write

* add a warning for low bitdepth write

* small fixes

* add 1/2/4 bit write

adapted from the vips2tiff bit packer

* small polish

* note spngsave in changelog

* Update libvips/foreign/spngsave.c

Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>

* Update libvips/foreign/spngsave.c

Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>

* revise 8 and 16-bit PNG write rules

* cleanup

* remove unnecessary palette filter optimisation

since libspng already does this

* add xres/yres rounding

thanks klies

he commit message for your changes. Lines starting

* look for spng.pc and libspng.pc

It can be called either, frustratingly.

* fix PACKAGES_USED for spng .pc changes

Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
2022-02-11 16:30:23 +00:00
John Cupitt
47be1fcc6f Merge branch '8.12' 2021-12-09 13:01:51 +00:00
John Cupitt
6d23a3615e add a fallback path for gif save if no cgif
Via imagemagick. See https://github.com/libvips/libvips/issues/2574
2021-12-09 13:00:58 +00:00
John Cupitt
e0bb8e5d58 make exif resunit optional and default to inch
Some images don't set the exif resolution unit. We were ignoring exif
resolution in this case, but that's not correct, it's supposed to
default to inch.

See https://web.archive.org/web/20190624045241if_/http://www.cipa.jp:80/std/documents/e/DC-008-Translation-2019-E.pdf for the full spec.
2021-11-26 11:10:29 +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
Kleis Auke Wolthuizen
9d6e894c2c
Make GOI dependency optional (#2555)
* Make GOI dependency optional

* Fix whitespace
2021-11-25 10:09:25 +00:00
John Cupitt
edf63dfeeb fix insert
We were not detecting the shortcut cases for insert correctly, thanks
chreru.

See https://github.com/libvips/libvips/issues/2548
2021-11-21 14:50:55 +00:00
John Cupitt
b889181966 version bump for 8.13
and revise quant package detection
2021-11-21 11:29:28 +00:00
Remi Collet
9de825c5ab
fails if library is requested and missing (#2538)
* fails if library is requested and missing

* typo
2021-11-21 10:15:08 +00:00
Sergey Alexandrovich
d71a3c2fc1
Quantizr support (#2542) 2021-11-21 10:11:28 +00:00
John Cupitt
7544b27e90 small typos 2021-11-16 10:49:16 +00:00
Remi Collet
407bd1391d
allow libjxl 0.5 (#2539) 2021-11-16 09:51:19 +00:00
John Cupitt
4b7915994f better test for hyperbolics 2021-11-02 23:03:05 +00:00
John Cupitt
251e1d1d32
cgifsave per frame cmap (#2445)
switch GIF save to frame at a time

And make a new colormap if the frame average changes. This keeps memory use low, even for very large GIFs, though is somewhat slower.

See https://github.com/libvips/libvips/pull/2445
2021-10-14 15:46:52 +01:00
John Cupitt
21cdf22535 bump min libjxl version to 0.6 2021-10-12 17:33:32 +01:00
John Cupitt
6e9a23524f add an error message for --with-magickpackage
it was causing some cufusion, see eg. https://github.com/libvips/libvips/discussions/2449
2021-09-29 18:17:48 +01:00
John Cupitt
2501a62fd4 make doxygen default to off
with --enable-doxygen to enable it if you need it, same as gtk-doc
2021-09-24 12:14:13 +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
Doug Nazar
97f5417aaa
Fix tests when using a separate build dir. (#2405) 2021-08-18 11:45:02 +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
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
2b0aae2d72
Merge pull request #2298 from libvips/update-svgload-to-latest
update svgload to work with latest librsvg
2021-07-18 18:58:32 +01:00
John Cupitt
6946c3b9d9 start up threadpool later
might help php and ruby web frameworks

see eg. https://github.com/libvips/php-vips-ext/issues/42
2021-07-14 20:21:38 +01:00
John Cupitt
6dd6fafa2a Merge branch '8.11' 2021-07-03 11:47:26 +01:00
John Cupitt
70182e4eac don't load modules if they are built in
Only load modules if libvips has been built as a set of modules.
Otherwise can can end up loading operations twice.
2021-07-03 11:14:58 +01:00
John Cupitt
d14d5eed25 Merge branch '8.11' 2021-07-02 17:20:21 +01:00
Kleis Auke Wolthuizen
ab5f437259 Use autoconf macros for pkgconf where possible 2021-07-02 15:57:25 +02:00
John Cupitt
ad40d881dd remi's libdir patch, plus version bump to 8.11.2 2021-06-29 17:41:08 +01:00
John Cupitt
ea5972055f Merge branch '8.11' 2021-06-28 20:33:51 +01:00
Kleis Auke Wolthuizen
1727f2c6ae Disable modules by default when building static libraries
Might help: https://github.com/libvips/libvips/issues/2317
2021-06-28 18:28:19 +02:00
John Cupitt
706c2a112d Merge branch '8.11' 2021-06-23 12:25:43 +01:00
John Cupitt
78c08650d3 revise win32 support in configure
update LT_INIT with new dll option
2021-06-22 11:48:06 +01:00
John Cupitt
4ee19edd46 add another C example
see https://github.com/libvips/libvips/issues/1167
2021-06-18 11:39:00 +01:00
John Cupitt
dc56a5aa65 all install programs support --version
and a version bump to 8.12 for the new dev cycle
2021-06-15 10:33:42 +01:00
John Cupitt
16a6c08af7 update svgload to work with latest librsvg
rsvg_handle_render_cairo() is deprecated
2021-06-11 10:35:17 +01:00
John Cupitt
b55860cce8 fix build with doxy disabled 2021-06-03 23:35:56 +01:00
Kleis Auke Wolthuizen
169c5e07eb Only build libjxl as a loadable module when it can be found 2021-05-17 11:34:44 +02:00
John Cupitt
e00ca4e6b7 make jxlload/save a loadable module 2021-05-10 16:45:28 +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
70d76117bd Merge branch 'master' of github.com:libvips/libvips 2021-05-02 18:47:02 +01:00
John Cupitt
6198fb2d0d fix build on windows
only include source files in make dist for libnsgif and module/

we were just including the whole directory, which stopped the derived
files (eg. the .la archives) from being rebuilt on other platforms
2021-04-30 17:27:15 +01:00
John Cupitt
7603c4b6ab fix some small bugs
- disable chroma subsample for jp2k-in-tiff ... it didn't work due to opj bugs
- revise numresolutions setting
- require opj 2.4 or later
2021-04-30 10:42:32 +01:00
John Cupitt
56e0b2c2c8 Merge branch '8.10' 2021-04-30 08:27:32 +01:00
John Cupitt
a560d7df50 better vips7 compat
revise the vips7 PNG wrapper to work with libspng, though performance
may be poor

thanks SkyDiverCool

https://github.com/libvips/libvips/issues/2233
2021-04-30 08:20:19 +01:00