Commit Graph

465 Commits

Author SHA1 Message Date
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
John Cupitt 023f74b037
Merge branch 'master' into gmodulized 2021-04-26 09:03:12 +01:00
Kleis Auke Wolthuizen 34c0f31643 Build a dynamically loadable module for *magick
By default, a dynamically loadable module is built for *magick (i.e.
`--with-magick=module`) when:
* ImageMagick or GraphicsMagick is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-magick` - to disable *magick usage;
* `--with-magick[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen 0c0b68b4b9 Build a dynamically loadable module for poppler
By default, a dynamically loadable module is built for poppler (i.e.
`--with-poppler=module`) when:
* poppler is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-poppler` - to disable poppler usage;
* `--with-poppler[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen 2b1daff256 Build a dynamically loadable module for libheif
By default, a dynamically loadable module is built for libheif (i.e.
`--with-heif=module`) when:
* libheif is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-heif` - to disable libheif usage;
* `--with-heif[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen 6fd38df95a Build a dynamically loadable module for OpenSlide
By default, a dynamically loadable module is built for OpenSlide (i.e.
`--with-openslide=module`) when:
* OpenSlide is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-openslide` - to disable OpenSlide usage;
* `--with-openslide[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen a63d37fc9b Initial support for dynamic loadable modules with GModule 2021-04-22 12:28:37 +02:00
John Cupitt e8cfc6b5a2
Merge branch 'master' into add-jxl 2021-04-21 14:00:06 +01:00
Kleis Auke Wolthuizen 4af8b9b265 Add fontconfig as dependency
pangocairo does not list fontconfig as a dependency.
2021-04-21 14:20:51 +02:00
John Cupitt 0cdfb851b9 incorporate comments from @lovell review 2021-04-18 17:53:15 +01:00
John Cupitt 4483a2edbc Merge branch 'master' into add-jxl 2021-04-14 15:08:46 +01:00
John Cupitt f53959b824 switch font rendering to pangocairo
to make colour font rendering work
2021-04-12 15:11:18 +01:00
John Cupitt 950606406f compiles 2021-04-01 16:54:42 +01:00
John Cupitt 2a249a3049 load header done 2021-04-01 12:33:36 +01:00
John Cupitt c7f69718da start adding jxl 2021-04-01 09:21:41 +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 6ab30ca732 Merge branch '8.10' 2021-03-23 23:18:48 +00:00
Fabrice Fontaine 1b002cc32b drop last remnant of dmalloc
Drop last remnant of dmalloc which was removed in version 7.28.0 with
ae8faf6597

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-03-22 23:49:54 +01:00
John Cupitt cedc3f1f1d disable threading for older openjpegs 2021-03-20 14:14:08 +00:00
Kleis Auke Wolthuizen e7faebf6af Tell the compiler that v4f is aligned
It's guaranteed that this is now aligned on a 16-byte boundary.
2021-03-20 11:33:37 +01:00
John Cupitt c2eebacf5a start adding jp2k load 2021-03-17 11:31:25 +00:00
Kleis Auke Wolthuizen 5ef9c84f97 Use cross-platform functions for allocating aligned memory
A malloc library is expected to provide a better implementation.
2021-03-15 11:10:16 +01:00
John Cupitt b51f4dab28 fix make dist 2021-03-07 14:59:31 +00:00
John Cupitt f74d6c795d Merge branch 'master' into add-libnsgif 2021-03-07 14:37:14 +00:00
John Cupitt 7317b2b842 remove mention of exr save in configure
oops
2021-03-07 13:01:57 +00:00
John Cupitt 387c9a3b73 swap hard tabs for spaces in configure
makes output easier and safer to copy-paste
2021-03-07 12:53:20 +00:00
John Cupitt fae5d9cc82 improve configure summary table
- order and group summary
- list by file format type, rather than library
- describe as load/save rather than import/export
- also --vips-config output

I split the VIPS_CFLAGS, VIPS_INCLUDES and VIPS_LIBS var settings into
the various finders for maintainability.
2021-03-07 12:41:44 +00:00
Kleis Auke Wolthuizen 3ed50e0427 Cleanup configure.ac and #ifdef's 2021-03-06 15:47:07 +01:00
John Cupitt 2e56828053 Merge branch '8.10' 2021-03-06 11:47:02 +00:00
John Cupitt b14bac53a3 guard refs to ZSTD
so we work on older libtiffs
2021-03-05 12:16:38 +00:00
John Cupitt b995a6d244 move the nsgif source into the tree
and remove the old giflib loader
2021-02-28 12:20:05 +00:00
John Cupitt 799f720c13 Merge branch 'master' into add-libnsgif 2021-02-27 23:57:14 +00:00
Lovell Fuller 117dbd888a Set minimum glib dependency version of 2.40 (March 2014) 2021-02-24 21:59:21 +00:00
John Cupitt a12be84098 fix make clean
we had an error in the docy bits of c++
2021-01-02 15:04:42 +00:00
John Cupitt 6fb7ca73a4 Merge branch '8.10' 2021-01-01 10:13:12 +00:00
Kleis Auke Wolthuizen 7e9c7059be Remove redundant -lstdc++ configure check
This became unused after commit 346a9e7.
2020-12-29 13:40:36 +01:00
John Cupitt eed882c2a3 add libx265-dev as well
also needed by libheif.pc
2020-12-23 13:10:58 +00:00
John Cupitt f1aa5289a7 argh try again 2020-12-23 12:50:33 +00:00
John Cupitt fe56a43ef5 libheif should work in actions now
libaom-dev is required by libheif-dev, but not listed as a dependency
2020-12-23 12:29:13 +00:00
John Cupitt ccd469fb1e Oadd some debugging for heif detection 2020-12-23 12:15:11 +00:00
John Cupitt 94ecb8d38d version bump
and fix changelog dates
2020-12-22 14:28:55 +00:00
John Cupitt 460efa73fa bump version for animated webp load fix 2020-12-18 10:12:26 +00:00
John Cupitt 728397d76c Merge branch '8.10' 2020-12-15 13:22:56 +00:00
John Cupitt ff3c4acbb2 allow spng.pc and libspng.ps for libspng discovery 2020-12-14 10:24:25 +00:00
John Cupitt 1b19e6f832 start 8.10.4
with a dropped patch from 8.10.3
2020-12-14 09:20:44 +00:00
John Cupitt 31a4d1419c fix spng detection
This patch was dropped from 8.10.3 release 1, annoyingly.
2020-12-14 09:17:38 +00:00
John Cupitt b1e636346a relax is_a heic test rules
32 was a little too small, see https://github.com/libvips/libvips/issues/1861
2020-10-18 22:36:15 +01:00
John Cupitt 47b04c9da6 get pdium load working again
It had bitrotted a bit. Thanks @Projkt-James.

See https://github.com/libvips/libvips/issues/1400
2020-10-16 15:13:25 +01:00
John Cupitt 888b5654a0 fix heifload with libheif 1.6
heif_avif wasn't added until libheif 1.7
2020-10-11 19:54:36 +01:00
Lovell Fuller 1177bd1dae heifload: expose heif-compression metadata 2020-10-09 15:54:17 +01:00
John Cupitt a88c88bb7b Merge branch '8.10' 2020-09-15 10:20:15 +01:00
John Cupitt 0617165c66 raise minimum libheif version to 1.3
We didn't compile with anything less than 1.3 anyway.

see https://github.com/libvips/libvips/issues/1817
2020-09-15 10:18:38 +01:00
John Cupitt e0bc345aef revise doxy flags to configure 2020-09-06 16:10:55 +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
John Cupitt 6cabb3e301 add doxygen to the build system
configure tests for it, make runs it, make install copies the generated
html
2020-08-17 17:54:42 +01:00
John Cupitt 633abe7be8 add missing funcs to public C API
The C API was missing vips_jpegload_source and vips_svgload_source.
Thanks to augustocdias.

See https://github.com/libvips/libvips/issues/1780
2020-08-14 13:36:12 +01:00
John Cupitt fdded88cf7 start 8.10.1
following the doc generation fix
2020-08-09 14:39:37 +01:00
John Cupitt ad16b87a75 add LT_INIT 2020-07-10 17:34:40 +01:00
Kleis Auke Wolthuizen b84e87b6d2 Improve --vips-config output 2020-07-07 13:57:25 +02:00
Kleis Auke Wolthuizen fb61f0fa44 Define ENABLE_DEPRECATED in config.h
Do not check for VIPS_ENABLE_DEPRECATED as it could
come from an earlier version of libvips.
2020-07-07 12:16:43 +02:00
Kleis Auke Wolthuizen 6329d35048 Out-of-source support for configure
+ some small cleanups.
2020-07-07 12:16:40 +02:00
Kleis Auke Wolthuizen 402f8918b7 Do not distribute version.h within the tarball
It is automatically generated during the build process.
2020-07-06 21:32:00 +02:00
John Cupitt 345fee4917 Merge branch 'master' into add-libnsgif 2020-06-29 23:07:13 +01:00
John Cupitt eb8ec27c86 fix binary ppm read for some width 2020-06-13 11:40:45 +01:00
John Cupitt 95406c7888
Merge pull request #1682 from libvips/libspng-experiment
Load PNGs with libspng
2020-06-12 19:11:42 +01:00
John Cupitt 8c19e07ae3 add --vips-config flag
so "vips --vips-config" now displays:

```
$ vips --vips-config
native win32: no, native OS X: no, open files in binary mode: no, ...
```
2020-06-12 17:30:57 +01:00
John Cupitt d5fcb6baaf
Merge branch 'master' into libspng-experiment 2020-06-12 12:42:11 +01:00
John Cupitt 49df5f54c1 Randy's loader patch compiles 2020-06-11 12:17:58 +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
Lovell Fuller 221ad1b9b3 heifload: ignore nclx profiles, ensure uchar format 2020-06-10 12:23:17 +01:00
John Cupitt ce63fc1145 use libspng for load, libpng for save 2020-06-09 14:38:04 +01:00
John Cupitt a44814018d Merge branch 'master' into libspng-experiment 2020-06-07 11:56:16 +01:00
Lovell Fuller 00dcfa40f1 Improve compile-time libheif and runtime AVIF detection 2020-05-18 19:43:43 +01:00
John Cupitt 10f1352f6f clean up, add benchmarks 2020-05-01 23:20:48 +01:00
John Cupitt 02327b6214 add an experimental libspng reader
it compiles, but I've not tried running it yet heh
2020-05-01 16:05:48 +01:00
John Cupitt 489810989e Merge branch '8.9' 2020-04-24 19:32:40 +01:00
John Cupitt efd62acccd better iiif tile naming
We were clipping edge tiles against the size of the scaled up layer.
Instead, clip against the size of the top level image.

See https://github.com/libvips/libvips/issues/1621
2020-04-24 19:29:35 +01:00
Lovell Fuller 3ca21ee2e8 Increase minimum glib-2.0 dependency to v2.15 (released March 2012) 2020-03-26 19:13:21 +00:00
John Cupitt b52b0e3bbf
Merge pull request #1589 from kleisauke/avoid-gthread-link
Do not link against libgthread when GLib >= 2.32
2020-03-24 17:09:11 +00:00
John Cupitt 120a94a9e4
Merge pull request #1587 from kleisauke/avoid-cflags-sort
Do not reverse sort VIPS_CFLAGS
2020-03-24 17:07:26 +00:00
Kleis Auke Wolthuizen e8facf66bb Do not reverse sort VIPS_CFLAGS
CFLAGS="-s USE_PTHREADS=1" was sorted as "USE_PTHREADS=1 -s" resulting
in a compilation error on Emscripten.

This was introduced in c8d9ed9 to select GraphicsMagick over ImageMagick,
nowadays it's better to use --with-magickpackage=GraphicsMagick instead.
2020-03-24 11:08:52 +01:00
Kleis Auke Wolthuizen c8230195ba Do not link against libgthread when GLib >= 2.32
libglib is always thread-enabled since v2.32.
2020-03-24 11:05:19 +01:00
Kleis Auke Wolthuizen a6d19e5c4c Prefer to find expat with pkg-config
Fall back to AM_WITH_EXPAT if it could not be found.
2020-03-24 11:03:36 +01:00
John Cupitt 7710fab06c add gio to libs and cflags
should fix fuzz build
2020-03-14 12:09:47 +00:00
John Cupitt c5c0690588 fix --without-rsvg
We need to add gio to packages-used if it's available.

See https://github.com/libvips/libvips/issues/1575
2020-03-13 10:04:02 +00:00
John Cupitt e4db74746a fix a deadlock with --vips-leak
We were usingh a global lock for metadata changes, but some functions
triggered from callbacks in the metadata hash table could also attempt
to acquire the same mutex, leading to deadlock.

This patch gives metadata change it's own lock. Thanks DarthSim.

See https://github.com/libvips/libvips/issues/1542
2020-01-31 15:25:05 +00:00
John Cupitt 767c87d6e6 better iiif json
Change "scalefactor" to "scaleFactor", thanks regisrob.

See https://github.com/libvips/libvips/issues/1530
2020-01-24 16:28:52 +00:00
John Cupitt 53407206cf start 8.10 cycle 2020-01-24 16:26:28 +00:00
John Cupitt 51fc2ff64e don't use new source API for new_from_file etc.
We were attempting to load images in new_from_file using the new source
API first, then only falling back to the file loaders if that failed.

However, this meant that we did not respect the priority ordering on
loaders, so openslide iamges (for example) were being loaded by the tiff
loader.
2020-01-09 14:47:14 +00:00
John Cupitt 49a8f0779d Merge branch '8.8' 2019-11-26 09:15:39 +00:00
John Cupitt 298002c530 fix build with imagemagick 6.7.8.9
Ships with centos7, so an important version to support.

See https://github.com/libvips/libvips/issues/1479
2019-11-25 15:44:28 +00:00
John Cupitt 9a193f6f4c test for gio
It seems glib added gio in 2.15, though I don't know if svgload will
actually work with a glib that old.
2019-11-19 17:05:12 +00:00