Run the AV1 and VP9 codecs on Arm Linux
Introduction
Build and Run the AV1 codec
Build and Run the VP9 codec
Next Steps
Run the AV1 and VP9 codecs on Arm Linux
Who is this for?
This is an introductory topic for software developers who want to build and run the VP9 and AV1 codecs on Arm servers and measure performance.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Build the AV1 and VP9 codecs on Arm Linux.
- Run the AV1 and VP9 codecs on Arm Linux using example videos with various resolutions and encodings.
Prerequisites
Before starting, you will need the following:
- An Arm Linux system or an Arm based instance from a cloud service provider.
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll build the AV1 and VP9 reference codecs from source on Arm Linux and run them on sample videos. You’ll compile libxaom and libvpx implementations — that have been optimized using Neon and SVE2 — with common development tools. Then, you’ll vary resolution and encoding settings to compare runs and benchmark performance.
Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
For AV1, use the
libxaom reference implementation with Arm-optimized code available on Google Git. For VP9, use the libvpx repository from the Chromium WebM project.The implementations include optimizations for Arm Neoverse that use Neon and SVE2. You don’t need to set extra flags. Follow the build steps on an Arm Linux system to run and benchmark.
A successful build produces libraries and codec executables that run on your Arm Linux system. Confirm you can encode or decode the example videos without errors before moving on to benchmarking.
Use example videos and vary resolution and encoding parameters to create comparable test runs. Keep inputs consistent across runs and record the command lines so you can repeat and compare results.
Verify that required development tools, including CMake and the GNU compiler, are available. Ensure you can access the referenced repositories and that you’re building on an Arm Linux system.