Conversation
at a basic level, anyway
map jxl native formats to libvips iamge formats
though they don't seem to affect file size, curiously
|
Wow this looks amazing how can I use it? I m using libvips with .NET 5 exiftool managed to read and write exifs cjxl copies the input profile to the output profile by default and their is an option the encoder options definetly does something I m using cjxl -d 0.5 input.png output.jxl to get higher fidelity and the result in file size and visual quality is different from the defaut -d 1 I haven't tried libjxl only cjxl |
|
Hi @fredprodibi, You'd need to build from source, it's a bit tricky unless you've done a lot of C/C++ dev, but take a look at the win build repo if you feel brave: https://github.com/libvips/build-win64-mxe Yes, I think I've must have made an error hooking up the encode options. It needs more work. |
|
@jcupitt thank you! I would actually need it for macos and linux, to you know when the .NET nuget package will have those changes? I have posted your questions to the jpg xl issues board and Lode Vandevenne responded |
|
I doubt if it'll be in the nuget package for a while, this is still very early. Thanks for posting my questions there, I responded to Lode. |
for convenience
stolen from cjxl.cc
|
Thi still has some missing features, but I think it's good enough to merge, as long as we say it's an experimental addition. Let's sort out the scRGB issues in master, and leave metadata and shrink-on-load until libjxl adds support. Animation support can wait. |
|
@jcupitt amazing work, when you say good enough to merge, does it means it will make it's way to the nuget package? I just updated my project to use NetVips 2.0.0 with Netips.Native.linux-x64 8.10.6 |
|
Oh not for several months, at least, and it would be up to the nuget package maintainer, not me. |
|
I see! thank you! |
|
Congratulations from me as well, I'll play around with it the next few days, the first issue I've found (maybe it's related to my lack of knowledge): Using While calling Is this intended? |
|
Yes, that's expected. If you call a save/load operation directly, you pass args as |
lovell
left a comment
There was a problem hiding this comment.
Looks good, but as you say libjxl does feel a bit experimental (especially the encoder) in its current state. I've left a few very minor comments inline.
|
OK, all comments addressed, thank you very much! |
|
I added a note to the docs saying this is an experimental feature. |
|
@jcupitt: Thanks for your help, actually I like this options format even more. Anyways, where do you want us to collect issues (if at all)? This is certainly a missing sanity check: |
|
Hi @cmahnke, until we merge, please post anything you notice to this PR. Yes, I saw distance == 0 caused a segv too. It looked like a libjxl issue to me, so I didn't try to work around it. |
|
Might be the API, Using the same image, but trying But actually I'm looking into this to improve my IIIF tool chain - |
|
Yes, you can read jxl with dzsave, though it'll eat memory (libjxl won't decode an image in chunks, you always have to ask for the whole thing). I asked and the devs say chunk-wise decoding is coming. You can also write an iiif pyramid with jxl tiles, which sounds interesting. Chrome ought to be able to display them. I made a comparison image: jpeg-xl seems to roughly match heic for compression efficiency, so perhaps half the size of regular jpeg. |

It seems to work, but there are a few caveats:
TODO: