Who is this for?

This is an introductory topic for software developers who want to build and run an x265 codec on Arm servers and measure performance.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Build x265 codec on Arm server
  • Run x265 codec on Arm server with the same video of various resolutions and encoding presets to measure the performance impact

Prerequisites

Before starting, you will need the following:

  • An Arm based instance from an appropriate cloud service provider. This Learning Path has been verified on AWS EC2 and Oracle cloud services, running Ubuntu Linux 20.04.

Summary

AI-assisted

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.

Close
?
You’ll build the open-source x265 (HEVC) encoder on an Arm server and run it on sample videos. You’ll install GCC, CMake, and supporting packages, obtain the referenced Arm-optimized libx265 source with Neoverse Neon support, and compile it. You’ll then run repeatable tests while varying the resolution and encoder preset to compare encoding behavior on Arm.

Frequently asked questions

AI-assisted

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.

Close
?
Which x265 source should I use to get Arm-specific optimizations?
Use the libx265 repository referenced in the steps on Bitbucket, which includes Arm Neoverse Neon support. Follow the clone or checkout instructions provided in the path to ensure you build the optimized tree.
What should I verify after installing the required packages?
Confirm the package installation completes without errors and that the listed tools are available on your system. Then proceed to the configure and build steps as shown in the path.
How should I structure the benchmarking across resolutions and presets?
Keep the input video constant and vary only the resolution and the encoder preset between runs. Use the same process for each run so results are comparable.
How do I know the build used Arm NEON optimizations?
Build the Bitbucket-based source referenced in the steps on an Arm server to enable the NEON-supported paths. If configuration targets a non-Arm platform, recheck that you’re building on the intended Arm instance.
What result should I expect when an encoding run finishes?
The encoder should complete and produce output consistent with the chosen resolution and preset. Record the run’s output information so you can compare it with other configurations.
Next