Thursday, March 02, 2023

Re: [new] graphics/libjxl for jpeg-xl support

Le Sat, Feb 18, 2023 at 02:57:06PM +0100, Landry Breuil a écrit :
> Hi,
>
> here's a new port for libjxl (https://jpegxl.info/,
> https://jpegxl.info/why-jxl.html) and its dependency
> (https://github.com/google/highway).
>
> event if jpegxl support is being dropped from chromium, and was never
> enabled in firefox, it is supported by many other things in the
> ecosystem. Cf https://cloudinary.com/blog/the-case-for-jpeg-xl for
> arguments. My personal usecase is for geo/gdal.
>
> highway's tests all pass on i386/amd64, and for jpegxl it's "not so
> bad":
> test-0.7.0-amd64.log:80% tests passed, 384 tests failed out of 1957
> test-0.8.1-amd64.log:76% tests passed, 824 tests failed out of 3488
> test-0.8.1-i386.log:76% tests passed, 825 tests failed out of 3488
>
> i've looked in the portstree for potential consumers, based on the ports
> depending on it in freebsd's portstree:
>
> - graphics/libvips: supported since 8.11, our port is at 8.9
> - graphics/imlib2: has a plugin to support the format
> - multimedia/aom: disabled by default, behind -DCONFIG_TUNE_BUTTERAUGLI=1
> - gimp/snapshot: already force-disabled via -Djpeg-xl=disabled
> - gimp/stable: uses it if found (checking for libjxl >= 0.6.1... yes)
> - graphics/darktable: needs 4.2 (https://github.com/darktable-org/darktable/issues/10866)
> - sdl2-image: support added in 2.6
> - graphics/ffmpeg: disabled by default (https://github.com/FFmpeg/FFmpeg/blob/master/configure#L244)
> - graphics/ImageMagick: needs --with-jxl, not active by default ?
> - graphics/GraphicsMagick uses it if found (JPEG-XL --with-jxl=yes yes)
> - graphics/gthumb: uses it if found (https://gitlab.gnome.org/GNOME/gthumb/-/blob/master/meson_options.txt#L61)
> - graphics/geeqie: already force-disabled via -Djpegxl=disabled
> - geo/gdal: uses it if found, only as a plain driver and sadly not
> available for tiff compression ( Cannot build JXL as a TIFF codec as
> it requires building with -DGDAL_USE_TIFF_INTERNAL=ON)
>
> there's also apparently krita and some kde bits but i havent checked
> them... and that's all i've been able to find so far. My idea would be
> to import libjxl, disable its detection in all ports (unless a
> maintainer explicitely wants to add it) and eventually enable it port by
> port.

I've changed my mind on this, and i plan to enable jpegxl support in the
ports that'd pick it up if found so that means (unless maintainers cc'ed
speaks against that):
- gimp/stable
- graphics/GraphicsMagick
- graphics/gthumb
- geo/gdal
- devel/kf5/kimageformats
- graphics/krita

would all gain jpegxl support - since i already have the diffs for
those.

New version of the port attached with a second distfile for testdata,
with that 98% of the tests pass. Thanks tb@ for the extensive build
testing of libjxl & highway!

i plan to import both ports saturday with tb@'s ok, more opinions
welcome.

Landry

No comments:

Post a Comment