Introduction to libjxl
The libjxl package contains the
reference implementation of the JPEG XL image format.
Note
Development versions of BLFS may not build or run some packages
properly if LFS or dependencies have been updated since the most
recent stable versions of the books.
Package Information
libjxl Dependencies
Required
Brotli-1.1.0, CMake-3.30.4, giflib-5.2.2, highway-1.2.0,
Little
CMS-2.16, libjpeg-turbo-3.0.1, and libpng-1.6.44
Recommended
gdk-pixbuf-2.42.12 (for the plugin)
Optional
asciidoc-10.2.1 (for man pages), Doxygen-1.12.0 and Graphviz-12.1.2 (for
documentation), Java-22.0.2 (for the JAR), libavif-1.1.1, libwebp-1.4.0,
gtest, OpenEXR, sjpeg, and skcms
Installation of libjxl
Install libjxl by running the
following commands:
mkdir build &&
cd build &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_TESTING=OFF \
-D BUILD_SHARED_LIBS=ON \
-D JPEGXL_ENABLE_SKCMS=OFF \
-D JPEGXL_ENABLE_SJPEG=OFF \
-D JPEGXL_ENABLE_PLUGINS=ON \
-D JPEGXL_INSTALL_JARDIR=/usr/share/java \
-G Ninja .. &&
ninja
This package does come with a test suite, but it requires gtest,
which is not in BLFS.
Now, as the root
user:
ninja install &&
gdk-pixbuf-query-loaders --update-cache
Command Explanations
gdk-pixbuf-query-loaders
--update-cache: This command regenerates the
GDK Pixbuf loader cache so that it
is aware of the JPEG-XL loader.
-D BUILD_TESTING=OFF
: This
parameter disables the tests because they require gtest, which is not
in BLFS. If you wish to run the tests and have gtest installed,
remove this parameter.
-D BUILD_SHARED_LIBS=ON
:
This parameter enables building shared versions of the libraries
instead of static ones.
-D JPEGXL_ENABLE_SKCMS=OFF
:
This parameter disables building support for Skia's skcms since it is not necessary for BLFS
purposes and requires skcms.
-D JPEGXL_ENABLE_SJPEG=OFF
:
This parameter disables support for SimpleJPEG since it is not
necessary for BLFS purposes and requires sjpeg.
-D
JPEGXL_ENABLE_PLUGINS=ON
: This parameter enables Plugin
support, which creates plugins for gdk-pixbuf-2.42.12 if the package is
installed.
-D
JPEGXL_INSTALL_JARDIR=/usr/share/java
: This parameter
places the JAR file for JPEG XL support in the correct directory if
Java-22.0.2 is installed.
Contents
Installed Programs:
benchmark_xl, cjxl, djxl, and
jxlinfo
Installed Libraries:
libjxl.so, libjxl_cms.so,
libjxl_extras_codec.so, libjxl_jni.so, libjxl_threads.so, and
libpixbufloader-jxl.so (in
/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders)
Installed Directories:
/usr/include/jxl
Short Descriptions
benchmark_xl
|
runs performance benchmarks against libjxl
|
cjxl
|
compresses images into JPEG XL format
|
djxl
|
decompresses images from JPEG XL format into other
formats
|
jxlinfo
|
displays information about JPEG XL images
|
libjxl.so
|
contains the reference implementation of the JPEG XL
standard
|
libjxl_cms.so
|
contains support for Little CMS in libjxl
|
libjxl_extras_codec.so
|
contains additional codec support for JPEG XL images
|
libjxl_jni.so
|
contains a Java interface to support JPEG XL on systems
where Java-22.0.2 was installed at build time
|
libjxl_threads.so
|
contains threading functions for JPEG XL
|
libpixbufloader-jxl.so
|
contains a loader for gdk-pixbuf to allow it to load JPEG
XL images
|