libavif-1.3.0

Introduction to libavif

The libavif package contains a library used for encoding and decoding AVIF files.

This package is known to build and work properly using an LFS 12.4 platform.

Package Information

libavif Dependencies

Required

dav1d-1.5.2 and SVT-AV1-3.1.2 (only supports YUV420)

Recommended

Optional

gdk-pixbuf-2.44.4,

Installation of libavif

Prepare libavif by running the following commands:

cmake -B build -G Ninja            \
      -D CMAKE_INSTALL_PREFIX=/usr \
      -D CMAKE_BUILD_TYPE=Release  \
      -D AVIF_CODEC_AOM=SYSTEM     \
      -D AVIF_CODEC_DAV1D=SYSTEM   \
      -D AVIF_CODEC_SVT=SYSTEM     \
      -D AVIF_BUILD_GDK_PIXBUF=OFF \
      -D AVIF_LIBYUV=OFF
ninja -C build

To test the package (note that it will cause the build system to download a copy of gtest and build the test suite with the copy), issue:

cd build
cmake -D AVIF_GTEST=LOCAL -D AVIF_BUILD_TESTS=ON
ninja
ninja test
cd ..

Now Install the package, as the root user:

ninja -C build install

The AV1 format needs to be added to the loaders cache. As the root user:

gdk-pixbuf-query-loaders --update-cache

Command Explanations

-D AVIF_CODEC_{AOM,DAV1D,SVT}=SYSTEM: These switches enable using the AV1 codec via dav1d, libaom, and SVT-AV1. This package is useless without and AV1 encoder and decoder.

-D AVIF_BUILD_GDK_PIXBUF=OFF: This switch disables building the AVIF loader for applications which use gdk-pixbuf. The loader is useless when gdk-pixbuf is built with its recommended dependency glycin.

-D AVIF_LIBYUV=OFF: Use this switch if you have not installed libyuv.

-D AVIF_CODEC_RAV1E=SYSTEM: Use this switch if you have installed rav1e and wish to use it as a codec.

Contents

Installed Programs: None
Installed Libraries: libavif.so
Installed Directories: /usr/include/avif and /usr/lib/cmake/libavif

Short Descriptions

libavif.so

contains functions that provide a portable C implementation of the AV1 Image Format

libpixbufloader-avif.so

allows applications which use gdk-pixbuf to read AVIF images