Skip to content
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

JPEG XL support #4247

Open
DonaldTsang opened this issue Dec 4, 2019 · 21 comments
Open

JPEG XL support #4247

DonaldTsang opened this issue Dec 4, 2019 · 21 comments

Comments

@DonaldTsang
Copy link

See https://jpeg.org/jpegxl/ since JPEG-XL is coming out in a few months
Also https://google.github.io/brunsli has a sample app
Co-referencing https://ai.google/research/pubs/pub48554
and https://www.iso.org/standard/77977.html

@DonaldTsang
Copy link
Author

DonaldTsang commented Dec 4, 2019

https://github.com/google/brunsli claims that Python is already supported.

@radarhere
Copy link
Member

@aclark4life aclark4life added this to New Issues in Pillow Jan 9, 2020
@varnav
Copy link

varnav commented Dec 31, 2020

JPEG XL format was recently frozen

@DonaldTsang
Copy link
Author

@varnav so it has been standarized and passed through, correct?

@varnav
Copy link

varnav commented Jan 3, 2021

ISO/IEC DIS 18181-1 is not completely done with being a standard. But this means format will not change anymore. I think it's a good time to start implementing it.

@doublex
Copy link

doublex commented May 11, 2021

@olokelo
Copy link

olokelo commented Jul 7, 2021

Hello, I wrote a Pillow plugin for Jpeg XL.
It's included in my Python module jxlpy which is based on Christoph Gohlke's project :)
I think it might be useful in this issue.

@doublex
Copy link

doublex commented Jul 7, 2021

@olokelo
Great news!

@brunoais
Copy link

Hello!
Is there anything missing to move this from the icebox to the backlog?

@aclark4life
Copy link
Member

@brunoais Looks like we can now tentatively declare support via @olokelo 's plugin? (Thank you @olokelo !)

@aclark4life aclark4life moved this from Icebox to In progress in Pillow Dec 25, 2022
@Joshix-1
Copy link

the plugin had no release since over a year. There are multiple issues from people that are unable to install it

I would appreciate built-in support

@doublex
Copy link

doublex commented Jan 2, 2023

JXL is probably dead:
https://bugs.chromium.org/p/chromium/issues/detail?id=1178058#c84

@Joshix-1
Copy link

Joshix-1 commented Jan 2, 2023

If everyone supports it Googles arguments get even more invalid, and maybe they will re-add support. We can't let Google dictate what becomes standard.
There's already lots of software with JpegXL support.

@brunoais
Copy link

brunoais commented Jan 2, 2023

JXL is probably dead: https://bugs.chromium.org/p/chromium/issues/detail?id=1178058#c84

You say that but most images on my PC are already .jxl and just not all of them because some python software I use is waiting for Pillow to support JXL so they also support it.

@schrmh
Copy link

schrmh commented Apr 11, 2023

JXL is probably dead: https://bugs.chromium.org/p/chromium/issues/detail?id=1178058#c84

https://en.wikipedia.org/wiki/JPEG_XL#Official_support says otherwise. libjxl and KImageFormats help a lot to grant support to basically any modern GTK and Qt application displaying images.

@radarhere @aclark4life is there anything really holding back built-in support?
Or rephrased: What would you ideally want so that this issue can be resolved with a positive outcome for JXL?

@radarhere radarhere added the JPEG label May 6, 2023
@radarhere
Copy link
Member

radarhere commented May 6, 2023

The same thing that is holding back every new feature - time. While Tidelift is generous, Pillow is worked on in our spare time, and complex functionality is often sidelined while dealing with the deluge of other issues and PRs that are created.

Ideally, a PR with clear reference to documentation, and dependencies that fit within our license.

@schrmh
Copy link

schrmh commented Jun 6, 2023

Small update: iOS 17 has JPEG XL support. Works in Safari and Photos app and reportedly (some?) third party apps.
I hope this serves as a lesson for everybody to just keep on promoting the sane standards until they get adoption and to not give up just because a major player doesn't want to support something (yet). Especially if their proposed alternatives are just worse in most areas.

By the way, imlib2 is another library used by a lot of programs that has read and write JXL support (got the author to add the latter by opening an issue).

If I weren't already busy with a bunch of other projects I would gladly try to help on the software side of widely used imaging libraries to make adoption happen quicker.
However, maybe this comment can help at making an enthusiastic developer work on JPEG XL support for pillow.

@rspeed
Copy link

rspeed commented Jul 19, 2023

iOS 17 has JPEG XL support

macOS 14 as well.

@radarhere radarhere changed the title Preparation for JPEG XL support JPEG XL support Sep 2, 2023
@j99ca
Copy link

j99ca commented Nov 6, 2023

Is there any progress on this feature? I noticed this library popped up in pypi

@schrmh
Copy link

schrmh commented Nov 6, 2023

@Isotr0py is here on GitHub as well as it seems, as well as their project: https://github.com/Isotr0py/pillow-jpegxl-plugin
However, it looks like this uses Rust bindings and it doesn't look like the Pillow repo has Rust code as of now.

Maybe they still can do this

PR with clear reference to documentation, and dependencies that fit within [Pillow's] license.

@olokelo
Copy link

olokelo commented Mar 2, 2024

Hello again, for anyone interested please observe PR #7848 that enables read only support of JPEG XL images.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Pillow
  
In progress
Development

No branches or pull requests