The libavif package contains a library used for encoding and decoding AVIF files.
![[Note]](../images/note.png) 
          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.44.2 and libaom-3.13.1 (for chroma subsampling outside YUV420)
![[Note]](../images/note.png) 
          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.44.2.
        
          -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.