Provides HEIFDecoder and HEIFEncoder.
This plugin uses Java 22's new Foreign Function & Memory API ("Panama") to call into libheif. It supports HEIC (HEVC/H.265)-within-HEIF and AVIF (AV1).
Libheif is not included with this plugin and must be provided separately. Some OS package managers provide it. The plugin was developed against version 1.18. Newer versions in the 1.x series should work as well, but may not have been tested. If you encounter any problems, please contact us.
Once libheif has been installed, its containing directory must be present on the Java library path. You can either change your library path to include it (by adding the -Djava.library.path
VM argument to your config/jvm.options file), or move the library files to one of the directories on that path. Galia
logs the Java library path at startup.
Use the plugin installer:
bin/install_plugin.sh galia-plugin-heif
Alternatively, download the plugin directly and extract it into Galia's plugins directory.
If you'd like to use HEIFDecoder, you may assign it to one or more source formats in your application configuration:
decoder.formats:
avif: HEIFDecoder
heif: HEIFDecoder
This is not strictly necessary, but will future-proof your configuration in case you ever install any other plugins that support HEIF, and don't want them to take over.
If you'd like to use HEIFEncoder, you must assign it to one or more variant formats in your application configuration:
encoder.formats:
avif: HEIFEncoder
heif: HEIFEncoder
If you'd like to override any of the default settings used by HEIFEncoder, copy the keys from config.yml.sample into your application configuration file and edit them there.