libavif-1.3.0

Introduction to libavif

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

[Note]

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

libavif Dependencies

Required

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

Recommended

Optional

gtest, libyuv, and rav1e

[Note]

Note

An Internet connection is needed for some tests of this package. The system certificate store may need to be set up with make-ca-1.16.1 before testing this package.

Installation of libavif

Install libavif by running the following commands:

mkdir build &&
cd    build &&

cmake -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=ON  \
      -D AVIF_LIBYUV=OFF           \
      -G Ninja .. &&
ninja

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:

cmake .. -D AVIF_GTEST=LOCAL -D AVIF_BUILD_TESTS=ON &&
ninja && ninja test

Now, as the root user:

ninja 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=ON: This switch builds the AVIF loader for applications which use gdk-pixbuf. Remove it if you have not installed gdk-pixbuf-2.42.12.

-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 and libpixbbufloader-avif.so (in /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders)
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