1Pull the new libvpx checkout into external/libvpx/libvpx: 2$ cd external/libvpx/ 3$ rm -rf libvpx 4$ git clone http://git.chromium.org/webm/libvpx.git 5$ cd libvpx 6$ git checkout <branch> 7 8Enter the subdirectory for the relevant platform. For example, armv7-neon for 9armv7 targets with neon extensions. We disable many features. Some for 10functional reasons and some for aesthetic ones. 11 12Functional: 13--force-target=$TARGET 14 The "Android" support in libvpx is targeted at the NDK and does not yet 15 include support for architectures such as MIPS. However, we can still generate 16 the necessary files for them. 17--disable-runtime-cpu-detect 18--disable-neon 19 The platform knows at build time what extensions are supported. 20--sdk-path=$SDK_PATH 21 For configuration we do some compiler tests. It is much easier to accept them 22 than to work around them. This uses the compilers included in the NDK. 23--enable-realtime-only 24 Reduce binary size when building the encoder. 25 26Aesthetic: 27--disable-examples 28--disable-docs 29 Skip unnecessary extra makefiles. 30 31Example: 32$ cd external/libvpx/armv7a 33$ ../libvpx/configure --target=armv7-android-gcc --disable-runtime-cpu-detect \ 34 --disable-neon --sdk-path=$ANDROID_NDK_ROOT --disable-vp9-encoder \ 35 --disable-examples --disable-docs 36 37Run 'make libvpx_srcs.txt' 38This will generate a file listing all of the required sources. It will also 39generate vpx_rtcd.h and vpx_version.h 40 41Remove the unused files leaving only: 42libvpx_srcs.txt 43vpx_config.c 44vpx_config.h 45vpx_scale_rtcd.h 46vp8_rtcd.h 47vp9_rtcd.h 48vpx_version.h 49 50Remove the .git* from external/libvpx/libvpx: 51$ cd external/libvpx/libvpx 52$ rm -rf .git* 53