Bloat Libvpx Hot! Direct
We aren't talking about malware. We are talking about feature creep .
./configure --disable-runtime-cpu-detect --enable-static This tells the compiler: "Don't write the dispatcher. Just write the code for the CPU I am sitting on." This can cut binary size by 30-40%. Don't need VP8? (You probably don't; you want VP9). Or vice versa? You can't fully disable one easily, but you can reduce features: bloat libvpx
--target=armv7-linux-gcc --disable-neon --disable-avx2 Do not use --enable-shared if you only need one binary. Use --enable-static and let the linker garbage-collect unused functions ( -ffunction-sections -Wl,--gc-sections ). libvpx has a little-known flag: We aren't talking about malware
From the perspective of an IoT developer with 32 MB of total flash storage: The default libvpx is a nightmare of redundant symbol tables and CPU dispatchers that will never fire on their hardware. Just write the code for the CPU I am sitting on
--disable-vp8-encoder --disable-vp9-decoder When cross-compiling, specify exactly the architecture:
From the perspective of a desktop Linux user: libvpx is lean, fast, and necessary. The "bloat" is actually future-proofing .
If you are just decoding video (not encoding), consider dav1d for AV1 or ffmpeg with --enable-libvpx --disable-everything . But that is a story for another day.