summaryrefslogtreecommitdiffstats
path: root/UPDATING
blob: ed5036c027a3f7fbf4edb56084e6538a234dcd75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Pull the new libvpx checkout into external/libvpx/libvpx:
$ cd external/libvpx/
$ rm -rf libvpx
$ git clone http://git.chromium.org/webm/libvpx.git
$ cd libvpx
$ git checkout <branch>

Enter the subdirectory for the relevant platform. For example, armv7-neon for
armv7 targets with neon extensions. We disable many features. Some for
functional reasons and some for aesthetic ones.

Functional:
--force-target=$TARGET
  The "Android" support in libvpx is targeted at the NDK and does not yet
  include support for architectures such as MIPS. However, we can still generate
  the necessary files for them.
--disable-runtime-cpu-detect
--disable-neon
  The platform knows at build time what extensions are supported.
--sdk-path=$SDK_PATH
  For configuration we do some compiler tests. It is much easier to accept them
  than to work around them. This uses the compilers included in the NDK.
--enable-realtime-only
  Reduce binary size when building the encoder.

Aesthetic:
--disable-examples
--disable-docs
  Skip unnecessary extra makefiles.

Example:
$ cd external/libvpx/armv7a
$ ../libvpx/configure --target=armv7-android-gcc --disable-runtime-cpu-detect \
  --disable-neon --sdk-path=$ANDROID_NDK_ROOT --disable-vp9-encoder \
  --disable-examples --disable-docs

Run 'make libvpx_srcs.txt'
This will generate a file listing all of the required sources. It will also
generate vpx_rtcd.h and vpx_version.h

Remove the unused files leaving only:
libvpx_srcs.txt
vpx_config.c
vpx_config.h
vpx_scale_rtcd.h
vp8_rtcd.h
vp9_rtcd.h
vpx_version.h

Remove the .git* from external/libvpx/libvpx:
$ cd external/libvpx/libvpx
$ rm -rf .git*