-
-
Notifications
You must be signed in to change notification settings - Fork 244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Full support for jpeg xl #831
Comments
As you noticed, there is already limited support for jxl which I added recently, so indeed browser will display, and tachiyomi too. Komga doesn't need to decode images for everything, only for some actions, like :
You can use custom covers to go around the cover generation issue. Komga relies on 3rd party libraries for image decoding, mostly the very good https://github.com/haraldk/TwelveMonkeys There is no java library for jxl yet, and the best bet is haraldk/TwelveMonkeys#643 That's a long shot though. Keep in mind that standard adoption is slow, take webp for instance. It's not yet supported everywhere. |
There is a bounty for TwelveMonkeys JPEG-XL read and write support. 🚀 Pump it. 🚀 |
For twelvemonkeys do you need a decoder written only in java or can it link to libjxl in C? I'm trying to judge how likely it is someone will be able to write it. |
Twelvemonkeys is pure Java. The problem with decoders in C is that you need to interface with JNI and write custom C code for the interop. I already use one for webp, but you need to compile it for all systems, which is tedious. Project Panama should help in that regards, but is not finalized yet, and would require a very recent version of Java. |
I have released the first version of https://github.com/gotson/NightMonkeys which has an imageio plugin for jpeg xl. This can be integrated in Komga, but requires to launch Java with specific version and arguments. @TheHardew do you use Komga via jar or Docker, or another method? |
I use the jar. I was wondering why I had 8k empty files in /tmp starting with "imageio". Edit: To be precise, I use the Arch User Repository package, but it would probably be quite easy to edit that. |
The jar would be easier to accommodate, you would need jdk 18 and some extra command line parameters, and also the jxl library installed locally. What's your os? |
It's a third party maintained integration, so 🤷🏻♂️ |
I have |
What's your os? |
Arch Linux. |
All the Arch package does is it installs the jar and the /usr/bin/komga file:
|
I set |
Well of course it did not work, I have not released anything 🤷🏻 |
Works wonderfully, thank you very much! |
bit surprised since i haven't released Komga with that lib included |
I built it myself. |
# [0.154.0](v0.153.2...v0.154.0) (2022-04-22) ### Bug Fixes * translated using Weblate ([18b181b](18b181b)) * **webui:** extract translation strings for DropZone.vue ([2966c85](2966c85)), closes [#856](#856) * **webui:** read button on card would not always work ([4dd1e7a](4dd1e7a)), closes [#830](#830) ### Features * read support for jpeg xl ([dd5b7d0](dd5b7d0)), closes [#831](#831) * **webui:** set the currently viewed page as poster for book/series/readlist ([49b7f59](49b7f59)), closes [#838](#838)
🎉 This issue has been resolved in version 0.154.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
In case anyone else stumbles across this issue and is struggling to get Komga to recognize their native JXL library: The library file has to be renamed or symlinked to This is how I set it up, using Debian 11 as an example:
|
Java expects the naming as you mention, that's how it is. There should always be those normal names, the ones with added numbers are not standard AFAIK. Installing with homebrew creates those links by default. |
Describe your suggested feature
Please add support for reading jpeg xl image files. It can losslessly compress existing jpeg files by about 20%, Adobe and Facebook have already declared that they will support the format (in fact you can already upload some jpeg xl files to facebook). I believe it could become really popular.
Jpeg xl in cbz can already be displayed with google chrome (with the jxl flag turned on) or with tachiyomi, however cover image generation fails.
You can look here to check how tachiyomi handles it: https://github.com/tachiyomiorg/image-decoder
Other details
No response
Acknowledgements
The text was updated successfully, but these errors were encountered: