LWJGL / lwjgl3

LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan, bgfx), audio (OpenAL, Opus), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR, OpenXR) applications.
https://www.lwjgl.org
BSD 3-Clause "New" or "Revised" License
4.75k stars 635 forks source link

New Bindings: libjxl #871

Open hYdos opened 1 year ago

hYdos commented 1 year ago

Library

libjxl

Project page

https://github.com/libjxl/libjxl

Source repository

https://github.com/libjxl/libjxl

Platforms

Linux x64, Linux arm64, Linux arm32, macOS x64, macOS arm64, Windows x64, Windows x86, Windows arm64

Description

libjxl is a library which allows the loading of JpgXL files. It rivals formats such as webp (my last request for bindings) on a size level. I've attached an image below to show how massive the difference is for my use case. I need lower file sizes because there are thousands of these so every kilobyte matters. image

This doesn't matter to you probably but this will be holding me back from writing a few programs so It would be great if this at least had priority over WebP as I have a temporary fix for that but all java versions of JpgXL are broken at the time of writing.

Ali-RS commented 1 year ago

Have you tried https://github.com/gotson/NightMonkeys?

hYdos commented 1 year ago

I haven't actually it didnt come up in my google searches ill have a look thanks

TheMrMilchmann commented 1 year ago

Note that, although that's unfortunate in my opinion, Jpeg XL has not seen any significant adoption. Only a select few image viewers and editors, but none of the major browsers support it yet. Additionally, the API of libjxl is not stable yet. Under these circumstances, I don't believe the potential benefits outweigh the maintenance cost at the moment.

hYdos commented 1 year ago

Have you tried https://github.com/gotson/NightMonkeys?

Both these rely on Java 19+ and even on 19 have issues with their natives.

I have a Java only approach for now but its pretty slow image

hYdos commented 1 year ago

Okay so it turns out JpegXL is now kinda an official format so there cant be too much changing encoding wise at least. https://www.iso.org/standard/77977.html

A Quote from a thread about JPEG XL support on the signal community "JPEG-XL interest seems to be quite strong despite Google’s insistance, which many cite to justify lack of support. Facebook, Adobe, Intel and the Video Electronics Standards Association, The Guardian, Flickr and SmugMug, Shopify, the Krita Foundation, and Serif Ltd. all have come out endorsing JPEG-XL along with Cloudinary & Google’s research division."

And finally the other tools on java have constant issues I have to work through before I can commit to using it until this is done https://github.com/thebombzen/jxlatte/issues/6