- Build Requirements
- CMake 3.23 or later
- Toolchain (Clang or GCC)
- For best performance the latest version of a given compiler should be used.
- Build Instructions
- Run the following commands
-
Release Builds
cmake -B Bin/Release -S . -DCMAKE_BUILD_TYPE="Release" -DCMAKE_TOOLCHAIN_FILE="./cmake/toolchains/aarch64_toolchain.cmake" cmake --build Bin/Release -j
-
Debug Builds
cmake -B Bin/Debug -S . -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_TOOLCHAIN_FILE="./cmake/toolchains/aarch64_toolchain.cmake" cmake --build Bin/Debug -j
-
- Run the following commands
- Create a new file called
aarch64_clang_toolchain.cmakeand put the following in it (change the clang path to your preferred version):set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR arm64) set(TRIPLE aarch64-linux-gnu) set(CMAKE_C_COMPILER clang-19) set(CMAKE_C_COMPILER_TARGET ${TRIPLE}) set(CMAKE_CXX_COMPILER clang++-19) set(CMAKE_CXX_COMPILER_TARGET ${TRIPLE}) set(CMAKE_ASM_FLAGS "--target=${TRIPLE}")
- Then Release/Debug builds commands are the same as for GCC.
-
Build Requirements
- GCC 8.1.0 or later
- CMake 3.23 or later
-
Build Instructions
- Run the following commands
-
Release Builds
cmake -B Bin/Release -S . -DCMAKE_BUILD_TYPE="Release" cmake --build Bin/Release -j
-
Debug Builds
cmake -B Bin/Debug -S . -DCMAKE_BUILD_TYPE="Debug" cmake --build Bin/Debug -j
-
- Run the following commands
- Binaries can be found under
<repo dir>/Bin/Releaseor<repo dir>/Bin/Debug, depending on whether Debug or Release were selected in the build mode.
For the binaries to operate properly on your system, the following conditions have to be met:
-
On any of the Linux* Operating Systems listed above, copy the binaries under a location of your choice.
-
Change the permissions on the sample application
SvtAV1EncAppexecutable by running the command:chmod +x SvtAv1EncApp -
cd into your chosen location
-
Run the sample application to encode
./SvtAv1EncApp -i [in.yuv] -w [width] -h [height] -b [out.ivf]
-
Sample application supports reading from pipe. For example
ffmpeg -i [input.mp4] -nostdin -f rawvideo -pix_fmt yuv420p - | ./SvtAv1EncApp -i stdin -n [number_of_frames_to_encode] -w [width] -h [height]