./configure --size-limit=640x480 --enable-small --enable-small trades speed for size. It disables loopfilter optimizations and reduces memory overhead. For embedded decoding, this is often invisible to the user. Yes and no.
In the world of open-source multimedia, libvpx is a titan. Developed by Google, it is the reference implementation for the VP8 and VP9 video codecs—the technologies that power YouTube, WebM, and billions of browser-based video calls. bloat libvpx
--disable-vp8-encoder --disable-vp9-decoder When cross-compiling, specify exactly the architecture: Yes and no
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. You can't fully disable one easily
./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: