The libavif package contains a library used for encoding and decoding AVIF files.
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.
Download (HTTP): https://github.com/AOMediaCodec/libavif/archive/v1.3.0/libavif-1.3.0.tar.gz
Download MD5 sum: e180551c0989f7e096a4440b89d6282d
Download size: 13 MB
Estimated disk space required: 22 MB
Estimated build time: less than 0.1 SBU
dav1d-1.5.1 and SVT-AV1-3.1.2 (only supports YUV420)
gdk-pixbuf-2.42.12 and libaom-3.12.1 (for chroma subsampling outside YUV420)
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.
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
-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.