Difegue / LANraragi

Web application for archival and reading of manga/doujinshi. Lightweight and Docker-ready for NAS/servers.
https://lrr.tvc-16.science
MIT License
2.17k stars 152 forks source link

[Feature Request] Add support for JPEG XL images #665

Closed ghost closed 2 years ago

ghost commented 2 years ago

Please describe your suggestion, and the problem it'd solve. In the same spirit as #389, it would be nice to have support for JPEG XL (.jxl) images added to LANraragi.

Additional context • Chrome, Edge, Opera and Firefox currently have experimental support for JPEG XL. • ImageMagick has supported JPEG XL since v7.0.10-54.

Difegue commented 2 years ago

I remember memeing mentioning JPEGXL in the release notes for 0.7.7 back then -- At least now there's browser support even if it's gated behind flags like AVIF was back then.

I don't mind adding the format to the supported list, although imagemagick probably needs a supplementary lib to be installed before it can process jxl images -- needs a bit of researching.

polak14 commented 2 years ago

This would be a very useful addition, out of curiosity i losslessly optimized 50 random archives and saw a total file size reduction of almost 40% compared to already optimized (both jpeg and png) archives. Apart from saving space it would also speed up archive decompression, serving and save bandwidth, it would be very useful to support it. tachiyomi has had JPEG XL support for over a year too.

Difegue commented 2 years ago

The jpeg-xl reference library, which is required by imagemagick, is only available starting from Alpine 3.16.

This means thumbnail/resizing support for JXL won't be available to Windows users, as those are stuck on 3.12 due to #626 .

Difegue commented 2 years ago

Also libjxl-dev isn't out in any stable form of Debian yet, but I'll be preemptively adding it to the docs so that people know it's a thing.

Otherwise, have fun I guess! This commit adds everything that should be needed for JXL support.