ueber-devel / ueberzug

Continuation of ueberzug
GNU General Public License v3.0
103 stars 6 forks source link

JPEG XL support #17

Closed avidseeker closed 1 year ago

avidseeker commented 1 year ago

Ueberzug doesn't seem to support JPEG XL.

[type]=error [name]=UnidentifiedImageError [message]='cannot identify image file '"'"'/home/user/pic.jxl'"'"''
eylles commented 1 year ago

thanks for reporting, ueberzug doesn't really support any image format by itself as it depends on pillow to decode and load images, therefore we are limited by what image formats pillow supports, on pillow's side there's an open proposal for jxl support that sadly hasn't gone anywhere due to the concerns of the format not being frozen and then being dropped by google, however the interest did attract a developer to work on a plugin to bolt-on support for jxl into pillow, jxlpy

we don't have control over what formats pillow supports nor ueberzug has the necessary "machinery" to add arbitrary image format support directly, therefore support for any additional image format has to be done through pillow or pillow-simd, on the few cases that pillow doesn't yet support an image format the community has developed plugins to handle them.

sorry if this is not the answer you expected but this is part of the nature of working with libraries...

avidseeker commented 1 year ago

I want to point out that there's another ueberzug fork: ueberzugpp that supports JPEG XL. But it seems from your reply that ueberzugpp uses another backend library for rendering.

nor ueberzug has the necessary "machinery" to add arbitrary image format support directly

Understandable. Will close as not planned, then.

eylles commented 1 year ago

Yes U++ does support jxl out of the box, but that is only because either opencv or libvips suppor jxl, however i think U++ doesn't support psd while ueberzug does because some of the recent pillow versions supports psd, still the jxl plugin for pillow exists, tho depending on your specific application if usage of jxlpy is not possible then perhaps doing a check for the jpeg xl format and converting with a tool like imagemagick could be a practical workaround, as i've seen such workarounds implemented in some forks of vifmimg