#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-491

### Chapter 42. Multimedia Libraries and Drivers

- Prev

  libvorbis-1.3.7

- Next

  MLT-7.38.0

- Up
- Home

# libvpx-1.16.0

## Introduction to libvpx

This package, from the WebM project, provides the reference implementations of the VP8 Codec (used in most current HTML5 video) and of the next-generation VP9 Codec.

### 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

- Download (HTTP): https://github.com/webmproject/libvpx/archive/v1.16.0/libvpx-1.16.0.tar.gz

- Download MD5 sum: fb51551487ecfdec93f3d243b7fb1a67

- Download size: 5.4 MB

- Estimated disk space required: 73 MB (add 1.7 GB for tests)

- Estimated build time: 0.4 SBU (Using parallelism=4; add approx 11 SBU for tests using parallelism=4, including download time)

### Additional Downloads

- Required patch: https://www.linuxfromscratch.org/patches/blfs/svn/libvpx-1.16.0-security_fix-1.patch

### libvpx Dependencies

#### Recommended

yasm-1.3.0 or NASM-3.01, and Which-2.23 (so configure can find yasm)

#### Optional

cURL-8.19.0 (to download test files) and Doxygen-1.17.0 (to build documentation)

### 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 libvpx

If upgrading from a previous version of libvpx, update the timestamps of all the files to prevent the build system from retaining the files from the old installation:

    find -type f | xargs touch

Next, fix a security vulnerability:

    patch -Np1 -i ../libvpx-1.16.0-security_fix-1.patch

Install libvpx by running the following commands:

    sed -i 's/cp -p/cp/' build/make/Makefile &&

    mkdir libvpx-build            &&
    cd    libvpx-build            &&

    ../configure --prefix=/usr    \
                 --enable-shared  \
                 --disable-static &&
    make

To test the results, issue: LD_LIBRARY_PATH=. make test. The test suite downloads many files as part of its test process. A few parts of it will use all available cores.

Now, as the `root` user:

    make install

## Command Explanations

sed ... : This command corrects the ownership and permissions of installed files.

mkdir libvpx-build && cd libvpx-build: The libvpx developers recommend building in a dedicated build directory.

`--disable-static`: This switch prevents installation of static versions of the libraries.

`--disable-vp8`: This switch prevents building support for the VP8 codec.

`--disable-vp9`: This switch prevents building support for the VP9 codec.

`--target=generic-gnu`: This switch disables optimizations specific to x86 and x86-64, allowing to build this package without nasm and yasm installed.

LD_LIBRARY_PATH=.: This is needed for the test suite to use the library that was just built.

## Contents

Installed Programs: vpxdec and vpxenc
Installed Libraries: libvpx.so
Installed Directories: /usr/include/vpx

### Short Descriptions

vpxdec | is the WebM Project VP8 and VP9 decoder
vpxenc | is the WebM project VP8 and VP9 encoder
`libvpx.so` | provides functions to use the VP8 and VP9 video codecs

- Prev

  libvorbis-1.3.7

- Next

  MLT-7.38.0

- Up
- Home