Default to using gifsave for libvips >= 8.12.0 #269
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I use libvips without magick and I would like to start generating gif files, which is possible since libvips version 8.12.0. However
govips
still hardcodes the codepath to usemagicksave
for all gif exports. It results in the errorVipsOperation: class "magicksave_buffer" not found
(see #255 as well).This PR does a version detection to check whether the libvips version
>= 8.12.0
and if true, defaults to using the new gifsave function which is much faster.This is technically backwards incompatible (you need a new dependency CGIF, the ubuntu package name is
libcgif-dev
) otherwise the GIF saving feature is broken. I tried doing a runtime feature detection check for cgif, but couldn't find a way to make it work. However, currently trying to save gifs without having magick also results in an error, so I'm not sure how much of a problem this is.Let me know if I need to tweak this PR further :).