1 Pull 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 8 Enter the subdirectory for the relevant platform. For example, armv7-neon for 9 armv7 targets with neon extensions. We disable many features. Some for 10 functional reasons and some for aesthetic ones. 11 12 Functional: 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 26 Aesthetic: 27 --disable-examples 28 --disable-docs 29 Skip unnecessary extra makefiles. 30 31 Example: 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 37 Run 'make libvpx_srcs.txt' 38 This will generate a file listing all of the required sources. It will also 39 generate vpx_rtcd.h and vpx_version.h 40 41 Remove the unused files leaving only: 42 libvpx_srcs.txt 43 vpx_config.c 44 vpx_config.h 45 vpx_scale_rtcd.h 46 vp8_rtcd.h 47 vp9_rtcd.h 48 vpx_version.h 49 50 Remove the .git* from external/libvpx/libvpx: 51 $ cd external/libvpx/libvpx 52 $ rm -rf .git* 53