Commit Graph

7482 Commits

Author SHA1 Message Date
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 5c54d13701 Support `G_MODULE_SUFFIX` as suffix for modules
In addition to the `.plg` suffix, which is still present for
backwards compatibility reasons.
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 3841e2e49c
Merge pull request #2216 from kleisauke/gitignore-dirstamp
gitignore: ignore .dirstamp files
2021-04-22 11:26:08 +01:00
John Cupitt 4cc684607e
Merge pull request #2215 from kleisauke/fix-make-uninstall
Fix make uninstall with Doxygen
2021-04-22 11:25:48 +01:00
John Cupitt 42ea7e0bdd
Merge pull request #2219 from kleisauke/simplify-preprocessor
Simplify preprocessor directives
2021-04-22 11:25:22 +01:00
John Cupitt a7f2f417ef
Merge pull request #2217 from kleisauke/drop-remnant-gmic
Remove remnant of gmic
2021-04-22 11:23:24 +01:00
John Cupitt fb633f4a95
Merge pull request #2218 from kleisauke/fix-autogen-warning
Fix autogen warning
2021-04-22 11:22:13 +01:00
Kleis Auke Wolthuizen 2735b71292 Simplify preprocessor directives 2021-04-22 12:04:05 +02:00
Kleis Auke Wolthuizen d9faf3fe01 Fix autogen warning 2021-04-22 12:02:29 +02:00
Kleis Auke Wolthuizen 221a5f7e8b Remove remnant of gmic
This was moved to a plugin with commit 927b2d7.
2021-04-22 12:01:42 +02:00
Kleis Auke Wolthuizen 628d91fd76 gitignore: ignore .dirstamp files 2021-04-22 12:00:41 +02:00
Kleis Auke Wolthuizen 1a821f0360 Fix make uninstall with Doxygen 2021-04-22 11:59:16 +02:00
John Cupitt 74471ba258
Merge pull request #2212 from kleisauke/cpp-function-list-2
Update C++ binding and function list
2021-04-21 20:15:55 +01:00
John Cupitt f5d73170e8
Merge pull request #2213 from kleisauke/cpp-array-double
C++: add set/get for an array of doubles
2021-04-21 20:15:29 +01:00
Kleis Auke Wolthuizen 526cf4ec37 C++: add set/get for an array of doubles 2021-04-21 18:49:56 +02:00
Kleis Auke Wolthuizen c294835200 Update C++ binding and function list 2021-04-21 18:09:34 +02:00
John Cupitt e8cfc6b5a2
Merge branch 'master' into add-jxl 2021-04-21 14:00:06 +01:00
John Cupitt 57ab63f9f1
Merge pull request #2211 from kleisauke/fix-ci-2
CI: fix failures in macOS runner
2021-04-21 13:59:03 +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
Kleis Auke Wolthuizen 19e0d0cda1 Use imagemagick@6 on the macOS CI runner
To avoid a dependency on OpenMP.
2021-04-21 14:20:48 +02:00
John Cupitt ac3d9131ca
Merge pull request #2171 from libvips/add-black-point-compensation
add support for lcms black point compensation
2021-04-19 18:53:50 +01:00
John Cupitt 693bc3ccbf
Merge branch 'master' into add-black-point-compensation 2021-04-19 18:53:35 +01:00
John Cupitt 4e28039c02 fix distance 0 save, better error messages 2021-04-19 10:12:28 +01:00
Lovell Fuller 76fa92cd17 CI: ensure brew install as a single line, split into base vs formats 2021-04-18 21:25:34 +01:00
John Cupitt 4cd5da2303 update libnsgif from upstream 2021-04-18 18:58:09 +01:00
John Cupitt c933f8379d
Merge pull request #2203 from tlsa/update-libnsgif
Update libnsgif
2021-04-18 18:42:41 +01:00
John Cupitt 63d2da6a1d note JPEG-XL in README.md 2021-04-18 17:57:09 +01:00
John Cupitt 0cdfb851b9 incorporate comments from @lovell review 2021-04-18 17:53:15 +01:00
Michael Drake a373fd766e lzw: Always read three bytes on fast path to avoid swtich. 2021-04-18 17:50:42 +01:00
Michael Drake 98e8673dbc lzw: Restrict pointers through code reader. 2021-04-18 17:50:42 +01:00
Michael Drake 71eb67ba7c lzw: Constify table pointers in writer functions. 2021-04-18 17:50:42 +01:00
Michael Drake 020fc32108 gif: Switch complex decoder over to continuous lzw API. 2021-04-18 17:50:42 +01:00
Michael Drake 05fddf49e3 lzw: Direct output into frame data, avoiding stack.
If the frame is non-interlaced, and has the same rowstride as the
full image, then we can decode lzw directly into the output image.
2021-04-18 17:50:42 +01:00
Michael Drake 0d394487c1 gif: Handle any uncompressed output before exiting due to error. 2021-04-18 17:50:42 +01:00
Michael Drake 5426e9b81a lzw: Add function for decoding multiple LZW codes at a time. 2021-04-18 17:50:42 +01:00
Michael Drake ed3363b899 lzw: Add support for resumable output of a single code.
This allows handling of insufficient output buffer space.
2021-04-18 17:50:42 +01:00
Michael Drake abd8619bef lzw: Return output array from decode function instead of init. 2021-04-18 17:50:42 +01:00
Michael Drake 01fde32f99 gif: Frame decoding: Rearrange for readability. 2021-04-18 17:50:42 +01:00
Michael Drake 7426c3d500 gif: Frame decoding: Simplify transparency check. 2021-04-18 17:50:42 +01:00
Michael Drake 663bf07aac lzw: Remove written member from context.
Not needed now that clear codes are handled normally.
2021-04-18 17:50:42 +01:00
Michael Drake 64ddf20599 lzw: Adapt main code handling to handle clear codes too. 2021-04-18 17:50:42 +01:00
Michael Drake 367f64c5bc lzw: Output values in picture order. 2021-04-18 17:50:42 +01:00
Michael Drake 06443e64e9 lzw: Store code's value count in table. 2021-04-18 17:50:42 +01:00
Michael Drake 8d8aa0dd46 gif: Split out gif frame data decode. 2021-04-18 17:50:42 +01:00
Michael Drake c9a639d2bd lzw: Rename a bunch of structures, functions and variables.
new_code              -> code
    last_value            -> value
    first_value           -> first
    previous_entry        -> extends
    current_entry         -> table_size
    previous_code         -> prev_code
    previous_code_first   -> prev_code_first
    current_code_size     -> code_size
    current_code_size_max -> code_max
    lzw__next_code        -> lzw_read_code
2021-04-18 17:50:42 +01:00
Michael Drake 26c83999cc lzw: Split out output writing. 2021-04-18 17:50:42 +01:00