Commit Graph

7918 Commits

Author SHA1 Message Date
John Cupitt
669ea43138 improve the GIF save change detector
Instead if just summing PELs, scale RGBA differently. This lets us
detect changes like [255, 0, 0] to [9, 255, 0]
2022-03-02 18:03:36 +00:00
John Cupitt
de2adb99a2 better frame write loop for gif save 2022-02-28 17:20:42 +00:00
John Cupitt
3b6072437d add new param to gifsave docs
also note in changelog and revise layout for 80 columns

see https://github.com/libvips/libvips/pull/2628
2022-02-28 16:38:02 +00:00
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
shado23
c02b69eaba
Address review feedback on VRegion (#2684) (#2696)
* Add VRegion8.h to Makefile.am, meson.build, Doxyfile.in.

* Fix inaccurate function documentation.

* Add stride method to VRegion.
2022-02-28 16:17:40 +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
John Cupitt
9d841e848f more init check to libvips base class
helps introspection run correctly if there's no vips_init()
2022-02-27 18:48:37 +00:00
Kleis Auke Wolthuizen
f11b58ff6c
Remove VIPS_EXEEXT and VIPS_SONAME definitions (#2694)
And the corresponding `soname.h` header.
2022-02-27 15:27:37 +00:00
Kleis Auke Wolthuizen
0337c09700
Cleanup gettext handling (#2695)
Use GLib's i18n support instead of copying and pasting that
logic into its own header. This deprecates the vips/intl.h
header in favour of glib/gi18n.h.
2022-02-27 15:27:28 +00:00
Kleis Auke Wolthuizen
517089fb4b
Meson: don't install deprecated headers when -Ddeprecated=false (#2693) 2022-02-27 13:44:09 +00:00
John Cupitt
7d1956974e Merge branch 'master' of github.com:libvips/libvips 2022-02-27 13:43:13 +00:00
Kleis Auke Wolthuizen
65fbcd351b
Add missing funcs to public C API (#2692) 2022-02-27 13:42:17 +00:00
Kleis Auke Wolthuizen
50a74ceeec
Mark some functions and variables as static (#2691)
These are only used in the same file, and not exported.
2022-02-27 13:41:39 +00:00
Kleis Auke Wolthuizen
dcfac75f06
Meson: ensure NIfTI can be found (#2689)
* Meson: ensure NIfTI can be found

* Incorporate review comment
2022-02-27 13:40:11 +00:00
Lovell Fuller
6639b90f22
window: delay setting ref count (#2690)
fixes an assert fail in window_free
2022-02-27 09:50:04 +00:00
Kleis Auke Wolthuizen
802dabc6aa
Meson: ensure -Dpng=disabled does not disable WebP load/save (#2686) 2022-02-25 19:04:07 +00:00
Kleis Auke Wolthuizen
a67d637a3a
Meson: fix building with -Dspng=enabled (#2685)
And prefer to search for `spng.pc` first, since that one is
generated by Meson.
2022-02-25 15:41:21 +00:00
shado23
3a45d6e842 Add support for regions in the C++ API 2022-02-25 16:19:44 +01:00
John Cupitt
e1ad26b782 Merge branch 'master' of github.com:libvips/libvips 2022-02-25 13:45:06 +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
John Cupitt
4196a0e73a
set some -Ds depending on the release type (#2682)
* set some -Ds depending on the release type

libvips uses g_assert() quite a bit to check things like pointer bounds,
and this can have a large performance impact.

This PR turns off g_assert() (plus some other things) in release mode,
and enables leak checking (and some other things) in debug mode.

I'm not sure if this is the best way to implement this kind of thing.
Does meson have a more offical path for this?

* incorporate comments

* link asserts and cast checks to optimization level
2022-02-25 12:52:18 +00:00
Kleis Auke Wolthuizen
a8b48e1442
Add missing annotations to #endif directives (#2678) 2022-02-23 11:55:40 +00:00
John Cupitt
5ff96da873 add note on heifload unlimited to changelog 2022-02-23 10:35:46 +00:00
Lovell Fuller
4ca4b07654
heifload: add unlimited option, default to false (#2677) 2022-02-23 10:34:07 +00:00
Kleis Auke Wolthuizen
1e4cd2d5c2
Fix building with -Dmodules=disabled (#2676)
* Fix building with -Dmodules=disabled

* Reformat line [skip ci]
2022-02-23 10:32:02 +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
c5f2fea8bf fix a gcc warning with clang pragmas 2022-02-22 10:06:43 +00:00
Michael Drake
b05515b0c5
Update libnsgif from upstream (#2674)
* libnsgif: Remove patch artifact.

* libnsgif: Update from upstream.
2022-02-21 20:07:20 +00:00
John Cupitt
49cae56e1e stray "im_" prefix 2022-02-20 17:07:29 +00:00
John Cupitt
542cfff472 longer timeout for tests
to allow for slowdown with sanitizers enabled
2022-02-19 16:06:29 +00:00
John Cupitt
dc4b6c920b make zlib into a top-level dependency
many packages need it, not just rsvg
2022-02-19 16:05:18 +00:00
Kleis Auke Wolthuizen
3da7caee6c
LSan improvements and fixes (#2672)
* LSan: remove GLib suppression

* LSan: disable the fast unwinder to get full stacktraces

* Move ASan/UBSan fuzzer options to CI configuration

* LSan: remove EOLed python2.7 suppression

* LSan: remove libstdc++ suppression

* LSan: add libx265 to suppression file

* Try to reproduce small memleak

* Try a possible patch

* Skip test if `im_benchmark` is not available

* CI: upgrade Clang version to 13

* CI: correct job names

* Meson: increase the timeout for tests

* README.md: correct Meson invocation
2022-02-19 15:13:42 +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
John Cupitt
0388e54bd2 looks like meson must be installed with sudo for ci 2022-02-18 11:09:39 +00:00
John Cupitt
504cea50a5 check pip3 install on runner 2022-02-18 11:06:35 +00:00
John Cupitt
aef5f25167 in ci, don't install meson as root 2022-02-18 10:56:49 +00:00
John Cupitt
fea9d068c4 oop, forgot a sudo 2022-02-18 10:52:58 +00:00
John Cupitt
e14deaf5c6 disable introspection for CI build 2022-02-18 10:48:22 +00:00
John Cupitt
3a7465cf79 make goi optional 2022-02-18 10:40:56 +00:00
John Cupitt
1be213052b install our own meson 2022-02-18 10:36:50 +00:00
John Cupitt
dab51ef92f display meson error logs 2022-02-18 10:22:07 +00:00
John Cupitt
ecba43c21c try with meson 0.53
since github workflow meson is rather old
2022-02-18 10:21:26 +00:00
John Cupitt
f573dc47e3 ci fix 2022-02-18 10:05:04 +00:00
John Cupitt
aea262f6f6 try to move CI to meson 2022-02-18 10:01:13 +00:00
John Cupitt
dc069f8892 ooop typo 2022-02-18 09:53:40 +00:00
John Cupitt
240b10ba71 update dependency list in README 2022-02-18 09:45:54 +00:00
John Cupitt
01a9947006 remove atexit use
too unreliable to be useful
2022-02-17 14:30:02 +00:00
John Cupitt
f6dafd6fc6 update changelog for intospection fixes
and default on, since there are now so few warnings
2022-02-15 10:59:11 +00:00
Corentin Noël
69bf2be12b
Enhance the introspection support by fixing annotations (#2657)
Also refine the .metadata file
2022-02-15 10:54:40 +00:00