libaom-3.13.1

#### Gaming Linux® From Scratch - Version 13.0

### Chapter 22. GS

- Prev

  dav1d-1.5.3

- Next

  fdk-aac-2.0.3

- Up
- Home

# libaom-3.13.1

## Introduction to libaom

The libaom package contains a reference version of the Alliance for Open Media video codec. This codec is a patent free alternative to H.265. While being slower than dav1d and SVT-AV1, this package provides both an encoder and decoder with support for chroma subsampling outside of just YUV420. SVT-AV1 only supports YUV420, so if you need to go outside it, install this package.

### Note

This may take a while to build. Feel free to do something else while this is building.

- Download: https://storage.googleapis.com/aom-releases/libaom-3.13.1.tar.gz

### Additional Downloads

- Required patch: https://www.linuxfromscratch.org/glfs/view/13.0/download/libaom/libaom-3.13.1-nasm3-1.patch

### libaom Dependencies

Recommended
NASM-3.01

## Installation of libaom

First, ensure libaom gets every bit of info it needs from NASM to prevent a configuration issue as a result of NASM updating how the help screens work with NASM3:

    patch -Np1 -i ../libaom-3.13.1-nasm3-1.patch

Next, prevent libaom from installing static libraries:

    sed -i 's/aom aom_static/aom/' build/cmake/aom_install.cmake

Install libaom by running the following commands:

    mkdir aom-build &&
    cd    aom-build &&

    cmake -D CMAKE_INSTALL_PREFIX=/usr \
          -D CMAKE_BUILD_TYPE=Release  \
          -D BUILD_SHARED_LIBS=1       \
          -D ENABLE_DOCS=no            \
          -G Ninja .. &&

    ninja

Now, as the `root` user:

    ninja install

## lib32 Installation of libaom

Install lib32-libaom by running the following commands:

    rm -rf * &&
    CC="gcc -m32" CXX="g++ -m32"         \
    PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
    cmake -D CMAKE_INSTALL_PREFIX=/usr   \
          -D CMAKE_INSTALL_LIBDIR=lib32  \
          -D CMAKE_BUILD_TYPE=Release    \
          -D BUILD_SHARED_LIBS=1         \
          -D ENABLE_DOCS=no              \
          -G Ninja .. &&

    ninja

Now, as the `root` user:

    DESTDIR=$PWD/DESTDIR ninja install    &&
    cp -vR DESTDIR/usr/lib32/* /usr/lib32 &&
    rm -rf DESTDIR                        &&
    ldconfig

## Command Explanations

### Note

For a full list of options and values, make sure you are in a build directory, then run cmake -LAH ...

`-D BUILD_SHARED_LIBS=1`: This switch builds shared versions of the libraries.

`-D ENABLE_DOCS=no`: This switch disables building the documentation because doxygen is not installed.

## Contents

Installed Programs: aomdec and aomenc
Installed Libraries: libaom
Installed Directories: /usr/include/aom

### Short Descriptions

aomdec | offers various decoders supported by this package, including one for AV1
aomenc | offers various encoders supported by this package, including one for AV1
`libaom` | contains functions that provide a reference implementation of the AV1 codec

- Prev

  dav1d-1.5.3

- Next

  fdk-aac-2.0.3

- Up
- Home