Rate This Document
Findability
Accuracy
Completeness
Readability

Kunpeng libavif Installation Guide

Description

This document describes how to install Kunpeng libavif.

Environment Requirements

Hardware environment:

Project Description
CPU New Kunpeng 920 model

Software environment:

Software Version
OS openEuler 22.03 LTS SP4
Compiler GCC ≥ 10.3.1
make ≥ 4.3
cmake ≥ 3.10

Procedure

  1. Prepare the basic environment.

    yum install make libpng libpng-devel zlib-devel cmake gcc gcc-c++ zip unzip which wget expect man pcre-devel autoconf automake libtool nasm bzip2-devel libtool-ltdl-devel gettext-devel texinfo git vim zip perl-IPC-Cmd gdb file -y
  2. Download the project to the /home directory.

    cd /home
    git clone https://gitcode.com/boostkit/libavif.git
  3. Apply optimization patches.

    cd /home/libavif
    #Decompress the AOM and AVIF source packages.
    mkdir aom
    tar -zxvf aom-3.2.0.tar.gz -C aom
    tar -zxvf libavif-0.9.3.tar.gz
    #Apply AOM optimization.
    cd /home/libavif/aom
    patch -p1 < 0001-aom_3.2.0-optimize-v1.0.1.patch
    #Apply AVIF optimization.
    cd /home/libavif/libavif-0.9.3
    patch -p1 < 0002-avif_0.9.3-optimize-v1.0.1.patch
  4. Switch to the /home/libavif directory and save the following code to the build.sh script:

    #!/bin/bash
    INSTALL_PATH="/home/libavif/install" 
    echo "$INSTALL_PATH/lib" > /etc/ld.so.conf.d/INSTALL.conf
    echo "$INSTALL_PATH/lib64" > /etc/ld.so.conf.d/INSTALL_lib64.conf
    export PKG_CONFIG_PATH="$INSTALL_PATH/lib/pkgconfig:$PKG_CONFIG_PATH"
    pushd aom && rm -rf aom_build && mkdir aom_build && pushd aom_build && cmake -DCMAKE_INSTALL_PREFIX:PATH=$INSTALL_PATH -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_FULL_LIBDIR=/lib -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=ON -DENABLE_EXAMPLES=ON -DENABLE_DOCS=OFF -DCMAKE_C_FLAGS="-Ofast -ffp-contract=off -fPIC"  .. && make -j8 && make install && popd && popd && \
    mkdir -p $INSTALL_PATH/lib64 && cp $INSTALL_PATH/lib/libaom.so $INSTALL_PATH/lib64/ && pushd libavif-0.9.3 && rm -rf build && mkdir build && pushd build && cmake -DCMAKE_INSTALL_PREFIX:PATH=$INSTALL_PATH -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_FULL_LIBDIR=/lib -DCMAKE_LIBRARY_ARCHITECTURE=ON -DBUILD_SHARED_LIBS=1 -DAVIF_CODEC_AOM=ON -DAVIF_CODEC_DAV1D=OFF -DAVIF_CODEC_LIBGAV1=OFF -DAVIF_CODEC_RAV1E=OFF -DAVIF_CODEC_SVT=OFF -DAVIF_BUILD_EXAMPLES=OFF -DCMAKE_VERBOSE_MAKEFILE=OFF -DAVIF_BUILD_APPS=ON  -DDAV1D_INCLUDE_DIR=$INSTALL_PATH/include  -DCMAKE_C_FLAGS=" -fopenmp" .. && make -j8 && make install && popd && popd

    Execute the script and wait until the execution is complete.

    sh build.sh
  5. Check whether the installation is successful.

    export LD_LIBRARY_PATH=/home/libavif/install/lib/:/home/libavif/install/lib64/:$LD_LIBRARY_PATH
    /home/libavif/install/bin/avifenc --version

    If the AVIF version number is displayed in the command output, the installation is successful.