Libvips 8.13 and GIF output support#139
Conversation
warrenseine
left a comment
There was a problem hiding this comment.
LGTM, but I'll let @dbouron have a look.
| ${LIBSPNG_FLAGS} | ||
| ${LIBHEIF_FLAGS} | ||
| DEPENDS libjpeg libpng libspng giflib libwebp libimagequant lcms2 libheif tiff | ||
| DEPENDS libjpeg libpng libspng giflib cgif libwebp libimagequant lcms2 libheif tiff |
There was a problem hiding this comment.
Ok, I see that giflib is a decoder and cgif an encoder. I'd like to make sure that we can decode/encode/decode .gif files without any issue.
There was a problem hiding this comment.
@warrenseine I've enabled GIFs in all of the tests, so I think they are confirming that?
|
Thanks for contributing these features upstream! I can see that your own fork has many more commits 🙂 The idea to generate the code is not new to the project, and we actually already generate the enums, but generating all the classes sounds even better. It is a breaking change however, so I don't think we can integrate it as is (even if I like the proposed API changes). We'll need to cherry-pick the ideas and integrate it in a non-breaking way, unless a new major version of libvips is released. |
|
@warrenseine yes, it's a tricky one... there's inconsistency in the API at the moment I think as mentioned in other issues regarding do we return a new image vs update the current one. It's a particularly tricky transition due to no warning in Java when you ignore a return value... so Please feel free to lift anything from that branch. Or I'm happy to continue a discussion around a design for the naming that doesn't break backwards compatibility and make the changes myself. I'm keen to get our projects back on your releases! |
|
libvips is on version 8.16 on the meanwhile.. |
Upgrade to libvips 8.13.
vips_block_untrusted_set(see https://www.libvips.org/2022/05/28/What's-new-in-8.13.html).gifoutput support usingcgifA note about adding support for more operations... I have created a code generator in TypeScript to read the metadata about supported operations and arguments and to generate the JVips API automatically. You can see it at https://github.com/cactuslab/JVips/tree/generate. When you have a moment I'd love to see whether you'd like to integrate these ideas. I have made a few opinionated decisions that change the API, like using "apply" for the in-place modification vs returning a new
Image.