S01 Libvpx: Cross
export CC=aarch64-linux-gnu-gcc export CXX=aarch64-linux-gnu-g++ export AR=aarch64-linux-gnu-ar export AS=aarch64-linux-gnu-as Then reconfigure. The build system needs to see the cross-tools for assembly. After make and make install DESTDIR=./rootfs , copy the .so files to your S01.
./vpxdec example.vp9 -o output.y4m If you see Using CPU: ARM NEON , pour yourself a coffee. You just successfully tricked a complex x86 build system into emitting perfect NEON assembly for a low-power ARM core. Cross-compiling libvpx isn't hard because of the codec. It's hard because the build system wants to test CPU capabilities, and cross-compilation prevents that. cross s01 libvpx
sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu Pro tip: Don't use the generic arm-linux-gnueabihf for A53. Go 64-bit. The A53 loves 64-bit mode for NEON optimizations. libvpx has an incredibly smart build system (via configure ). It auto-detects CPU features. But when cross-compiling, auto-detection runs on your x86 CPU. It will see AVX2 and SSE4 and think, "Great, let's enable those!" It's hard because the build system wants to
Explicitly disable everything your target doesn't have. use --target=armv7-linux-gcc and -mfpu=neon .
Happy compressing. May your S01 stream VP9 without dropping a single frame. P.S. If you try to build for a 32-bit ARMv7 (like the old Pi 2), use --target=armv7-linux-gcc and -mfpu=neon . But honestly? Move to 64-bit. Your A53 will thank you.


