Skip to content

Instantly share code, notes, and snippets.

@primiano
Created September 14, 2015 08:28
Show Gist options
  • Save primiano/fc8be329450d6eccbbc5 to your computer and use it in GitHub Desktop.
Save primiano/fc8be329450d6eccbbc5 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
From 27d3d7accb6d003ff5e2d70bd3a6cdf6901e4d75 Mon Sep 17 00:00:00 2001
From: Primiano Tucci <[email protected]>
Date: Mon, 14 Sep 2015 09:09:04 +0100
Subject: [PATCH] Issue 1323333002: Move libvpx from DEPS to src
---
.gitignore | 2 +-
DEPS | 5 +-
WATCHLISTS | 5 +
third_party/libvpx/BUILD.gn | 276 ++
third_party/libvpx/DEPS | 7 +
third_party/libvpx/OWNERS | 2 +
third_party/libvpx/README.chromium | 57 +
third_party/libvpx/ads2gas.gypi | 54 +
third_party/libvpx/generate_gypi.sh | 533 +++
third_party/libvpx/include/elf.h | 445 +++
third_party/libvpx/libvpx.gyp | 291 ++
third_party/libvpx/libvpx_nacl.gyp | 33 +
third_party/libvpx/libvpx_srcs.gni | 3387 ++++++++++++++++++++
third_party/libvpx/libvpx_srcs_arm.gypi | 359 +++
third_party/libvpx/libvpx_srcs_arm64.gypi | 384 +++
third_party/libvpx/libvpx_srcs_arm_neon.gypi | 413 +++
.../libvpx/libvpx_srcs_arm_neon_cpu_detect.gypi | 359 +++
...libvpx_srcs_arm_neon_cpu_detect_intrinsics.gypi | 87 +
third_party/libvpx/libvpx_srcs_generic.gypi | 327 ++
third_party/libvpx/libvpx_srcs_mips.gypi | 329 ++
third_party/libvpx/libvpx_srcs_nacl.gypi | 327 ++
third_party/libvpx/libvpx_srcs_x86.gypi | 388 +++
third_party/libvpx/libvpx_srcs_x86_64.gypi | 395 +++
.../libvpx/libvpx_srcs_x86_64_intrinsics.gypi | 123 +
third_party/libvpx/libvpx_srcs_x86_intrinsics.gypi | 123 +
third_party/libvpx/lint_config.sh | 109 +
third_party/libvpx/run_perl.py | 28 +
.../config/linux/arm-neon-cpu-detect/vp8_rtcd.h | 336 ++
.../config/linux/arm-neon-cpu-detect/vp9_rtcd.h | 174 +
.../linux/arm-neon-cpu-detect/vpx_config.asm | 91 +
.../config/linux/arm-neon-cpu-detect/vpx_config.c | 10 +
.../config/linux/arm-neon-cpu-detect/vpx_config.h | 100 +
.../linux/arm-neon-cpu-detect/vpx_dsp_rtcd.h | 947 ++++++
.../linux/arm-neon-cpu-detect/vpx_scale_rtcd.h | 71 +
.../libvpx/source/config/linux/arm-neon/vp8_rtcd.h | 272 ++
.../libvpx/source/config/linux/arm-neon/vp9_rtcd.h | 156 +
.../source/config/linux/arm-neon/vpx_config.asm | 91 +
.../source/config/linux/arm-neon/vpx_config.c | 10 +
.../source/config/linux/arm-neon/vpx_config.h | 100 +
.../source/config/linux/arm-neon/vpx_dsp_rtcd.h | 765 +++++
.../source/config/linux/arm-neon/vpx_scale_rtcd.h | 71 +
.../libvpx/source/config/linux/arm/vp8_rtcd.h | 240 ++
.../libvpx/source/config/linux/arm/vp9_rtcd.h | 147 +
.../libvpx/source/config/linux/arm/vpx_config.asm | 91 +
.../libvpx/source/config/linux/arm/vpx_config.c | 10 +
.../libvpx/source/config/linux/arm/vpx_config.h | 100 +
.../libvpx/source/config/linux/arm/vpx_dsp_rtcd.h | 674 ++++
.../source/config/linux/arm/vpx_scale_rtcd.h | 71 +
.../libvpx/source/config/linux/arm64/vp8_rtcd.h | 242 ++
.../libvpx/source/config/linux/arm64/vp9_rtcd.h | 156 +
.../source/config/linux/arm64/vpx_config.asm | 91 +
.../libvpx/source/config/linux/arm64/vpx_config.c | 10 +
.../libvpx/source/config/linux/arm64/vpx_config.h | 100 +
.../source/config/linux/arm64/vpx_dsp_rtcd.h | 750 +++++
.../source/config/linux/arm64/vpx_scale_rtcd.h | 71 +
.../libvpx/source/config/linux/generic/vp8_rtcd.h | 205 ++
.../libvpx/source/config/linux/generic/vp9_rtcd.h | 142 +
.../source/config/linux/generic/vpx_config.asm | 91 +
.../source/config/linux/generic/vpx_config.c | 10 +
.../source/config/linux/generic/vpx_config.h | 100 +
.../source/config/linux/generic/vpx_dsp_rtcd.h | 660 ++++
.../source/config/linux/generic/vpx_scale_rtcd.h | 66 +
.../libvpx/source/config/linux/ia32/vp8_rtcd.h | 430 +++
.../libvpx/source/config/linux/ia32/vp9_rtcd.h | 238 ++
.../libvpx/source/config/linux/ia32/vpx_config.asm | 87 +
.../libvpx/source/config/linux/ia32/vpx_config.c | 10 +
.../libvpx/source/config/linux/ia32/vpx_config.h | 100 +
.../libvpx/source/config/linux/ia32/vpx_dsp_rtcd.h | 1383 ++++++++
.../source/config/linux/ia32/vpx_scale_rtcd.h | 69 +
.../libvpx/source/config/linux/mips64el/vp8_rtcd.h | 208 ++
.../libvpx/source/config/linux/mips64el/vp9_rtcd.h | 142 +
.../source/config/linux/mips64el/vpx_config.c | 10 +
.../source/config/linux/mips64el/vpx_config.h | 100 +
.../source/config/linux/mips64el/vpx_dsp_rtcd.h | 660 ++++
.../source/config/linux/mips64el/vpx_scale_rtcd.h | 66 +
.../libvpx/source/config/linux/mipsel/vp8_rtcd.h | 208 ++
.../libvpx/source/config/linux/mipsel/vp9_rtcd.h | 142 +
.../libvpx/source/config/linux/mipsel/vpx_config.c | 10 +
.../libvpx/source/config/linux/mipsel/vpx_config.h | 100 +
.../source/config/linux/mipsel/vpx_dsp_rtcd.h | 660 ++++
.../source/config/linux/mipsel/vpx_scale_rtcd.h | 66 +
.../libvpx/source/config/linux/x64/vp8_rtcd.h | 325 ++
.../libvpx/source/config/linux/x64/vp9_rtcd.h | 193 ++
.../libvpx/source/config/linux/x64/vpx_config.asm | 87 +
.../libvpx/source/config/linux/x64/vpx_config.c | 10 +
.../libvpx/source/config/linux/x64/vpx_config.h | 100 +
.../libvpx/source/config/linux/x64/vpx_dsp_rtcd.h | 1126 +++++++
.../source/config/linux/x64/vpx_scale_rtcd.h | 69 +
.../libvpx/source/config/mac/ia32/vp8_rtcd.h | 430 +++
.../libvpx/source/config/mac/ia32/vp9_rtcd.h | 238 ++
.../libvpx/source/config/mac/ia32/vpx_config.asm | 87 +
.../libvpx/source/config/mac/ia32/vpx_config.c | 10 +
.../libvpx/source/config/mac/ia32/vpx_config.h | 100 +
.../libvpx/source/config/mac/ia32/vpx_dsp_rtcd.h | 1383 ++++++++
.../libvpx/source/config/mac/ia32/vpx_scale_rtcd.h | 69 +
.../libvpx/source/config/mac/x64/vp8_rtcd.h | 325 ++
.../libvpx/source/config/mac/x64/vp9_rtcd.h | 193 ++
.../libvpx/source/config/mac/x64/vpx_config.asm | 87 +
.../libvpx/source/config/mac/x64/vpx_config.c | 10 +
.../libvpx/source/config/mac/x64/vpx_config.h | 100 +
.../libvpx/source/config/mac/x64/vpx_dsp_rtcd.h | 1126 +++++++
.../libvpx/source/config/mac/x64/vpx_scale_rtcd.h | 69 +
third_party/libvpx/source/config/nacl/vp8_rtcd.h | 205 ++
third_party/libvpx/source/config/nacl/vp9_rtcd.h | 142 +
.../libvpx/source/config/nacl/vpx_config.asm | 91 +
third_party/libvpx/source/config/nacl/vpx_config.c | 10 +
third_party/libvpx/source/config/nacl/vpx_config.h | 100 +
.../libvpx/source/config/nacl/vpx_dsp_rtcd.h | 660 ++++
.../libvpx/source/config/nacl/vpx_scale_rtcd.h | 66 +
third_party/libvpx/source/config/vpx_version.h | 7 +
.../libvpx/source/config/win/ia32/vp8_rtcd.h | 430 +++
.../libvpx/source/config/win/ia32/vp9_rtcd.h | 238 ++
.../libvpx/source/config/win/ia32/vpx_config.asm | 87 +
.../libvpx/source/config/win/ia32/vpx_config.c | 10 +
.../libvpx/source/config/win/ia32/vpx_config.h | 100 +
.../libvpx/source/config/win/ia32/vpx_dsp_rtcd.h | 1383 ++++++++
.../libvpx/source/config/win/ia32/vpx_scale_rtcd.h | 69 +
.../libvpx/source/config/win/x64/vp8_rtcd.h | 325 ++
.../libvpx/source/config/win/x64/vp9_rtcd.h | 193 ++
.../libvpx/source/config/win/x64/vpx_config.asm | 87 +
.../libvpx/source/config/win/x64/vpx_config.c | 10 +
.../libvpx/source/config/win/x64/vpx_config.h | 100 +
.../libvpx/source/config/win/x64/vpx_dsp_rtcd.h | 1126 +++++++
.../libvpx/source/config/win/x64/vpx_scale_rtcd.h | 69 +
third_party/libvpx/update_libvpx.sh | 137 +
125 files changed, 32536 insertions(+), 4 deletions(-)
create mode 100644 third_party/libvpx/BUILD.gn
create mode 100644 third_party/libvpx/DEPS
create mode 100644 third_party/libvpx/OWNERS
create mode 100644 third_party/libvpx/README.chromium
create mode 100644 third_party/libvpx/ads2gas.gypi
create mode 100755 third_party/libvpx/generate_gypi.sh
create mode 100644 third_party/libvpx/include/elf.h
create mode 100644 third_party/libvpx/libvpx.gyp
create mode 100644 third_party/libvpx/libvpx_nacl.gyp
create mode 100644 third_party/libvpx/libvpx_srcs.gni
create mode 100644 third_party/libvpx/libvpx_srcs_arm.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_arm64.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_arm_neon.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_arm_neon_cpu_detect.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_arm_neon_cpu_detect_intrinsics.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_generic.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_mips.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_nacl.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_x86.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_x86_64.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_x86_64_intrinsics.gypi
create mode 100644 third_party/libvpx/libvpx_srcs_x86_intrinsics.gypi
create mode 100755 third_party/libvpx/lint_config.sh
create mode 100755 third_party/libvpx/run_perl.py
create mode 100644 third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.c
create mode 100644 third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.h
create mode 100644 third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm-neon/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/linux/arm-neon/vpx_config.c
create mode 100644 third_party/libvpx/source/config/linux/arm-neon/vpx_config.h
create mode 100644 third_party/libvpx/source/config/linux/arm-neon/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm-neon/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/linux/arm/vpx_config.c
create mode 100644 third_party/libvpx/source/config/linux/arm/vpx_config.h
create mode 100644 third_party/libvpx/source/config/linux/arm/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm64/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm64/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm64/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/linux/arm64/vpx_config.c
create mode 100644 third_party/libvpx/source/config/linux/arm64/vpx_config.h
create mode 100644 third_party/libvpx/source/config/linux/arm64/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/arm64/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/generic/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/generic/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/generic/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/linux/generic/vpx_config.c
create mode 100644 third_party/libvpx/source/config/linux/generic/vpx_config.h
create mode 100644 third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/generic/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/ia32/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/ia32/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/ia32/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/linux/ia32/vpx_config.c
create mode 100644 third_party/libvpx/source/config/linux/ia32/vpx_config.h
create mode 100644 third_party/libvpx/source/config/linux/ia32/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/ia32/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/mips64el/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/mips64el/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/mips64el/vpx_config.c
create mode 100644 third_party/libvpx/source/config/linux/mips64el/vpx_config.h
create mode 100644 third_party/libvpx/source/config/linux/mips64el/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/mips64el/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/mipsel/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/mipsel/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/mipsel/vpx_config.c
create mode 100644 third_party/libvpx/source/config/linux/mipsel/vpx_config.h
create mode 100644 third_party/libvpx/source/config/linux/mipsel/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/mipsel/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/x64/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/x64/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/x64/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/linux/x64/vpx_config.c
create mode 100644 third_party/libvpx/source/config/linux/x64/vpx_config.h
create mode 100644 third_party/libvpx/source/config/linux/x64/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/linux/x64/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/mac/ia32/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/mac/ia32/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/mac/ia32/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/mac/ia32/vpx_config.c
create mode 100644 third_party/libvpx/source/config/mac/ia32/vpx_config.h
create mode 100644 third_party/libvpx/source/config/mac/ia32/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/mac/ia32/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/mac/x64/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/mac/x64/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/mac/x64/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/mac/x64/vpx_config.c
create mode 100644 third_party/libvpx/source/config/mac/x64/vpx_config.h
create mode 100644 third_party/libvpx/source/config/mac/x64/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/mac/x64/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/nacl/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/nacl/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/nacl/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/nacl/vpx_config.c
create mode 100644 third_party/libvpx/source/config/nacl/vpx_config.h
create mode 100644 third_party/libvpx/source/config/nacl/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/nacl/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/vpx_version.h
create mode 100644 third_party/libvpx/source/config/win/ia32/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/win/ia32/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/win/ia32/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/win/ia32/vpx_config.c
create mode 100644 third_party/libvpx/source/config/win/ia32/vpx_config.h
create mode 100644 third_party/libvpx/source/config/win/ia32/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/win/ia32/vpx_scale_rtcd.h
create mode 100644 third_party/libvpx/source/config/win/x64/vp8_rtcd.h
create mode 100644 third_party/libvpx/source/config/win/x64/vp9_rtcd.h
create mode 100644 third_party/libvpx/source/config/win/x64/vpx_config.asm
create mode 100644 third_party/libvpx/source/config/win/x64/vpx_config.c
create mode 100644 third_party/libvpx/source/config/win/x64/vpx_config.h
create mode 100644 third_party/libvpx/source/config/win/x64/vpx_dsp_rtcd.h
create mode 100644 third_party/libvpx/source/config/win/x64/vpx_scale_rtcd.h
create mode 100755 third_party/libvpx/update_libvpx.sh
diff --git a/.gitignore b/.gitignore
index 988fc27..990f538 100644
--- a/.gitignore
+++ b/.gitignore
@@ -338,7 +338,7 @@ v8.log
/third_party/libphonenumber/libphonenumber_without_metadata.xml
/third_party/libphonenumber/src
/third_party/libsrtp
-/third_party/libvpx
+/third_party/libvpx/source/libvpx
/third_party/libwebm/source
/third_party/libyuv
/third_party/lighttpd
diff --git a/DEPS b/DEPS
index fc72414..e470d43 100644
--- a/DEPS
+++ b/DEPS
@@ -33,7 +33,6 @@ vars = {
'googlecode_url': 'http://%s.googlecode.com/svn',
'webkit_revision': '90c10b1df70efaf4fbe35ef8ee2547c5957e6846', # from svn revision 202190
'chromium_git': 'https://chromium.googlesource.com',
- 'libvpx_revision': '0304cef02fe5e94b63e7e78ddb263d91ca32d533',
'sfntly_revision': '1bdaae8fc788a5ac8936d68bf24f37d977a13dac',
'skia_revision': '89bdca753265ff1ae9ead39d0ac35aab62d090d8',
# Three lines of non-changing comments so that
@@ -185,8 +184,8 @@ deps = {
'src/third_party/webdriver/pylib':
Var('chromium_git') + '/external/selenium/py.git' + '@' + '5fd78261a75fe08d27ca4835fb6c5ce4b42275bd',
- 'src/third_party/libvpx':
- Var('chromium_git') + '/chromium/deps/libvpx.git' + '@' + Var('libvpx_revision'),
+ 'src/third_party/libvpx/source/libvpx':
+ Var('chromium_git') + '/webm/libvpx.git' + '@' + '9a9b1cf7727c20cb42bfb4012dee0c55c6fd572d',
'src/third_party/ffmpeg':
Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '2d9eb2814143a958f9781b32a112f814a596e70e',
diff --git a/WATCHLISTS b/WATCHLISTS
index 728ed52..1dbc879 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -450,6 +450,9 @@
'libwebp': {
'filepath': 'third_party/libwebp'
},
+ 'libvpx': {
+ 'filepath': 'third_party/libvpx'
+ },
'linux_fonts': {
'filepath': 'ui/gfx/font_render_params_.*|'\
'ui/gfx/platform_font_linux.*|'\
@@ -1033,6 +1036,8 @@
'ipc': ['[email protected]', '[email protected]'],
'libwebp': ['[email protected]', '[email protected]',
'[email protected]', '[email protected]'],
+ 'libvpx': ['[email protected]', '[email protected]',
+ '[email protected]', '[email protected]'],
'linux_fonts': ['[email protected]'],
'linux_sandboxing': ['[email protected]'],
'linux_seccomp_bpf': ['[email protected]'],
diff --git a/third_party/libvpx/BUILD.gn b/third_party/libvpx/BUILD.gn
new file mode 100644
index 0000000..2385163
--- /dev/null
+++ b/third_party/libvpx/BUILD.gn
@@ -0,0 +1,276 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/arm.gni")
+import("//build/config/android/config.gni")
+import("//build/config/chrome_build.gni")
+import("//build/config/sanitizers/sanitizers.gni")
+import("//third_party/libvpx/libvpx_srcs.gni")
+import("//third_party/yasm/yasm_assemble.gni")
+
+# Sets the architecture name for building libvpx.
+if (current_cpu == "x86") {
+ cpu_arch_full = "ia32"
+} else if (current_cpu == "x64") {
+ if (is_msan) {
+ cpu_arch_full = "generic"
+ } else {
+ cpu_arch_full = "x64"
+ }
+} else if (current_cpu == "arm") {
+ if (arm_use_neon) {
+ cpu_arch_full = "arm-neon"
+ } else if (is_android) {
+ cpu_arch_full = "arm-neon-cpu-detect"
+ } else {
+ cpu_arch_full = "arm"
+ }
+} else {
+ cpu_arch_full = current_cpu
+}
+
+if (is_nacl) {
+ platform_include_dir = "//third_party/libvpx/source/config/nacl"
+} else {
+ if (is_posix && !is_mac) {
+ os_category = "linux"
+ } else {
+ os_category = current_os
+ }
+ platform_include_dir =
+ "//third_party/libvpx/source/config/$os_category/$cpu_arch_full"
+}
+
+config("libvpx_config") {
+ include_dirs = [
+ "//third_party/libvpx/source/config",
+ platform_include_dir,
+ "//third_party/libvpx/source/libvpx",
+ "$root_gen_dir/third_party/libvpx", # Provides vpx_rtcd.h.
+ ]
+}
+
+# gn orders flags on a target before flags from configs. The default config
+# adds -Wall, and these flags have to be after -Wall -- so they need to come
+# from a config and can't be on the target directly.
+config("libvpx_warnings") {
+ if (is_clang) {
+ cflags = [
+ # libvpx heavily relies on implicit enum casting.
+ "-Wno-conversion",
+ # libvpx does `if ((a == b))` in some places.
+ "-Wno-parentheses-equality",
+ # libvpx has many static functions in header, which trigger this warning.
+ "-Wno-unused-function",
+ ]
+ } else if (!is_win) {
+ cflags = [ "-Wno-unused-function", "-Wno-sign-compare" ]
+ }
+}
+
+# This config is applied to targets that depend on libvpx.
+config("libvpx_external_config") {
+ include_dirs = [
+ "//third_party/libvpx/source/libvpx",
+ ]
+}
+
+if (current_cpu == "x86" || current_cpu == "x64") {
+ yasm_assemble("libvpx_yasm") {
+ if (current_cpu == "x86") {
+ sources = libvpx_srcs_x86_assembly
+ } else if (current_cpu == "x64") {
+ sources = libvpx_srcs_x86_64_assembly
+ }
+
+ defines = [ "CHROMIUM" ]
+ include_dirs = [
+ platform_include_dir,
+ "//third_party/libvpx/source/config",
+ "//third_party/libvpx/source/libvpx",
+ target_gen_dir
+ ]
+ }
+}
+
+static_library("libvpx_intrinsics_mmx") {
+ configs += [ ":libvpx_config" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ configs += [ ":libvpx_warnings" ]
+ if (!is_win) {
+ cflags = [ "-mmmx" ]
+ }
+ if (current_cpu == "x86") {
+ sources = libvpx_srcs_x86_mmx
+ } else if (current_cpu == "x64") {
+ sources = libvpx_srcs_x86_64_mmx
+ }
+}
+
+static_library("libvpx_intrinsics_sse2") {
+ configs += [ ":libvpx_config" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ configs += [ ":libvpx_warnings" ]
+ if (!is_win || is_clang) {
+ cflags = [ "-msse2" ]
+ }
+ if (current_cpu == "x86") {
+ sources = libvpx_srcs_x86_sse2
+ } else if (current_cpu == "x64") {
+ sources = libvpx_srcs_x86_64_sse2
+ }
+}
+
+static_library("libvpx_intrinsics_ssse3") {
+ configs += [ ":libvpx_config" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ configs += [ ":libvpx_warnings" ]
+ if (!is_win || is_clang) {
+ cflags = [ "-mssse3" ]
+ }
+ if (current_cpu == "x86") {
+ sources = libvpx_srcs_x86_ssse3
+ } else if (current_cpu == "x64") {
+ sources = libvpx_srcs_x86_64_ssse3
+ }
+}
+
+static_library("libvpx_intrinsics_sse4_1") {
+ configs += [ ":libvpx_config" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ configs += [ ":libvpx_warnings" ]
+ if (!is_win || is_clang) {
+ cflags = [ "-msse4.1" ]
+ }
+ if (current_cpu == "x86") {
+ sources = libvpx_srcs_x86_sse4_1
+ } else if (current_cpu == "x64") {
+ sources = libvpx_srcs_x86_64_sse4_1
+ }
+}
+
+static_library("libvpx_intrinsics_avx2") {
+ configs += [ ":libvpx_config" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ configs += [ ":libvpx_warnings" ]
+ if (is_win) {
+ cflags = [ "/arch:AVX2" ]
+ } else {
+ cflags = [ "-mavx2" ]
+ }
+ if (current_cpu == "x86") {
+ sources = libvpx_srcs_x86_avx2
+ } else if (current_cpu == "x64") {
+ sources = libvpx_srcs_x86_64_avx2
+ }
+}
+
+if (cpu_arch_full == "arm-neon-cpu-detect") {
+ static_library("libvpx_intrinsics_neon") {
+ configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
+ configs += [ ":libvpx_config" ]
+ configs += [ ":libvpx_warnings" ]
+ cflags = [ "-mfpu=neon" ]
+ sources = libvpx_srcs_arm_neon_cpu_detect_neon
+ }
+}
+
+# Converts ARM assembly files to GAS style.
+if (current_cpu == "arm") {
+ action_foreach("convert_arm_assembly") {
+ script = "//third_party/libvpx/run_perl.py"
+ if (cpu_arch_full == "arm-neon") {
+ sources = libvpx_srcs_arm_neon_assembly
+ } else if (cpu_arch_full == "arm-neon-cpu-detect") {
+ sources = libvpx_srcs_arm_neon_cpu_detect_assembly
+ } else {
+ sources = libvpx_srcs_arm_assembly
+ }
+ outputs = [ "$target_gen_dir/{{source_name_part}}.S" ]
+ args = [
+ "-s",
+ rebase_path("//third_party/libvpx/source/libvpx/build/make/ads2gas.pl",
+ root_build_dir),
+ "-i", "{{source}}",
+ "-o", rebase_path("$target_gen_dir/{{source_name_part}}.S")
+ ]
+ }
+
+ static_library("libvpx_assembly_arm") {
+ sources = get_target_outputs(":convert_arm_assembly")
+ configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
+ configs += [ ":libvpx_config" ]
+ configs += [ ":libvpx_warnings" ]
+ if (cpu_arch_full == "arm-neon" ||
+ cpu_arch_full == "arm-neon-cpu-detect") {
+ cflags = [ "-mfpu=neon" ]
+ }
+ deps = [
+ ":convert_arm_assembly",
+ ]
+ }
+}
+
+static_library("libvpx") {
+ if (!is_debug && is_win && is_official_build) {
+ configs -= [ "//build/config/compiler:optimize" ]
+ configs += [ "//build/config/compiler:optimize_max" ]
+ }
+
+ if (is_nacl) {
+ sources = libvpx_srcs_generic
+ } else if (current_cpu == "x86") {
+ sources = libvpx_srcs_x86
+ } else if (current_cpu == "x64") {
+ if (is_msan) {
+ sources = libvpx_srcs_generic
+ } else {
+ sources = libvpx_srcs_x86_64
+ }
+ } else if (current_cpu == "mipsel") {
+ sources = libvpx_srcs_mips
+ } else if (current_cpu == "arm") {
+ if (arm_use_neon) {
+ sources = libvpx_srcs_arm_neon
+ } else if (is_android) {
+ sources = libvpx_srcs_arm_neon_cpu_detect
+ } else {
+ sources = libvpx_srcs_arm
+ }
+ } else if (current_cpu == "arm64") {
+ sources = libvpx_srcs_arm64
+ }
+
+ configs += [ ":libvpx_config" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [ "//build/config/compiler:no_chromium_code" ]
+ configs += [ ":libvpx_warnings" ]
+ deps = []
+ if (current_cpu == "x86" || (current_cpu == "x64" && !is_msan)) {
+ deps += [
+ ":libvpx_yasm",
+ ":libvpx_intrinsics_mmx",
+ ":libvpx_intrinsics_sse2",
+ ":libvpx_intrinsics_ssse3",
+ ":libvpx_intrinsics_sse4_1",
+ ":libvpx_intrinsics_avx2",
+ ]
+ }
+ if (cpu_arch_full == "arm-neon-cpu-detect") {
+ deps += [ ":libvpx_intrinsics_neon" ]
+ }
+ if (is_android) {
+ deps += [ "//third_party/android_tools:cpu_features" ]
+ }
+ if (current_cpu == "arm") {
+ deps += [ ":libvpx_assembly_arm" ]
+ }
+
+ public_configs = [ ":libvpx_external_config" ]
+}
diff --git a/third_party/libvpx/DEPS b/third_party/libvpx/DEPS
new file mode 100644
index 0000000..9065064
--- /dev/null
+++ b/third_party/libvpx/DEPS
@@ -0,0 +1,7 @@
+include_rules = [
+ '+vp8',
+ '+vp9',
+ '+vpx',
+ '+vpx_dsp',
+ '+vpx_ports',
+]
diff --git a/third_party/libvpx/OWNERS b/third_party/libvpx/OWNERS
new file mode 100644
index 0000000..c7e15fa
--- /dev/null
+++ b/third_party/libvpx/OWNERS
@@ -0,0 +1,2 @@
[email protected]
[email protected]
diff --git a/third_party/libvpx/README.chromium b/third_party/libvpx/README.chromium
new file mode 100644
index 0000000..97a08f3
--- /dev/null
+++ b/third_party/libvpx/README.chromium
@@ -0,0 +1,57 @@
+Name: libvpx
+URL: http://www.webmproject.org
+Version: v1.4.0
+License: BSD
+License File: source/libvpx/LICENSE
+Security Critical: yes
+
+Date: Tuesday September 01 2015
+Branch: master
+Commit: 9a9b1cf7727c20cb42bfb4012dee0c55c6fd572d
+
+Description:
+Contains the sources used to compile libvpx binaries used by Google Chrome and
+Chromium.
+
+The libvpx source is from webmproject.org:
+ git://review.webmproject.org/libvpx
+
+Notes on updating libvpx source code.
+
+Please follow these steps to update libvpx source code:
+
+1. Update libvpx source tree. Look for "Current HEAD: <hash>" output to update
+ README.chromium. Look for "git log from upstream: <git log>" output to add
+ to the commit message.
+
+ ./update_libvpx.sh [branch name]
+
+2. Generate updated .gypi and config files.
+
+ ./generate_gypi.sh
+
+3. Update this README with any Version, Date, Branch, and Commit changes. The
+ version is in the file source/config/vpx_version.h
+
+4. Commit the changes in root (I.e README & .gypi files), source/libvpx, and
+ source/config directories. The commit message should look like this:
+ libvpx: Pull from upstream
+
+ Current HEAD: <hash>
+
+ git log from upstream:
+ a6b2070 <git commit message 1>
+ 08dabbc <git commit message 2>
+ c29fb02 <git commit message 3>
+
+Tools needed to build libvpx:
+
+- generate_gypi.sh
+
+Generate config and .gypi files that contain the source list for each platform.
+Configuration for the build is taken from vpx_config.h for each platform.
+
+- lint_config.sh
+
+A tool to verify vpx_config.h and vpx_config.asm are matched. This also
+prints the final configuration after checking.
diff --git a/third_party/libvpx/ads2gas.gypi b/third_party/libvpx/ads2gas.gypi
new file mode 100644
index 0000000..76ffae7
--- /dev/null
+++ b/third_party/libvpx/ads2gas.gypi
@@ -0,0 +1,54 @@
+# Copyright (c) 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This file is meant to be included into a target to provide a rule
+# for translating .asm files to .S files using ads2gas.
+#
+# To use this, create a gyp target with the following form:
+# {
+# 'target_name': 'my_lib',
+# 'sources': [
+# 'foo.asm',
+# 'bar.c',
+# ],
+# 'includes': [ 'ads2gas.gypi' ],
+# }
+{
+ 'variables': {
+ # Location of the intermediate output.
+ 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libvpx',
+ 'variables': {
+ 'libvpx_source%': 'source/libvpx',
+ 'conditions': [
+ ['OS=="ios"', {
+ 'ads2gas_script%': 'ads2gas_apple.pl',
+ }, {
+ 'ads2gas_script%': 'ads2gas.pl',
+ }],
+ ],
+ },
+ 'ads2gas_script%': '<(ads2gas_script)',
+ 'ads2gas_script_dir': '<(libvpx_source)/build/make',
+ },
+ 'rules': [
+ {
+ 'rule_name': 'convert_asm',
+ 'extension': 'asm',
+ 'inputs': [
+ '<(ads2gas_script_dir)/<(ads2gas_script)',
+ '<(ads2gas_script_dir)/thumb.pm',
+ ],
+ 'outputs': [
+ '<(shared_generated_dir)/<(RULE_INPUT_ROOT).S',
+ ],
+ 'action': [
+ 'bash',
+ '-c',
+ 'cat <(RULE_INPUT_PATH) | perl <(ads2gas_script_dir)/<(ads2gas_script) -chromium > <(shared_generated_dir)/<(RULE_INPUT_ROOT).S',
+ ],
+ 'process_outputs_as_sources': 1,
+ 'message': 'Convert libvpx asm file for ARM <(RULE_INPUT_PATH)',
+ },
+ ],
+}
diff --git a/third_party/libvpx/generate_gypi.sh b/third_party/libvpx/generate_gypi.sh
new file mode 100755
index 0000000..08c16d7
--- /dev/null
+++ b/third_party/libvpx/generate_gypi.sh
@@ -0,0 +1,533 @@
+#!/bin/bash -e
+#
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script is used to generate .gypi, .gni files and files in the
+# config/platform directories needed to build libvpx.
+# Every time libvpx source code is updated just run this script.
+#
+# For example:
+# $ ./generate_gypi.sh
+#
+# And this will update all the .gypi, .gni and config files needed.
+#
+# !!! It's highly recommended to install yasm before running this script.
+
+export LC_ALL=C
+BASE_DIR=$(pwd)
+LIBVPX_SRC_DIR="source/libvpx"
+LIBVPX_CONFIG_DIR="source/config"
+
+# Print license header.
+# $1 - Output base name
+function write_license {
+ echo "# This file is generated. Do not edit." >> $1
+ echo "# Copyright (c) 2014 The Chromium Authors. All rights reserved." >> $1
+ echo "# Use of this source code is governed by a BSD-style license that can be" >> $1
+ echo "# found in the LICENSE file." >> $1
+ echo "" >> $1
+}
+
+# Print gypi boilerplate header.
+# $1 - Output base name
+function write_gypi_header {
+ echo "{" >> $1
+}
+
+# Print gypi boilerplate footer.
+# $1 - Output base name
+function write_gypi_footer {
+ echo "}" >> $1
+}
+
+# Generate a gypi with a list of source files.
+# $1 - Array name for file list. This is processed with 'declare' below to
+# regenerate the array locally.
+# $2 - Output file
+function write_gypi {
+ # Convert the first argument back in to an array.
+ local readonly file_list=(${!1})
+
+ rm -rf "$2"
+ write_license "$2"
+ write_gypi_header "$2"
+
+ echo " 'sources': [" >> "$2"
+ for f in ${file_list[@]}
+ do
+ echo " '<(libvpx_source)/$f'," >> "$2"
+ done
+ echo " ]," >> "$2"
+
+ write_gypi_footer "$2"
+}
+
+# Generate a gni with a list of source files.
+# $1 - Array name for file list. This is processed with 'declare' below to
+# regenerate the array locally.
+# $2 - GN variable name.
+# $3 - Output file.
+function write_gni {
+ # Convert the first argument back in to an array.
+ declare -a file_list=("${!1}")
+
+ echo "$2 = [" >> "$3"
+ for f in $file_list
+ do
+ echo " \"//third_party/libvpx/source/libvpx/$f\"," >> "$3"
+ done
+ echo "]" >> "$3"
+}
+
+# Target template function
+# $1 - Array name for file list.
+# $2 - Output file
+# $3 - Target name
+# $4 - Compiler flag
+function write_target_definition {
+ declare -a sources_list=("${!1}")
+
+ echo " {" >> "$2"
+ echo " 'target_name': '$3'," >> "$2"
+ echo " 'type': 'static_library'," >> "$2"
+ echo " 'include_dirs': [" >> "$2"
+ echo " 'source/config/<(OS_CATEGORY)/<(target_arch_full)'," >> "$2"
+ echo " '<(libvpx_source)'," >> "$2"
+ echo " ]," >> "$2"
+ echo " 'sources': [" >> "$2"
+ for f in $sources_list
+ do
+ echo " '<(libvpx_source)/$f'," >> $2
+ done
+ echo " ]," >> "$2"
+ if [[ $4 == fpu=neon ]]; then
+ echo " 'includes': [ 'ads2gas.gypi' ]," >> "$2"
+ echo " 'cflags!': [ '-mfpu=vfpv3-d16' ]," >> "$2"
+ echo " 'conditions': [" >> $2
+ echo " # Disable GCC LTO in neon targets due to compiler bug" >> "$2"
+ echo " # crbug.com/408997" >> "$2"
+ echo " ['clang==0 and use_lto==1', {" >> "$2"
+ echo " 'cflags!': [" >> "$2"
+ echo " '-flto'," >> "$2"
+ echo " '-ffat-lto-objects'," >> "$2"
+ echo " ]," >> "$2"
+ echo " }]," >> "$2"
+ echo " ]," >> "$2"
+ fi
+ echo " 'cflags': [ '-m$4', ]," >> "$2"
+ echo " 'xcode_settings': { 'OTHER_CFLAGS': [ '-m$4' ] }," >> "$2"
+ if [[ $4 == avx2 ]]; then
+ echo " 'msvs_settings': {" >> "$2"
+ echo " 'VCCLCompilerTool': {" >> "$2"
+ echo " 'EnableEnhancedInstructionSet': '5', # /arch:AVX2" >> "$2"
+ echo " }," >> "$2"
+ echo " }," >> "$2"
+ elif [[ $4 == ssse3 || $4 == sse4.1 ]]; then
+ echo " 'conditions': [" >> "$2"
+ echo " ['OS==\"win\" and clang==1', {" >> "$2"
+ echo " # cl.exe's /arch flag doesn't have a setting for SSSE3/4, and cl.exe" >> "$2"
+ echo " # doesn't need it for intrinsics. clang-cl does need it, though." >> "$2"
+ echo " 'msvs_settings': {" >> "$2"
+ echo " 'VCCLCompilerTool': { 'AdditionalOptions': [ '-m$4' ] }," >> "$2"
+ echo " }," >> "$2"
+ echo " }]," >> "$2"
+ echo " ]," >> "$2"
+ fi
+ echo " }," >> "$2"
+}
+
+
+# Generate a gypi which applies additional compiler flags based on the file
+# name.
+# $1 - Array name for file list.
+# $2 - Output file
+function write_intrinsics_gypi {
+ declare -a file_list=("${!1}")
+
+ local mmx_sources=$(echo "$file_list" | grep '_mmx\.c$')
+ local sse2_sources=$(echo "$file_list" | grep '_sse2\.c$')
+ local sse3_sources=$(echo "$file_list" | grep '_sse3\.c$')
+ local ssse3_sources=$(echo "$file_list" | grep '_ssse3\.c$')
+ local sse4_1_sources=$(echo "$file_list" | grep '_sse4\.c$')
+ local avx_sources=$(echo "$file_list" | grep '_avx\.c$')
+ local avx2_sources=$(echo "$file_list" | grep '_avx2\.c$')
+ local neon_sources=$(echo "$file_list" | grep '_neon\.c$\|\.asm$')
+
+ # Intrinsic functions and files are in flux. We can selectively generate them
+ # but we can not selectively include them in libvpx.gyp. Throw some errors
+ # when new targets are needed.
+
+ rm -rf "$2"
+ write_license "$2"
+ write_gypi_header "$2"
+
+ echo " 'targets': [" >> "$2"
+
+ # x86[_64]
+ if [ 0 -ne ${#mmx_sources} ]; then
+ write_target_definition mmx_sources[@] "$2" libvpx_intrinsics_mmx mmx
+ fi
+ if [ 0 -ne ${#sse2_sources} ]; then
+ write_target_definition sse2_sources[@] "$2" libvpx_intrinsics_sse2 sse2
+ fi
+ if [ 0 -ne ${#sse3_sources} ]; then
+ #write_target_definition sse3_sources[@] "$2" libvpx_intrinsics_sse3 sse3
+ echo "ERROR: Uncomment sse3 sections in libvpx.gyp"
+ exit 1
+ fi
+ if [ 0 -ne ${#ssse3_sources} ]; then
+ write_target_definition ssse3_sources[@] "$2" libvpx_intrinsics_ssse3 ssse3
+ fi
+ if [ 0 -ne ${#sse4_1_sources} ]; then
+ write_target_definition sse4_1_sources[@] "$2" libvpx_intrinsics_sse4_1 sse4.1
+ fi
+ if [ 0 -ne ${#avx_sources} ]; then
+ #write_target_definition avx_sources[@] "$2" libvpx_intrinsics_avx avx
+ echo "ERROR: Uncomment avx sections in libvpx.gyp"
+ exit 1
+ fi
+ if [ 0 -ne ${#avx2_sources} ]; then
+ write_target_definition avx2_sources[@] "$2" libvpx_intrinsics_avx2 avx2
+ fi
+
+ # arm neon
+ if [ 0 -ne ${#neon_sources} ]; then
+ write_target_definition neon_sources[@] "$2" libvpx_intrinsics_neon fpu=neon
+ fi
+
+ echo " ]," >> "$2"
+
+ write_gypi_footer "$2"
+}
+
+# Convert a list of source files into gypi and gni files.
+# $1 - Input file.
+# $2 - Output gypi file base. Will generate additional .gypi files when
+# different compilation flags are required.
+function convert_srcs_to_project_files {
+ # Do the following here:
+ # 1. Filter .c, .h, .s, .S and .asm files.
+ # 2. Move certain files to a separate include to allow applying different
+ # compiler options.
+ # 3. Replace .asm.s to .asm because gyp will do the conversion.
+
+ local source_list=$(grep -E '(\.c|\.h|\.S|\.s|\.asm)$' $1)
+
+ # Not sure why vpx_config is not included.
+ source_list=$(echo "$source_list" | grep -v 'vpx_config\.c')
+
+ # The actual ARM files end in .asm. We have rules to translate them to .S
+ source_list=$(echo "$source_list" | sed s/\.asm\.s$/.asm/)
+
+ # Select all x86 files ending with .c
+ local intrinsic_list=$(echo "$source_list" | \
+ egrep '(mmx|sse2|sse3|ssse3|sse4|avx|avx2).c$')
+
+ # Select all neon files ending in C but only when building in RTCD mode
+ if [ "libvpx_srcs_arm_neon_cpu_detect" == "$2" ]; then
+ # Select all arm neon files ending in _neon.c and all asm files.
+ # The asm files need to be included in the intrinsics target because
+ # they need the -mfpu=neon flag.
+ # the pattern may need to be updated if vpx_scale gets intrinics
+ local intrinsic_list=$(echo "$source_list" | \
+ egrep 'neon.*(\.c|\.asm)$')
+ fi
+
+ # Remove these files from the main list.
+ source_list=$(comm -23 <(echo "$source_list") <(echo "$intrinsic_list"))
+
+ local x86_list=$(echo "$source_list" | egrep '/x86/')
+
+ write_gypi source_list "$BASE_DIR/$2.gypi"
+
+ # All the files are in a single "element." Check if the first element has
+ # length 0.
+ if [ 0 -ne ${#intrinsic_list} ]; then
+ write_intrinsics_gypi intrinsic_list[@] "$BASE_DIR/$2_intrinsics.gypi"
+ fi
+
+ # Write a single .gni file that includes all source files for all archs.
+ if [ 0 -ne ${#x86_list} ]; then
+ local c_sources=$(echo "$source_list" | egrep '.(c|h)$')
+ local assembly_sources=$(echo "$source_list" | egrep '.asm$')
+ local mmx_sources=$(echo "$intrinsic_list" | grep '_mmx\.c$')
+ local sse2_sources=$(echo "$intrinsic_list" | grep '_sse2\.c$')
+ local sse3_sources=$(echo "$intrinsic_list" | grep '_sse3\.c$')
+ local ssse3_sources=$(echo "$intrinsic_list" | grep '_ssse3\.c$')
+ local sse4_1_sources=$(echo "$intrinsic_list" | grep '_sse4\.c$')
+ local avx_sources=$(echo "$intrinsic_list" | grep '_avx\.c$')
+ local avx2_sources=$(echo "$intrinsic_list" | grep '_avx2\.c$')
+
+ write_gni c_sources $2 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni assembly_sources $2_assembly "$BASE_DIR/libvpx_srcs.gni"
+ write_gni mmx_sources $2_mmx "$BASE_DIR/libvpx_srcs.gni"
+ write_gni sse2_sources $2_sse2 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni sse3_sources $2_sse3 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni ssse3_sources $2_ssse3 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni sse4_1_sources $2_sse4_1 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni avx_sources $2_avx "$BASE_DIR/libvpx_srcs.gni"
+ write_gni avx2_sources $2_avx2 "$BASE_DIR/libvpx_srcs.gni"
+ else
+ local c_sources=$(echo "$source_list" | egrep '.(c|h)$')
+ local assembly_sources=$(echo -e "$source_list\n$intrinsic_list" | \
+ egrep '.asm$')
+ local neon_sources=$(echo "$intrinsic_list" | grep '_neon\.c$')
+ write_gni c_sources $2 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni assembly_sources $2_assembly "$BASE_DIR/libvpx_srcs.gni"
+ if [ 0 -ne ${#neon_sources} ]; then
+ write_gni neon_sources $2_neon "$BASE_DIR/libvpx_srcs.gni"
+ fi
+ fi
+}
+
+# Clean files from previous make.
+function make_clean {
+ make clean > /dev/null
+ rm -f libvpx_srcs.txt
+}
+
+# Lint a pair of vpx_config.h and vpx_config.asm to make sure they match.
+# $1 - Header file directory.
+function lint_config {
+ # mips does not contain any assembly so the header does not need to be
+ # compared to the asm.
+ if [[ "$1" != *mipsel && "$1" != *mips64el ]]; then
+ $BASE_DIR/lint_config.sh \
+ -h $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.h \
+ -a $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.asm
+ fi
+}
+
+# Print the configuration.
+# $1 - Header file directory.
+function print_config {
+ $BASE_DIR/lint_config.sh -p \
+ -h $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.h \
+ -a $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.asm
+}
+
+# Print the configuration from Header file.
+# This function is an abridged version of print_config which does not use
+# lint_config and it does not require existence of vpx_config.asm.
+# $1 - Header file directory.
+function print_config_basic {
+ combined_config="$(cat $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.h \
+ | grep -E ' +[01] *$')"
+ combined_config="$(echo "$combined_config" | grep -v DO1STROUNDING)"
+ combined_config="$(echo "$combined_config" | sed 's/[ \t]//g')"
+ combined_config="$(echo "$combined_config" | sed 's/.*define//')"
+ combined_config="$(echo "$combined_config" | sed 's/0$/=no/')"
+ combined_config="$(echo "$combined_config" | sed 's/1$/=yes/')"
+ echo "$combined_config" | sort | uniq
+}
+
+# Generate *_rtcd.h files.
+# $1 - Header file directory.
+# $2 - Architecture.
+function gen_rtcd_header {
+ echo "Generate $LIBVPX_CONFIG_DIR/$1/*_rtcd.h files."
+
+ rm -rf $BASE_DIR/$TEMP_DIR/libvpx.config
+ if [[ "$2" == "mipsel" || "$2" == "mips64el" ]]; then
+ print_config_basic $1 > $BASE_DIR/$TEMP_DIR/libvpx.config
+ else
+ $BASE_DIR/lint_config.sh -p \
+ -h $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.h \
+ -a $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_config.asm \
+ -o $BASE_DIR/$TEMP_DIR/libvpx.config
+ fi
+
+ $BASE_DIR/$LIBVPX_SRC_DIR/build/make/rtcd.pl \
+ --arch=$2 \
+ --sym=vp8_rtcd \
+ --config=$BASE_DIR/$TEMP_DIR/libvpx.config \
+ $BASE_DIR/$LIBVPX_SRC_DIR/vp8/common/rtcd_defs.pl \
+ > $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vp8_rtcd.h
+
+ $BASE_DIR/$LIBVPX_SRC_DIR/build/make/rtcd.pl \
+ --arch=$2 \
+ --sym=vp9_rtcd \
+ --config=$BASE_DIR/$TEMP_DIR/libvpx.config \
+ $BASE_DIR/$LIBVPX_SRC_DIR/vp9/common/vp9_rtcd_defs.pl \
+ > $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vp9_rtcd.h
+
+ $BASE_DIR/$LIBVPX_SRC_DIR/build/make/rtcd.pl \
+ --arch=$2 \
+ --sym=vpx_scale_rtcd \
+ --config=$BASE_DIR/$TEMP_DIR/libvpx.config \
+ $BASE_DIR/$LIBVPX_SRC_DIR/vpx_scale/vpx_scale_rtcd.pl \
+ > $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_scale_rtcd.h
+
+ $BASE_DIR/$LIBVPX_SRC_DIR/build/make/rtcd.pl \
+ --arch=$2 \
+ --sym=vpx_dsp_rtcd \
+ --config=$BASE_DIR/$TEMP_DIR/libvpx.config \
+ $BASE_DIR/$LIBVPX_SRC_DIR/vpx_dsp/vpx_dsp_rtcd_defs.pl \
+ > $BASE_DIR/$LIBVPX_CONFIG_DIR/$1/vpx_dsp_rtcd.h
+
+ rm -rf $BASE_DIR/$TEMP_DIR/libvpx.config
+}
+
+# Generate Config files. "--enable-external-build" must be set to skip
+# detection of capabilities on specific targets.
+# $1 - Header file directory.
+# $2 - Config command line.
+function gen_config_files {
+ ./configure $2 > /dev/null
+
+ # Disable HAVE_UNISTD_H as it causes vp8 to try to detect how many cpus
+ # available, which doesn't work from iniside a sandbox on linux.
+ ( echo '/HAVE_UNISTD_H/s/[01]/0/' ; echo 'w' ; echo 'q' ) | ed -s vpx_config.h
+
+ # Generate vpx_config.asm. Do not create one for mips.
+ if [[ "$1" != *mipsel && "$1" != *mips64el ]]; then
+ if [[ "$1" == *x64* ]] || [[ "$1" == *ia32* ]]; then
+ egrep "#define [A-Z0-9_]+ [01]" vpx_config.h | awk '{print "%define " $2 " " $3}' > vpx_config.asm
+ else
+ egrep "#define [A-Z0-9_]+ [01]" vpx_config.h | awk '{print $2 " EQU " $3}' | perl $BASE_DIR/$LIBVPX_SRC_DIR/build/make/ads2gas.pl > vpx_config.asm
+ fi
+ fi
+
+ cp vpx_config.* $BASE_DIR/$LIBVPX_CONFIG_DIR/$1
+ make_clean
+ rm -rf vpx_config.*
+}
+
+echo "Create temporary directory."
+TEMP_DIR="$LIBVPX_SRC_DIR.temp"
+rm -rf $TEMP_DIR
+cp -R $LIBVPX_SRC_DIR $TEMP_DIR
+cd $TEMP_DIR
+
+echo "Generate config files."
+all_platforms="--enable-external-build --enable-postproc --disable-install-srcs --enable-multi-res-encoding --enable-temporal-denoising --disable-unit-tests --disable-install-docs --disable-examples --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384"
+gen_config_files linux/ia32 "--target=x86-linux-gcc --disable-ccache --enable-pic --enable-realtime-only ${all_platforms}"
+gen_config_files linux/x64 "--target=x86_64-linux-gcc --disable-ccache --enable-pic --enable-realtime-only ${all_platforms}"
+gen_config_files linux/arm "--target=armv6-linux-gcc --enable-pic --enable-realtime-only --disable-install-bins --disable-install-libs --disable-edsp ${all_platforms}"
+gen_config_files linux/arm-neon "--target=armv7-linux-gcc --enable-pic --enable-realtime-only --disable-edsp ${all_platforms}"
+gen_config_files linux/arm-neon-cpu-detect "--target=armv7-linux-gcc --enable-pic --enable-realtime-only --enable-runtime-cpu-detect --disable-edsp ${all_platforms}"
+gen_config_files linux/arm64 "--force-target=armv8-linux-gcc --enable-pic --enable-realtime-only --disable-edsp ${all_platforms}"
+gen_config_files linux/mipsel "--target=mips32-linux-gcc ${all_platforms}"
+gen_config_files linux/mips64el "--target=mips64-linux-gcc ${all_platforms}"
+gen_config_files linux/generic "--target=generic-gnu --enable-pic --enable-realtime-only ${all_platforms}"
+gen_config_files win/ia32 "--target=x86-win32-vs12 --enable-realtime-only ${all_platforms}"
+gen_config_files win/x64 "--target=x86_64-win64-vs12 --enable-realtime-only ${all_platforms}"
+gen_config_files mac/ia32 "--target=x86-darwin9-gcc --enable-pic --enable-realtime-only ${all_platforms}"
+gen_config_files mac/x64 "--target=x86_64-darwin9-gcc --enable-pic --enable-realtime-only ${all_platforms}"
+gen_config_files nacl "--target=generic-gnu --enable-pic --enable-realtime-only ${all_platforms}"
+
+echo "Remove temporary directory."
+cd $BASE_DIR
+rm -rf $TEMP_DIR
+
+echo "Lint libvpx configuration."
+lint_config linux/ia32
+lint_config linux/x64
+lint_config linux/arm
+lint_config linux/arm-neon
+lint_config linux/arm-neon-cpu-detect
+lint_config linux/arm64
+lint_config linux/mipsel
+lint_config linux/mips64el
+lint_config linux/generic
+lint_config win/ia32
+lint_config win/x64
+lint_config mac/ia32
+lint_config mac/x64
+lint_config nacl
+
+echo "Create temporary directory."
+TEMP_DIR="$LIBVPX_SRC_DIR.temp"
+rm -rf $TEMP_DIR
+cp -R $LIBVPX_SRC_DIR $TEMP_DIR
+cd $TEMP_DIR
+
+gen_rtcd_header linux/ia32 x86
+gen_rtcd_header linux/x64 x86_64
+gen_rtcd_header linux/arm armv6
+gen_rtcd_header linux/arm-neon armv7
+gen_rtcd_header linux/arm-neon-cpu-detect armv7
+gen_rtcd_header linux/arm64 armv8
+gen_rtcd_header linux/mipsel mipsel
+gen_rtcd_header linux/mips64el mips64el
+gen_rtcd_header linux/generic generic
+gen_rtcd_header win/ia32 x86
+gen_rtcd_header win/x64 x86_64
+gen_rtcd_header mac/ia32 x86
+gen_rtcd_header mac/x64 x86_64
+gen_rtcd_header nacl nacl
+
+echo "Prepare Makefile."
+./configure --target=generic-gnu > /dev/null
+make_clean
+
+# Remove existing .gni file.
+rm -rf $BASE_DIR/libvpx_srcs.gni
+write_license $BASE_DIR/libvpx_srcs.gni
+
+echo "Generate X86 source list."
+config=$(print_config linux/ia32)
+make_clean
+make libvpx_srcs.txt target=libs $config > /dev/null
+convert_srcs_to_project_files libvpx_srcs.txt libvpx_srcs_x86
+
+# Copy vpx_version.h. The file should be the same for all platforms.
+cp vpx_version.h $BASE_DIR/$LIBVPX_CONFIG_DIR
+
+echo "Generate X86_64 source list."
+config=$(print_config linux/x64)
+make_clean
+make libvpx_srcs.txt target=libs $config > /dev/null
+convert_srcs_to_project_files libvpx_srcs.txt libvpx_srcs_x86_64
+
+echo "Generate ARM source list."
+config=$(print_config linux/arm)
+make_clean
+make libvpx_srcs.txt target=libs $config > /dev/null
+convert_srcs_to_project_files libvpx_srcs.txt libvpx_srcs_arm
+
+echo "Generate ARM NEON source list."
+config=$(print_config linux/arm-neon)
+make_clean
+make libvpx_srcs.txt target=libs $config > /dev/null
+convert_srcs_to_project_files libvpx_srcs.txt libvpx_srcs_arm_neon
+
+echo "Generate ARM NEON CPU DETECT source list."
+config=$(print_config linux/arm-neon-cpu-detect)
+make_clean
+make libvpx_srcs.txt target=libs $config > /dev/null
+convert_srcs_to_project_files libvpx_srcs.txt libvpx_srcs_arm_neon_cpu_detect
+
+echo "Generate ARM64 source list."
+config=$(print_config linux/arm64)
+make_clean
+make libvpx_srcs.txt target=libs $config > /dev/null
+convert_srcs_to_project_files libvpx_srcs.txt libvpx_srcs_arm64
+
+echo "Generate MIPS source list."
+config=$(print_config_basic linux/mipsel)
+make_clean
+make libvpx_srcs.txt target=libs $config > /dev/null
+convert_srcs_to_project_files libvpx_srcs.txt libvpx_srcs_mips
+
+echo "MIPS64 source list is identical to MIPS source list. No need to generate it."
+
+echo "Generate NaCl source list."
+config=$(print_config_basic nacl)
+make_clean
+make libvpx_srcs.txt target=libs $config > /dev/null
+convert_srcs_to_project_files libvpx_srcs.txt libvpx_srcs_nacl
+
+echo "Generate GENERIC source list."
+config=$(print_config_basic linux/generic)
+make_clean
+make libvpx_srcs.txt target=libs $config > /dev/null
+convert_srcs_to_project_files libvpx_srcs.txt libvpx_srcs_generic
+
+echo "Remove temporary directory."
+cd $BASE_DIR
+rm -rf $TEMP_DIR
+
+# TODO(fgalligan): Can we turn on "--enable-realtime-only" for mipsel?
diff --git a/third_party/libvpx/include/elf.h b/third_party/libvpx/include/elf.h
new file mode 100644
index 0000000..32e3011
--- /dev/null
+++ b/third_party/libvpx/include/elf.h
@@ -0,0 +1,445 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ *** This header was automatically generated from a Linux kernel header
+ *** of the same name, to make information necessary for userspace to
+ *** call into the kernel available to libc. It contains only constants,
+ *** structures, and macros generated from the original header, and thus,
+ *** contains no copyrightable information.
+ ***
+ *** To edit the content of this header, modify the corresponding
+ *** source file (e.g. under external/kernel-headers/original/) then
+ *** run bionic/libc/kernel/tools/update_all.py
+ ***
+ *** Any manual change here will be lost the next time this script will
+ *** be run. You've been warned!
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+
+/*
+This file was copied from /bionic/libc/kernel/uapi/linux/elf.h of android
+source tree and has below changes.
+
+- Removed included header file linux/types.h, linux/elf-em.h
+- Added stdint.h
+- Replaced __u32 with uint32_t
+- Replaced __u16 with uint16_t
+- Replaced __u64 with uint64_t
+- Replaced __s32 with int32_t
+- Replaced __s16 with int16_t
+- Replaced __s64 with int64_t
+*/
+
+#ifndef _UAPI_LINUX_ELF_H
+#define _UAPI_LINUX_ELF_H
+
+#include <stdint.h>
+
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef uint32_t Elf32_Addr;
+typedef uint16_t Elf32_Half;
+typedef uint32_t Elf32_Off;
+typedef int32_t Elf32_Sword;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef uint32_t Elf32_Word;
+typedef uint64_t Elf64_Addr;
+typedef uint16_t Elf64_Half;
+typedef int16_t Elf64_SHalf;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef uint64_t Elf64_Off;
+typedef int32_t Elf64_Sword;
+typedef uint32_t Elf64_Word;
+typedef uint64_t Elf64_Xword;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef int64_t Elf64_Sxword;
+#define PT_NULL 0
+#define PT_LOAD 1
+#define PT_DYNAMIC 2
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define PT_INTERP 3
+#define PT_NOTE 4
+#define PT_SHLIB 5
+#define PT_PHDR 6
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define PT_TLS 7
+#define PT_LOOS 0x60000000
+#define PT_HIOS 0x6fffffff
+#define PT_LOPROC 0x70000000
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define PT_HIPROC 0x7fffffff
+#define PT_GNU_EH_FRAME 0x6474e550
+#define PT_GNU_STACK (PT_LOOS + 0x474e551)
+#define PN_XNUM 0xffff
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ET_NONE 0
+#define ET_REL 1
+#define ET_EXEC 2
+#define ET_DYN 3
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ET_CORE 4
+#define ET_LOPROC 0xff00
+#define ET_HIPROC 0xffff
+#define DT_NULL 0
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DT_NEEDED 1
+#define DT_PLTRELSZ 2
+#define DT_PLTGOT 3
+#define DT_HASH 4
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DT_STRTAB 5
+#define DT_SYMTAB 6
+#define DT_RELA 7
+#define DT_RELASZ 8
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DT_RELAENT 9
+#define DT_STRSZ 10
+#define DT_SYMENT 11
+#define DT_INIT 12
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DT_FINI 13
+#define DT_SONAME 14
+#define DT_RPATH 15
+#define DT_SYMBOLIC 16
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DT_REL 17
+#define DT_RELSZ 18
+#define DT_RELENT 19
+#define DT_PLTREL 20
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DT_DEBUG 21
+#define DT_TEXTREL 22
+#define DT_JMPREL 23
+#define DT_ENCODING 32
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define OLD_DT_LOOS 0x60000000
+#define DT_LOOS 0x6000000d
+#define DT_HIOS 0x6ffff000
+#define DT_VALRNGLO 0x6ffffd00
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DT_VALRNGHI 0x6ffffdff
+#define DT_ADDRRNGLO 0x6ffffe00
+#define DT_ADDRRNGHI 0x6ffffeff
+#define DT_VERSYM 0x6ffffff0
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DT_RELACOUNT 0x6ffffff9
+#define DT_RELCOUNT 0x6ffffffa
+#define DT_FLAGS_1 0x6ffffffb
+#define DT_VERDEF 0x6ffffffc
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DT_VERDEFNUM 0x6ffffffd
+#define DT_VERNEED 0x6ffffffe
+#define DT_VERNEEDNUM 0x6fffffff
+#define OLD_DT_HIOS 0x6fffffff
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define DT_LOPROC 0x70000000
+#define DT_HIPROC 0x7fffffff
+#define STB_LOCAL 0
+#define STB_GLOBAL 1
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define STB_WEAK 2
+#define STT_NOTYPE 0
+#define STT_OBJECT 1
+#define STT_FUNC 2
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define STT_SECTION 3
+#define STT_FILE 4
+#define STT_COMMON 5
+#define STT_TLS 6
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ELF_ST_BIND(x) ((x) >> 4)
+#define ELF_ST_TYPE(x) (((unsigned int) x) & 0xf)
+#define ELF32_ST_BIND(x) ELF_ST_BIND(x)
+#define ELF32_ST_TYPE(x) ELF_ST_TYPE(x)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ELF64_ST_BIND(x) ELF_ST_BIND(x)
+#define ELF64_ST_TYPE(x) ELF_ST_TYPE(x)
+typedef struct dynamic{
+ Elf32_Sword d_tag;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ union{
+ Elf32_Sword d_val;
+ Elf32_Addr d_ptr;
+ } d_un;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+} Elf32_Dyn;
+typedef struct {
+ Elf64_Sxword d_tag;
+ union {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Xword d_val;
+ Elf64_Addr d_ptr;
+ } d_un;
+} Elf64_Dyn;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ELF32_R_SYM(x) ((x) >> 8)
+#define ELF32_R_TYPE(x) ((x) & 0xff)
+#define ELF64_R_SYM(i) ((i) >> 32)
+#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef struct elf32_rel {
+ Elf32_Addr r_offset;
+ Elf32_Word r_info;
+} Elf32_Rel;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef struct elf64_rel {
+ Elf64_Addr r_offset;
+ Elf64_Xword r_info;
+} Elf64_Rel;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef struct elf32_rela{
+ Elf32_Addr r_offset;
+ Elf32_Word r_info;
+ Elf32_Sword r_addend;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+} Elf32_Rela;
+typedef struct elf64_rela {
+ Elf64_Addr r_offset;
+ Elf64_Xword r_info;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Sxword r_addend;
+} Elf64_Rela;
+typedef struct elf32_sym{
+ Elf32_Word st_name;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Addr st_value;
+ Elf32_Word st_size;
+ unsigned char st_info;
+ unsigned char st_other;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Half st_shndx;
+} Elf32_Sym;
+typedef struct elf64_sym {
+ Elf64_Word st_name;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned char st_info;
+ unsigned char st_other;
+ Elf64_Half st_shndx;
+ Elf64_Addr st_value;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Xword st_size;
+} Elf64_Sym;
+#define EI_NIDENT 16
+typedef struct elf32_hdr{
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned char e_ident[EI_NIDENT];
+ Elf32_Half e_type;
+ Elf32_Half e_machine;
+ Elf32_Word e_version;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Addr e_entry;
+ Elf32_Off e_phoff;
+ Elf32_Off e_shoff;
+ Elf32_Word e_flags;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Half e_ehsize;
+ Elf32_Half e_phentsize;
+ Elf32_Half e_phnum;
+ Elf32_Half e_shentsize;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Half e_shnum;
+ Elf32_Half e_shstrndx;
+} Elf32_Ehdr;
+typedef struct elf64_hdr {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ unsigned char e_ident[EI_NIDENT];
+ Elf64_Half e_type;
+ Elf64_Half e_machine;
+ Elf64_Word e_version;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Addr e_entry;
+ Elf64_Off e_phoff;
+ Elf64_Off e_shoff;
+ Elf64_Word e_flags;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Half e_ehsize;
+ Elf64_Half e_phentsize;
+ Elf64_Half e_phnum;
+ Elf64_Half e_shentsize;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Half e_shnum;
+ Elf64_Half e_shstrndx;
+} Elf64_Ehdr;
+#define PF_R 0x4
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define PF_W 0x2
+#define PF_X 0x1
+typedef struct elf32_phdr{
+ Elf32_Word p_type;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Off p_offset;
+ Elf32_Addr p_vaddr;
+ Elf32_Addr p_paddr;
+ Elf32_Word p_filesz;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Word p_memsz;
+ Elf32_Word p_flags;
+ Elf32_Word p_align;
+} Elf32_Phdr;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+typedef struct elf64_phdr {
+ Elf64_Word p_type;
+ Elf64_Word p_flags;
+ Elf64_Off p_offset;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Addr p_vaddr;
+ Elf64_Addr p_paddr;
+ Elf64_Xword p_filesz;
+ Elf64_Xword p_memsz;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Xword p_align;
+} Elf64_Phdr;
+#define SHT_NULL 0
+#define SHT_PROGBITS 1
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define SHT_SYMTAB 2
+#define SHT_STRTAB 3
+#define SHT_RELA 4
+#define SHT_HASH 5
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define SHT_DYNAMIC 6
+#define SHT_NOTE 7
+#define SHT_NOBITS 8
+#define SHT_REL 9
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define SHT_SHLIB 10
+#define SHT_DYNSYM 11
+#define SHT_NUM 12
+#define SHT_LOPROC 0x70000000
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define SHT_HIPROC 0x7fffffff
+#define SHT_LOUSER 0x80000000
+#define SHT_HIUSER 0xffffffff
+#define SHF_WRITE 0x1
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define SHF_ALLOC 0x2
+#define SHF_EXECINSTR 0x4
+#define SHF_MASKPROC 0xf0000000
+#define SHN_UNDEF 0
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define SHN_LORESERVE 0xff00
+#define SHN_LOPROC 0xff00
+#define SHN_HIPROC 0xff1f
+#define SHN_ABS 0xfff1
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define SHN_COMMON 0xfff2
+#define SHN_HIRESERVE 0xffff
+typedef struct elf32_shdr {
+ Elf32_Word sh_name;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Word sh_type;
+ Elf32_Word sh_flags;
+ Elf32_Addr sh_addr;
+ Elf32_Off sh_offset;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Word sh_size;
+ Elf32_Word sh_link;
+ Elf32_Word sh_info;
+ Elf32_Word sh_addralign;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Word sh_entsize;
+} Elf32_Shdr;
+typedef struct elf64_shdr {
+ Elf64_Word sh_name;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Word sh_type;
+ Elf64_Xword sh_flags;
+ Elf64_Addr sh_addr;
+ Elf64_Off sh_offset;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Xword sh_size;
+ Elf64_Word sh_link;
+ Elf64_Word sh_info;
+ Elf64_Xword sh_addralign;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Xword sh_entsize;
+} Elf64_Shdr;
+#define EI_MAG0 0
+#define EI_MAG1 1
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define EI_MAG2 2
+#define EI_MAG3 3
+#define EI_CLASS 4
+#define EI_DATA 5
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define EI_VERSION 6
+#define EI_OSABI 7
+#define EI_PAD 8
+#define ELFMAG0 0x7f
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ELFMAG1 'E'
+#define ELFMAG2 'L'
+#define ELFMAG3 'F'
+#define ELFMAG "\177ELF"
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define SELFMAG 4
+#define ELFCLASSNONE 0
+#define ELFCLASS32 1
+#define ELFCLASS64 2
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ELFCLASSNUM 3
+#define ELFDATANONE 0
+#define ELFDATA2LSB 1
+#define ELFDATA2MSB 2
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define EV_NONE 0
+#define EV_CURRENT 1
+#define EV_NUM 2
+#define ELFOSABI_NONE 0
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define ELFOSABI_LINUX 3
+#ifndef ELF_OSABI
+#define ELF_OSABI ELFOSABI_NONE
+#endif
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define NT_PRSTATUS 1
+#define NT_PRFPREG 2
+#define NT_PRPSINFO 3
+#define NT_TASKSTRUCT 4
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define NT_AUXV 6
+#define NT_SIGINFO 0x53494749
+#define NT_FILE 0x46494c45
+#define NT_PRXFPREG 0x46e62b7f
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define NT_PPC_VMX 0x100
+#define NT_PPC_SPE 0x101
+#define NT_PPC_VSX 0x102
+#define NT_386_TLS 0x200
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define NT_386_IOPERM 0x201
+#define NT_X86_XSTATE 0x202
+#define NT_S390_HIGH_GPRS 0x300
+#define NT_S390_TIMER 0x301
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define NT_S390_TODCMP 0x302
+#define NT_S390_TODPREG 0x303
+#define NT_S390_CTRS 0x304
+#define NT_S390_PREFIX 0x305
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define NT_S390_LAST_BREAK 0x306
+#define NT_S390_SYSTEM_CALL 0x307
+#define NT_S390_TDB 0x308
+#define NT_ARM_VFP 0x400
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define NT_ARM_TLS 0x401
+#define NT_ARM_HW_BREAK 0x402
+#define NT_ARM_HW_WATCH 0x403
+#define NT_METAG_CBUF 0x500
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define NT_METAG_RPIPE 0x501
+#define NT_METAG_TLS 0x502
+typedef struct elf32_note {
+ Elf32_Word n_namesz;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf32_Word n_descsz;
+ Elf32_Word n_type;
+} Elf32_Nhdr;
+typedef struct elf64_note {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ Elf64_Word n_namesz;
+ Elf64_Word n_descsz;
+ Elf64_Word n_type;
+} Elf64_Nhdr;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#endif
diff --git a/third_party/libvpx/libvpx.gyp b/third_party/libvpx/libvpx.gyp
new file mode 100644
index 0000000..2a4299f
--- /dev/null
+++ b/third_party/libvpx/libvpx.gyp
@@ -0,0 +1,291 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+ 'variables': {
+ 'libvpx_build_vp9%': 1,
+ 'libvpx_source%': 'source/libvpx',
+ # Disable LTO for neon targets
+ # crbug.com/408997
+ 'use_lto%': 0,
+ 'conditions': [
+ ['os_posix==1', {
+ 'asm_obj_extension': 'o',
+ }],
+ ['OS=="win"', {
+ 'asm_obj_extension': 'obj',
+ }],
+
+ ['msan==1', {
+ 'target_arch_full': 'generic',
+ }, {
+ 'conditions': [
+ ['(target_arch=="arm" or target_arch=="armv7") and arm_neon==1', {
+ 'target_arch_full': 'arm-neon',
+ }, {
+ 'conditions': [
+ ['OS=="android" and ((target_arch=="arm" or target_arch=="armv7") and arm_neon==0)', {
+ 'target_arch_full': 'arm-neon-cpu-detect',
+ }, {
+ 'target_arch_full': '<(target_arch)',
+ }],
+ ],
+ }],
+ ['target_arch=="arm64"', {
+ 'target_arch_full': 'arm64',
+ }],
+ ],
+ }],
+
+ ['os_posix == 1 and OS != "mac"', {
+ 'OS_CATEGORY%': 'linux',
+ }, {
+ 'OS_CATEGORY%': '<(OS)',
+ }],
+ ],
+
+ # Location of the intermediate output.
+ 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libvpx',
+ },
+ 'target_defaults': {
+ 'target_conditions': [
+ ['<(libvpx_build_vp9)==0', {
+ 'sources/': [ ['exclude', '(^|/)vp9/'], ],
+ }],
+ ],
+ 'variables': {
+ 'conditions': [
+ ['OS=="win" and buildtype=="Official"', {
+ # Do not set to 'size', as it results in an error on win64.
+ 'optimize' :'speed',
+ }],
+ ],
+ 'clang_warning_flags': [
+ # libvpx heavily relies on implicit enum casting.
+ '-Wno-conversion',
+ # libvpx does `if ((a == b))` in some places.
+ '-Wno-parentheses-equality',
+ # libvpx has many static functions in header, which trigger this warning
+ '-Wno-unused-function',
+ ],
+ 'clang_warning_flags_unset': [
+ # libvpx does assert(!"foo"); in some places.
+ '-Wstring-conversion',
+ ],
+ },
+ },
+ 'conditions': [
+ ['target_arch=="ia32"', {
+ 'includes': ['libvpx_srcs_x86_intrinsics.gypi', ],
+ }],
+ ['target_arch=="x64" and msan==0', {
+ 'includes': ['libvpx_srcs_x86_64_intrinsics.gypi', ],
+ }],
+ [ '(target_arch=="arm" or target_arch=="armv7") and arm_neon==0 and OS=="android"', {
+ # When building for targets which may not have NEON (but may!), include
+ # support for neon and hide it behind Android cpu-features.
+ 'includes': ['libvpx_srcs_arm_neon_cpu_detect_intrinsics.gypi', ],
+ }],
+ [ '(target_arch != "arm" and target_arch != "armv7") and \
+ (target_arch != "mipsel" and target_arch != "mips64el")', {
+ 'targets': [
+ {
+ # This libvpx target contains both encoder and decoder.
+ # Encoder is configured to be realtime only.
+ 'target_name': 'libvpx',
+ 'type': 'static_library',
+ 'variables': {
+ 'yasm_output_path': '<(SHARED_INTERMEDIATE_DIR)/third_party/libvpx',
+ 'OS_CATEGORY%': '<(OS_CATEGORY)',
+ 'yasm_flags': [
+ '-D', 'CHROMIUM',
+ '-I', 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '-I', 'source/config',
+ '-I', '<(libvpx_source)',
+ ],
+ # yasm only gets the flags we define. It doesn't inherit any of the
+ # really useful defines that come with a gcc invocation. In this
+ # case, we rely on __ANDROID__ to set 'rand' to 'lrand48'.
+ # Previously we used the builtin _rand but that's gone away.
+ 'conditions': [
+ ['OS=="android"', {
+ 'yasm_flags': [
+ '-D', '__ANDROID__',
+ ],
+ }],
+ ],
+ },
+ 'includes': [
+ '../yasm/yasm_compile.gypi'
+ ],
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ 'source/config',
+ '<(libvpx_source)',
+ '<(libvpx_source)/vp8/common',
+ '<(libvpx_source)/vp8/decoder',
+ '<(libvpx_source)/vp8/encoder',
+ '<(shared_generated_dir)', # Provides vpx_rtcd.h.
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(libvpx_source)',
+ ],
+ },
+ # VS2010 does not correctly incrementally link obj files generated
+ # from asm files. This flag disables UseLibraryDependencyInputs to
+ # avoid this problem.
+ 'msvs_2010_disable_uldi_when_referenced': 1,
+ 'conditions': [
+ ['target_arch=="ia32"', {
+ 'includes': [
+ 'libvpx_srcs_x86.gypi',
+ ],
+ 'dependencies': [
+ 'libvpx_intrinsics_mmx',
+ 'libvpx_intrinsics_sse2',
+ # Currently no sse3 intrinsic functions
+ #'libvpx_intrinsics_sse3',
+ 'libvpx_intrinsics_ssse3',
+ 'libvpx_intrinsics_sse4_1',
+ # Currently no avx intrinsic functions
+ #'libvpx_intrinsics_avx',
+ 'libvpx_intrinsics_avx2',
+ ],
+ }],
+ ['target_arch=="arm64"', {
+ 'includes': [ 'libvpx_srcs_arm64.gypi', ],
+ }],
+ ['target_arch=="x64"', {
+ 'conditions': [
+ ['msan==1', {
+ 'includes': [ 'libvpx_srcs_generic.gypi', ],
+ }, {
+ 'includes': [
+ 'libvpx_srcs_x86_64.gypi',
+ ],
+ 'dependencies': [
+ 'libvpx_intrinsics_mmx',
+ 'libvpx_intrinsics_sse2',
+ # Currently no sse3 intrinsic functions
+ #'libvpx_intrinsics_sse3',
+ 'libvpx_intrinsics_ssse3',
+ 'libvpx_intrinsics_sse4_1',
+ # Currently no avx intrinsic functions
+ #'libvpx_intrinsics_avx',
+ 'libvpx_intrinsics_avx2',
+ ],
+ }],
+ ],
+ }],
+ ],
+ },
+ ],
+ },
+ ],
+ # 'libvpx' target for mipsel and mips64el builds.
+ [ 'target_arch=="mipsel" or target_arch=="mips64el"', {
+ 'targets': [
+ {
+ # This libvpx target contains both encoder and decoder.
+ # Encoder is configured to be realtime only.
+ 'target_name': 'libvpx',
+ 'type': 'static_library',
+ 'variables': {
+ 'shared_generated_dir':
+ '<(SHARED_INTERMEDIATE_DIR)/third_party/libvpx',
+ },
+ 'includes': [
+ 'libvpx_srcs_mips.gypi',
+ ],
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ 'source/config',
+ '<(libvpx_source)',
+ '<(libvpx_source)/vp8/common',
+ '<(libvpx_source)/vp8/decoder',
+ '<(libvpx_source)/vp8/encoder',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(libvpx_source)',
+ ],
+ },
+ 'sources': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)/vpx_config.c',
+ ],
+ },
+ ],
+ },
+ ],
+ # 'libvpx' target for ARM builds.
+ [ '(target_arch=="arm" or target_arch=="armv7") ', {
+ 'targets': [
+ {
+ # This libvpx target contains both encoder and decoder.
+ # Encoder is configured to be realtime only.
+ 'target_name': 'libvpx',
+ 'type': 'static_library',
+
+ 'includes': [ 'ads2gas.gypi', ],
+
+ 'xcode_settings': {
+ 'OTHER_CFLAGS': [
+ '-I<!(pwd)/source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '-I<!(pwd)/source/config',
+ '-I<(shared_generated_dir)',
+ ],
+ },
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ 'source/config',
+ '<(libvpx_source)',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '<(libvpx_source)',
+ ],
+ },
+ 'conditions': [
+ # Libvpx optimizations for ARMv6 or ARMv7 without NEON.
+ ['arm_neon==0', {
+ 'conditions': [
+ ['OS=="android"', {
+ 'includes': [
+ 'libvpx_srcs_arm_neon_cpu_detect.gypi',
+ ],
+ 'dependencies': [
+ 'libvpx_intrinsics_neon',
+ ],
+ }, {
+ 'includes': [
+ 'libvpx_srcs_arm.gypi',
+ ],
+ }],
+ ],
+ }],
+ # Libvpx optimizations for ARMv7 with NEON.
+ ['arm_neon==1', {
+ 'includes': [
+ 'libvpx_srcs_arm_neon.gypi',
+ ],
+ }],
+ ['OS == "android"', {
+ 'dependencies': [
+ '../../build/android/ndk.gyp:cpu_features',
+ ],
+ }],
+ ['OS == "ios"', {
+ 'xcode_settings': {
+ 'OTHER_CFLAGS!': [
+ # Breaks at least boolhuff_armv5te:token_high_bit_not_set_ev.
+ '-fstack-protector-all', # Implies -fstack-protector
+ ],
+ },
+ }],
+ ],
+ },
+ ],
+ }],
+ ],
+}
diff --git a/third_party/libvpx/libvpx_nacl.gyp b/third_party/libvpx/libvpx_nacl.gyp
new file mode 100644
index 0000000..21aa3ad
--- /dev/null
+++ b/third_party/libvpx/libvpx_nacl.gyp
@@ -0,0 +1,33 @@
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+{
+ 'variables': {
+ 'libvpx_source%': 'source/libvpx',
+ 'werror': '',
+ },
+ 'includes': [
+ '../../native_client/build/untrusted.gypi',
+ ],
+ 'targets': [
+ {
+ 'target_name': 'libvpx_nacl',
+ 'type': 'none',
+ 'variables': {
+ 'nlib_target': 'libvpx_nacl.a',
+ 'build_glibc': 0,
+ 'build_newlib': 0,
+ 'build_pnacl_newlib': 1,
+ },
+ 'include_dirs': [
+ 'source/config/nacl',
+ 'source/config',
+ '<(libvpx_source)',
+ '<(libvpx_source)/vp8/common',
+ '<(libvpx_source)/vp8/decoder',
+ '<(libvpx_source)/vp8/encoder',
+ ],
+ 'includes': ['libvpx_srcs_nacl.gypi', ],
+ }, # end of target 'libvpx_nacl'
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs.gni b/third_party/libvpx/libvpx_srcs.gni
new file mode 100644
index 0000000..739c27b
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs.gni
@@ -0,0 +1,3387 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+libvpx_srcs_x86 = [
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/coefupdateprobs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/copy_c.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/default_coef_probs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/dequantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/generic/systemdependent.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/header.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/idct_blk.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/idctllm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/invtrans.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter_filters.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mbpitch.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/mv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyx.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/systemdependent.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/threading.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_entropymodedata.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/filter_x86.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/filter_x86.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_x86.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/vp8_asm_stubs.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decoderthreading.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/threading.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/treereader.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/block.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_cost.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_tokens.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/defaultcoefcounts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ethreading.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/quantize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_enums.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_textblit.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_avg.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_block.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_dct.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_codec_internal.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_psnr.h",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_codec.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_decoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_image.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c",
+ "//third_party/libvpx/source/libvpx/vpx/vp8.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8cx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8dx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_codec.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_decoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_encoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_frame_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_image.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_integer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/intrapred.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/sad.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/subtract.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/txfm_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_filter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_dct32x32_impl_avx2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_dct32x32_impl_sse2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_txfm_impl_sse2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_txfm_sse2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/inv_txfm_sse2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/txfm_common_sse2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_asm_stubs.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/include/vpx_mem_intrnl.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/bitops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emmintrin_compat.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops_aligned.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/msvc.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/system_state.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_once.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_timer.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/x86.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/vpx_scale.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12config.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12extend.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/yv12config.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/endian_inl.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.c",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h",
+]
+libvpx_srcs_x86_assembly = [
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/copy_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/copy_sse3.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/dequantize_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/idctllm_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/idctllm_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/iwalsh_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/iwalsh_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/mfqe_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/postproc_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/postproc_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/recon_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/recon_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_ssse3.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/vp8_loopfilter_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/dct_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/dct_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/encodeopt.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/fwalsh_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/quantize_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp9/common/x86/vp9_mfqe_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp9/common/x86/vp9_postproc_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_dct_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_error_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_temporal_filter_apply_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/halfpix_variance_impl_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/intrapred_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/intrapred_ssse3.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/inv_wht_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/loopfilter_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad4d_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_sse3.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_sse4.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_ssse3.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/subpel_variance_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/subtract_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/variance_impl_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_convolve_copy_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_8t_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_8t_ssse3.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_bilinear_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_bilinear_ssse3.asm",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emms.asm",
+ "//third_party/libvpx/source/libvpx/vpx_ports/x86_abi_support.asm",
+]
+libvpx_srcs_x86_mmx = [
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/idct_blk_mmx.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/vp8_enc_stubs_mmx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/variance_mmx.c",
+]
+libvpx_srcs_x86_sse2 = [
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/idct_blk_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/recon_wrapper_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/denoising_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/vp8_enc_stubs_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/vp8_quantize_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/x86/vp9_idct_intrin_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_avg_intrin_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_dct_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_denoiser_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_quantize_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_txfm_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/halfpix_variance_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/inv_txfm_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/loopfilter_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/quantize_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/variance_sse2.c",
+]
+libvpx_srcs_x86_sse3 = [
+]
+libvpx_srcs_x86_ssse3 = [
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/quantize_ssse3.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_dct_ssse3.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_8t_intrin_ssse3.c",
+]
+libvpx_srcs_x86_sse4_1 = [
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/quantize_sse4.c",
+]
+libvpx_srcs_x86_avx = [
+]
+libvpx_srcs_x86_avx2 = [
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_error_intrin_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_txfm_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/loopfilter_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad4d_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/variance_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/variance_impl_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_8t_intrin_avx2.c",
+]
+libvpx_srcs_x86_64 = [
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/coefupdateprobs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/copy_c.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/default_coef_probs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/dequantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/generic/systemdependent.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/header.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/idct_blk.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/idctllm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/invtrans.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter_filters.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mbpitch.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/mv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyx.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/systemdependent.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/threading.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_entropymodedata.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/filter_x86.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/filter_x86.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_x86.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/vp8_asm_stubs.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decoderthreading.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/threading.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/treereader.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/block.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_cost.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_tokens.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/defaultcoefcounts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ethreading.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/quantize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_enums.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_textblit.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_avg.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_block.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_dct.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_codec_internal.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_psnr.h",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_codec.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_decoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_image.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c",
+ "//third_party/libvpx/source/libvpx/vpx/vp8.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8cx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8dx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_codec.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_decoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_encoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_frame_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_image.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_integer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/intrapred.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/sad.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/subtract.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/txfm_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_filter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_dct32x32_impl_avx2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_dct32x32_impl_sse2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_txfm_impl_sse2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_txfm_sse2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/inv_txfm_sse2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/txfm_common_sse2.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_asm_stubs.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/include/vpx_mem_intrnl.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/bitops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emmintrin_compat.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops_aligned.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/msvc.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/system_state.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_once.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_timer.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/x86.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/vpx_scale.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12config.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12extend.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/yv12config.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/endian_inl.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.c",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h",
+]
+libvpx_srcs_x86_64_assembly = [
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/copy_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/copy_sse3.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/dequantize_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/idctllm_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/idctllm_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/iwalsh_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/iwalsh_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_block_sse2_x86_64.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/loopfilter_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/mfqe_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/postproc_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/postproc_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/recon_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/recon_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/subpixel_ssse3.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/vp8_loopfilter_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/dct_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/dct_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/encodeopt.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/fwalsh_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/quantize_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp9/common/x86/vp9_mfqe_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp9/common/x86/vp9_postproc_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_dct_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_dct_ssse3_x86_64.asm",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_error_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_temporal_filter_apply_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_txfm_ssse3_x86_64.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/halfpix_variance_impl_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/intrapred_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/intrapred_ssse3.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/inv_txfm_ssse3_x86_64.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/inv_wht_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/loopfilter_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/quantize_ssse3_x86_64.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad4d_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_sse3.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_sse4.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_ssse3.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/ssim_opt_x86_64.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/subpel_variance_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/subtract_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/variance_impl_mmx.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_convolve_copy_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_8t_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_8t_ssse3.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_bilinear_sse2.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_bilinear_ssse3.asm",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emms.asm",
+ "//third_party/libvpx/source/libvpx/vpx_ports/x86_abi_support.asm",
+]
+libvpx_srcs_x86_64_mmx = [
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/idct_blk_mmx.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/vp8_enc_stubs_mmx.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/variance_mmx.c",
+]
+libvpx_srcs_x86_64_sse2 = [
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/idct_blk_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/x86/recon_wrapper_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/denoising_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/vp8_enc_stubs_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/vp8_quantize_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/x86/vp9_idct_intrin_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_avg_intrin_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_dct_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_denoiser_sse2.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_quantize_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_txfm_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/halfpix_variance_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/inv_txfm_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/loopfilter_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/quantize_sse2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/variance_sse2.c",
+]
+libvpx_srcs_x86_64_sse3 = [
+]
+libvpx_srcs_x86_64_ssse3 = [
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/quantize_ssse3.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_dct_ssse3.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_8t_intrin_ssse3.c",
+]
+libvpx_srcs_x86_64_sse4_1 = [
+ "//third_party/libvpx/source/libvpx/vp8/encoder/x86/quantize_sse4.c",
+]
+libvpx_srcs_x86_64_avx = [
+]
+libvpx_srcs_x86_64_avx2 = [
+ "//third_party/libvpx/source/libvpx/vp9/encoder/x86/vp9_error_intrin_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/fwd_txfm_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/loopfilter_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad4d_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/sad_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/variance_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/variance_impl_avx2.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/x86/vpx_subpixel_8t_intrin_avx2.c",
+]
+libvpx_srcs_arm = [
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/idct_blk_v6.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/bilinearfilter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/bilinearfilter_arm.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/dequantize_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/filter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/loopfilter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/coefupdateprobs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/copy_c.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/default_coef_probs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/dequantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/generic/systemdependent.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/header.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/idct_blk.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/idctllm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/invtrans.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter_filters.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mbpitch.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/mv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyx.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/systemdependent.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/threading.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_entropymodedata.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decoderthreading.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/threading.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/treereader.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/dct_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/block.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_cost.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_tokens.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/defaultcoefcounts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ethreading.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/quantize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_enums.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_textblit.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_avg.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_block.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_dct.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_codec_internal.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_psnr.h",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_codec.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_decoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_image.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c",
+ "//third_party/libvpx/source/libvpx/vpx/vp8.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8cx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8dx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_codec.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_decoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_encoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_frame_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_image.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_integer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/subpel_variance_media.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/intrapred.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/sad.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/subtract.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/txfm_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_filter.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/include/vpx_mem_intrnl.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/arm.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/arm_cpudetect.c",
+ "//third_party/libvpx/source/libvpx/vpx_ports/bitops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emmintrin_compat.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops_aligned.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/msvc.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/system_state.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_once.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_timer.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/vpx_scale.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12config.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12extend.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/yv12config.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/endian_inl.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.c",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h",
+]
+libvpx_srcs_arm_assembly = [
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/bilinearfilter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/copymem16x16_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/copymem8x4_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/copymem8x8_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/dc_only_idct_add_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/dequant_idct_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/dequantize_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/filter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/idct_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/intra4x4_predict_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/iwalsh_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/loopfilter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/simpleloopfilter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/sixtappredict8x4_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/armv6/vp8_short_fdct4x4_armv6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/armv6/walsh_v6.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/bilinear_filter_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/sad_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_halfpixvar16x16_h_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_halfpixvar16x16_hv_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_halfpixvar16x16_v_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_media.asm",
+]
+libvpx_srcs_arm_neon = [
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/idct_blk_v6.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/bilinearfilter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/bilinearfilter_arm.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/dequantize_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/filter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/loopfilter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/bilinearpredict_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/copymem_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/dc_only_idct_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/dequant_idct_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/dequantizeb_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/idct_blk_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/idct_dequant_0_2x_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/idct_dequant_full_2x_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/iwalsh_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/mbloopfilter_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/reconintra_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/shortidct4x4llm_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/sixtappredict_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/vp8_loopfilter_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/coefupdateprobs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/copy_c.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/default_coef_probs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/dequantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/generic/systemdependent.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/header.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/idct_blk.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/idctllm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/invtrans.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter_filters.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mbpitch.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/mv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyx.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/systemdependent.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/threading.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_entropymodedata.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decoderthreading.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/threading.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/treereader.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/dct_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/denoising_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/fastquantizeb_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/shortfdct_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/vp8_shortwalsh4x4_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/block.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_cost.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_tokens.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/defaultcoefcounts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ethreading.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/quantize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/arm/neon/vp9_iht4x4_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/arm/neon/vp9_iht8x8_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_enums.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_textblit.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_avg_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_dct_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_error_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_quantize_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_avg.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_block.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_dct.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_codec_internal.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_psnr.h",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_codec.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_decoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_image.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c",
+ "//third_party/libvpx/source/libvpx/vpx/vp8.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8cx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8dx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_codec.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_decoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_encoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_frame_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_image.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_integer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/fwd_txfm_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct16x16_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/intrapred_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/sad4d_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/sad_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/subpel_variance_media.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/subpel_variance_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/subtract_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/intrapred.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/sad.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/subtract.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/txfm_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_filter.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/include/vpx_mem_intrnl.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/arm.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/arm_cpudetect.c",
+ "//third_party/libvpx/source/libvpx/vpx_ports/bitops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emmintrin_compat.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops_aligned.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/msvc.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/system_state.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_once.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_timer.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/vpx_scale.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12config.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12extend.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/yv12config.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/endian_inl.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.c",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h",
+]
+libvpx_srcs_arm_neon_assembly = [
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/bilinearfilter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/copymem16x16_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/copymem8x4_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/copymem8x8_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/dc_only_idct_add_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/dequant_idct_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/dequantize_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/filter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/idct_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/intra4x4_predict_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/iwalsh_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/loopfilter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/simpleloopfilter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/sixtappredict8x4_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/armv6/vp8_short_fdct4x4_armv6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/armv6/walsh_v6.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/bilinear_filter_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct16x16_1_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct16x16_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct32x32_1_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct32x32_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct4x4_1_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct4x4_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct8x8_1_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct8x8_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/intrapred_neon_asm.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_16_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_4_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_8_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_mb_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/sad_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/save_reg_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_halfpixvar16x16_h_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_halfpixvar16x16_hv_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_halfpixvar16x16_v_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve8_avg_neon_asm.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve8_neon_asm.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_avg_neon_asm.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_copy_neon_asm.asm",
+]
+libvpx_srcs_arm_neon_cpu_detect = [
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/idct_blk_v6.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/bilinearfilter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/bilinearfilter_arm.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/dequantize_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/filter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/loopfilter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/coefupdateprobs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/copy_c.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/default_coef_probs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/dequantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/generic/systemdependent.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/header.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/idct_blk.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/idctllm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/invtrans.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter_filters.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mbpitch.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/mv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyx.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/systemdependent.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/threading.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_entropymodedata.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decoderthreading.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/threading.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/treereader.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/dct_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/block.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_cost.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_tokens.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/defaultcoefcounts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ethreading.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/quantize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_enums.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_textblit.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_avg.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_block.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_dct.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_codec_internal.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_psnr.h",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_codec.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_decoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_image.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c",
+ "//third_party/libvpx/source/libvpx/vpx/vp8.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8cx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8dx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_codec.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_decoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_encoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_frame_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_image.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_integer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/subpel_variance_media.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/intrapred.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/sad.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/subtract.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/txfm_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_filter.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/include/vpx_mem_intrnl.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/arm.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/arm_cpudetect.c",
+ "//third_party/libvpx/source/libvpx/vpx_ports/bitops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emmintrin_compat.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops_aligned.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/msvc.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/system_state.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_once.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_timer.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/vpx_scale.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12config.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12extend.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/yv12config.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/endian_inl.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.c",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h",
+]
+libvpx_srcs_arm_neon_cpu_detect_assembly = [
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/bilinearfilter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/copymem16x16_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/copymem8x4_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/copymem8x8_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/dc_only_idct_add_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/dequant_idct_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/dequantize_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/filter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/idct_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/intra4x4_predict_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/iwalsh_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/loopfilter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/simpleloopfilter_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/armv6/sixtappredict8x4_v6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/armv6/vp8_short_fdct4x4_armv6.asm",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/armv6/walsh_v6.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/bilinear_filter_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/sad_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_halfpixvar16x16_h_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_halfpixvar16x16_hv_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_halfpixvar16x16_v_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_media.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct16x16_1_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct16x16_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct32x32_1_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct32x32_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct4x4_1_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct4x4_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct8x8_1_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct8x8_add_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/intrapred_neon_asm.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_16_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_4_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_8_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_mb_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/save_reg_neon.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve8_avg_neon_asm.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve8_neon_asm.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_avg_neon_asm.asm",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_copy_neon_asm.asm",
+]
+libvpx_srcs_arm_neon_cpu_detect_neon = [
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/bilinearpredict_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/copymem_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/dc_only_idct_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/dequant_idct_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/dequantizeb_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/idct_blk_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/idct_dequant_0_2x_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/idct_dequant_full_2x_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/iwalsh_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/mbloopfilter_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/reconintra_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/shortidct4x4llm_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/sixtappredict_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/vp8_loopfilter_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/denoising_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/fastquantizeb_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/shortfdct_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/vp8_shortwalsh4x4_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/arm/neon/vp9_iht4x4_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/arm/neon/vp9_iht8x8_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_avg_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_dct_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_error_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_quantize_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/fwd_txfm_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct16x16_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/intrapred_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/sad4d_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/sad_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/subpel_variance_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/subtract_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_neon.c",
+]
+libvpx_srcs_arm64 = [
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/dequantize_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/filter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/loopfilter_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/bilinearpredict_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/copymem_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/dc_only_idct_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/dequant_idct_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/dequantizeb_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/idct_blk_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/idct_dequant_0_2x_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/idct_dequant_full_2x_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/iwalsh_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/mbloopfilter_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/reconintra_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/shortidct4x4llm_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/sixtappredict_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/arm/neon/vp8_loopfilter_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/coefupdateprobs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/copy_c.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/default_coef_probs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/dequantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/generic/systemdependent.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/header.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/idct_blk.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/idctllm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/invtrans.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter_filters.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mbpitch.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/mv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyx.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/systemdependent.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/threading.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_entropymodedata.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decoderthreading.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/threading.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/treereader.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/dct_arm.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/denoising_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/fastquantizeb_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/shortfdct_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/arm/neon/vp8_shortwalsh4x4_neon.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/block.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_cost.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_tokens.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/defaultcoefcounts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ethreading.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/quantize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/arm/neon/vp9_iht4x4_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/arm/neon/vp9_iht8x8_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_enums.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_textblit.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_avg_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_dct_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_error_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/arm/neon/vp9_quantize_neon.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_avg.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_block.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_dct.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_codec_internal.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_psnr.h",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_codec.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_decoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_image.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c",
+ "//third_party/libvpx/source/libvpx/vpx/vp8.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8cx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8dx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_codec.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_decoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_encoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_frame_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_image.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_integer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/fwd_txfm_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct16x16_1_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct16x16_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct16x16_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct32x32_1_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct32x32_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct4x4_1_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct4x4_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct8x8_1_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/idct8x8_add_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/intrapred_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_16_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_4_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_8_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/loopfilter_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/sad4d_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/sad_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/subpel_variance_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/subtract_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/variance_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve8_avg_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve8_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_avg_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_copy_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_neon.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/intrapred.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/sad.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/subtract.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/txfm_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_filter.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/include/vpx_mem_intrnl.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/arm.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/arm_cpudetect.c",
+ "//third_party/libvpx/source/libvpx/vpx_ports/bitops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emmintrin_compat.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops_aligned.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/msvc.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/system_state.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_once.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_timer.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/vpx_scale.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12config.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12extend.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/yv12config.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/endian_inl.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.c",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h",
+]
+libvpx_srcs_arm64_assembly = [
+]
+libvpx_srcs_mips = [
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/coefupdateprobs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/copy_c.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/default_coef_probs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/dequantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/generic/systemdependent.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/header.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/idct_blk.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/idctllm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/invtrans.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter_filters.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mbpitch.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/mv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyx.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/systemdependent.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/threading.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_entropymodedata.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decoderthreading.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/threading.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/treereader.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/block.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_cost.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_tokens.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/defaultcoefcounts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ethreading.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/firstpass.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/quantize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/temporal_filter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_enums.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_textblit.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_avg.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_block.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_dct.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_codec_internal.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_psnr.h",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_codec.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_decoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_image.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c",
+ "//third_party/libvpx/source/libvpx/vpx/vp8.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8cx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8dx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_codec.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_decoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_encoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_frame_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_image.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_integer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/intrapred.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/sad.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/subtract.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/txfm_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_filter.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/include/vpx_mem_intrnl.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/bitops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emmintrin_compat.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops_aligned.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/msvc.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/system_state.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_once.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_timer.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/vpx_scale.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12config.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12extend.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/yv12config.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/endian_inl.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.c",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h",
+]
+libvpx_srcs_mips_assembly = [
+]
+libvpx_srcs_nacl = [
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/coefupdateprobs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/copy_c.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/default_coef_probs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/dequantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/generic/systemdependent.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/header.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/idct_blk.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/idctllm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/invtrans.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter_filters.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mbpitch.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/mv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyx.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/systemdependent.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/threading.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_entropymodedata.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decoderthreading.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/threading.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/treereader.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/block.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_cost.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_tokens.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/defaultcoefcounts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ethreading.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/quantize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_enums.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_textblit.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_avg.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_block.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_dct.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_codec_internal.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_psnr.h",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_codec.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_decoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_image.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c",
+ "//third_party/libvpx/source/libvpx/vpx/vp8.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8cx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8dx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_codec.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_decoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_encoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_frame_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_image.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_integer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/intrapred.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/sad.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/subtract.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/txfm_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_filter.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/include/vpx_mem_intrnl.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/bitops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emmintrin_compat.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops_aligned.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/msvc.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/system_state.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_once.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_timer.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/vpx_scale.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12config.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12extend.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/yv12config.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/endian_inl.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.c",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h",
+]
+libvpx_srcs_nacl_assembly = [
+]
+libvpx_srcs_generic = [
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/blockd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/coefupdateprobs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/copy_c.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/default_coef_probs.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/dequantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropy.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/extend.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/filter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/findnearmv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/generic/systemdependent.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/header.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/idct_blk.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/idctllm.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/invtrans.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/loopfilter_filters.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mbpitch.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/modecont.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/mv.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyx.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/onyxd.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/postproc.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/setupintrarecon.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/swapyv12buffer.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/systemdependent.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/threading.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.c",
+ "//third_party/libvpx/source/libvpx/vp8/common/treecoder.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_entropymodedata.h",
+ "//third_party/libvpx/source/libvpx/vp8/common/vp8_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/dboolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/decoderthreading.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/onyxd_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/threading.c",
+ "//third_party/libvpx/source/libvpx/vp8/decoder/treereader.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/block.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/boolhuff.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_cost.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/dct_value_tokens.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/defaultcoefcounts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/denoising.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ethreading.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/modecosts.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/mr_dissim.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/onyx_int.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/pickinter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/quantize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp8/vp8_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_alloccommon.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_blockd.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_common_data.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_debugmodes.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropy.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymode.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_entropymv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_enums.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_frame_buffers.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_idct.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_loopfilter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mfqe.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mv.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_mvref_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_onyxc_int.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_postproc.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_ppflags.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_pred_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_quant_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconinter.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_reconintra.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scale.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_scan.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_seg_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_textblit.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_thread_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.c",
+ "//third_party/libvpx/source/libvpx/vp9/common/vp9_tile_common.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_decoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_detokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dsubexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.c",
+ "//third_party/libvpx/source/libvpx/vp9/decoder/vp9_dthread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_complexity.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_cyclicrefresh.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_aq_variance.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_avg.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_bitstream.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_block.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_context_tree.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_cost.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_dct.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_denoiser.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodeframe.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemb.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encodemv.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_encoder.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ethread.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_extend.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_firstpass.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_lookahead.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mbgraph.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_mcomp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_picklpf.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_pickmode.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_quantize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_ratectrl.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rd.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_rdopt.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_resize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_segmentation.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_skin_detection.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_speed_features.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_subexp.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_svc_layercontext.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_temporal_filter.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_tokenize.h",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.c",
+ "//third_party/libvpx/source/libvpx/vp9/encoder/vp9_treewriter.h",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_cx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_dx_iface.c",
+ "//third_party/libvpx/source/libvpx/vp9/vp9_iface_common.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_codec_internal.h",
+ "//third_party/libvpx/source/libvpx/vpx/internal/vpx_psnr.h",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_codec.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_decoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_image.c",
+ "//third_party/libvpx/source/libvpx/vpx/src/vpx_psnr.c",
+ "//third_party/libvpx/source/libvpx/vpx/vp8.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8cx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vp8dx.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_codec.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_decoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_encoder.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_frame_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_image.h",
+ "//third_party/libvpx/source/libvpx/vpx/vpx_integer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitreader_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/bitwriter_buffer.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/fwd_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/intrapred.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/inv_txfm.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/loopfilter.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/prob.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/quantize.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/sad.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/subtract.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/txfm_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/variance.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_convolve.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_common.h",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_dsp_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_dsp/vpx_filter.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/include/vpx_mem_intrnl.h",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.c",
+ "//third_party/libvpx/source/libvpx/vpx_mem/vpx_mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/bitops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/emmintrin_compat.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/mem_ops_aligned.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/msvc.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/system_state.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_once.h",
+ "//third_party/libvpx/source/libvpx/vpx_ports/vpx_timer.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/gen_scalers.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/vpx_scale.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12config.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/generic/yv12extend.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale.h",
+ "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_rtcd.c",
+ "//third_party/libvpx/source/libvpx/vpx_scale/yv12config.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/endian_inl.h",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.c",
+ "//third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h",
+]
+libvpx_srcs_generic_assembly = [
+]
diff --git a/third_party/libvpx/libvpx_srcs_arm.gypi b/third_party/libvpx/libvpx_srcs_arm.gypi
new file mode 100644
index 0000000..a5b97bd
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_arm.gypi
@@ -0,0 +1,359 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'sources': [
+ '<(libvpx_source)/vp8/common/alloccommon.c',
+ '<(libvpx_source)/vp8/common/alloccommon.h',
+ '<(libvpx_source)/vp8/common/arm/armv6/bilinearfilter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/copymem16x16_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/copymem8x4_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/copymem8x8_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/dc_only_idct_add_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/dequant_idct_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/dequantize_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/filter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/idct_blk_v6.c',
+ '<(libvpx_source)/vp8/common/arm/armv6/idct_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/intra4x4_predict_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/iwalsh_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/loopfilter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/simpleloopfilter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/sixtappredict8x4_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/bilinearfilter_arm.c',
+ '<(libvpx_source)/vp8/common/arm/bilinearfilter_arm.h',
+ '<(libvpx_source)/vp8/common/arm/dequantize_arm.c',
+ '<(libvpx_source)/vp8/common/arm/filter_arm.c',
+ '<(libvpx_source)/vp8/common/arm/loopfilter_arm.c',
+ '<(libvpx_source)/vp8/common/blockd.c',
+ '<(libvpx_source)/vp8/common/blockd.h',
+ '<(libvpx_source)/vp8/common/coefupdateprobs.h',
+ '<(libvpx_source)/vp8/common/common.h',
+ '<(libvpx_source)/vp8/common/copy_c.c',
+ '<(libvpx_source)/vp8/common/debugmodes.c',
+ '<(libvpx_source)/vp8/common/default_coef_probs.h',
+ '<(libvpx_source)/vp8/common/dequantize.c',
+ '<(libvpx_source)/vp8/common/entropy.c',
+ '<(libvpx_source)/vp8/common/entropy.h',
+ '<(libvpx_source)/vp8/common/entropymode.c',
+ '<(libvpx_source)/vp8/common/entropymode.h',
+ '<(libvpx_source)/vp8/common/entropymv.c',
+ '<(libvpx_source)/vp8/common/entropymv.h',
+ '<(libvpx_source)/vp8/common/extend.c',
+ '<(libvpx_source)/vp8/common/extend.h',
+ '<(libvpx_source)/vp8/common/filter.c',
+ '<(libvpx_source)/vp8/common/filter.h',
+ '<(libvpx_source)/vp8/common/findnearmv.c',
+ '<(libvpx_source)/vp8/common/findnearmv.h',
+ '<(libvpx_source)/vp8/common/generic/systemdependent.c',
+ '<(libvpx_source)/vp8/common/header.h',
+ '<(libvpx_source)/vp8/common/idct_blk.c',
+ '<(libvpx_source)/vp8/common/idctllm.c',
+ '<(libvpx_source)/vp8/common/invtrans.h',
+ '<(libvpx_source)/vp8/common/loopfilter.h',
+ '<(libvpx_source)/vp8/common/loopfilter_filters.c',
+ '<(libvpx_source)/vp8/common/mbpitch.c',
+ '<(libvpx_source)/vp8/common/mfqe.c',
+ '<(libvpx_source)/vp8/common/modecont.c',
+ '<(libvpx_source)/vp8/common/modecont.h',
+ '<(libvpx_source)/vp8/common/mv.h',
+ '<(libvpx_source)/vp8/common/onyx.h',
+ '<(libvpx_source)/vp8/common/onyxc_int.h',
+ '<(libvpx_source)/vp8/common/onyxd.h',
+ '<(libvpx_source)/vp8/common/postproc.c',
+ '<(libvpx_source)/vp8/common/postproc.h',
+ '<(libvpx_source)/vp8/common/ppflags.h',
+ '<(libvpx_source)/vp8/common/quant_common.c',
+ '<(libvpx_source)/vp8/common/quant_common.h',
+ '<(libvpx_source)/vp8/common/reconinter.c',
+ '<(libvpx_source)/vp8/common/reconinter.h',
+ '<(libvpx_source)/vp8/common/reconintra.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.h',
+ '<(libvpx_source)/vp8/common/rtcd.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.h',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.c',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.h',
+ '<(libvpx_source)/vp8/common/systemdependent.h',
+ '<(libvpx_source)/vp8/common/threading.h',
+ '<(libvpx_source)/vp8/common/treecoder.c',
+ '<(libvpx_source)/vp8/common/treecoder.h',
+ '<(libvpx_source)/vp8/common/vp8_entropymodedata.h',
+ '<(libvpx_source)/vp8/common/vp8_loopfilter.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.h',
+ '<(libvpx_source)/vp8/decoder/decodeframe.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.h',
+ '<(libvpx_source)/vp8/decoder/decoderthreading.h',
+ '<(libvpx_source)/vp8/decoder/detokenize.c',
+ '<(libvpx_source)/vp8/decoder/detokenize.h',
+ '<(libvpx_source)/vp8/decoder/onyxd_if.c',
+ '<(libvpx_source)/vp8/decoder/onyxd_int.h',
+ '<(libvpx_source)/vp8/decoder/threading.c',
+ '<(libvpx_source)/vp8/decoder/treereader.h',
+ '<(libvpx_source)/vp8/encoder/arm/armv6/vp8_short_fdct4x4_armv6.asm',
+ '<(libvpx_source)/vp8/encoder/arm/armv6/walsh_v6.asm',
+ '<(libvpx_source)/vp8/encoder/arm/dct_arm.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.h',
+ '<(libvpx_source)/vp8/encoder/block.h',
+ '<(libvpx_source)/vp8/encoder/boolhuff.c',
+ '<(libvpx_source)/vp8/encoder/boolhuff.h',
+ '<(libvpx_source)/vp8/encoder/dct.c',
+ '<(libvpx_source)/vp8/encoder/dct_value_cost.h',
+ '<(libvpx_source)/vp8/encoder/dct_value_tokens.h',
+ '<(libvpx_source)/vp8/encoder/defaultcoefcounts.h',
+ '<(libvpx_source)/vp8/encoder/denoising.c',
+ '<(libvpx_source)/vp8/encoder/denoising.h',
+ '<(libvpx_source)/vp8/encoder/encodeframe.c',
+ '<(libvpx_source)/vp8/encoder/encodeframe.h',
+ '<(libvpx_source)/vp8/encoder/encodeintra.c',
+ '<(libvpx_source)/vp8/encoder/encodeintra.h',
+ '<(libvpx_source)/vp8/encoder/encodemb.c',
+ '<(libvpx_source)/vp8/encoder/encodemb.h',
+ '<(libvpx_source)/vp8/encoder/encodemv.c',
+ '<(libvpx_source)/vp8/encoder/encodemv.h',
+ '<(libvpx_source)/vp8/encoder/ethreading.c',
+ '<(libvpx_source)/vp8/encoder/firstpass.h',
+ '<(libvpx_source)/vp8/encoder/lookahead.c',
+ '<(libvpx_source)/vp8/encoder/lookahead.h',
+ '<(libvpx_source)/vp8/encoder/mcomp.c',
+ '<(libvpx_source)/vp8/encoder/mcomp.h',
+ '<(libvpx_source)/vp8/encoder/modecosts.c',
+ '<(libvpx_source)/vp8/encoder/modecosts.h',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.c',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.h',
+ '<(libvpx_source)/vp8/encoder/onyx_if.c',
+ '<(libvpx_source)/vp8/encoder/onyx_int.h',
+ '<(libvpx_source)/vp8/encoder/pickinter.c',
+ '<(libvpx_source)/vp8/encoder/pickinter.h',
+ '<(libvpx_source)/vp8/encoder/picklpf.c',
+ '<(libvpx_source)/vp8/encoder/quantize.h',
+ '<(libvpx_source)/vp8/encoder/ratectrl.c',
+ '<(libvpx_source)/vp8/encoder/ratectrl.h',
+ '<(libvpx_source)/vp8/encoder/rdopt.c',
+ '<(libvpx_source)/vp8/encoder/rdopt.h',
+ '<(libvpx_source)/vp8/encoder/segmentation.c',
+ '<(libvpx_source)/vp8/encoder/segmentation.h',
+ '<(libvpx_source)/vp8/encoder/tokenize.c',
+ '<(libvpx_source)/vp8/encoder/tokenize.h',
+ '<(libvpx_source)/vp8/encoder/treewriter.c',
+ '<(libvpx_source)/vp8/encoder/treewriter.h',
+ '<(libvpx_source)/vp8/encoder/vp8_quantize.c',
+ '<(libvpx_source)/vp8/vp8_cx_iface.c',
+ '<(libvpx_source)/vp8/vp8_dx_iface.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.h',
+ '<(libvpx_source)/vp9/common/vp9_blockd.c',
+ '<(libvpx_source)/vp9/common/vp9_blockd.h',
+ '<(libvpx_source)/vp9/common/vp9_common.h',
+ '<(libvpx_source)/vp9/common/vp9_common_data.c',
+ '<(libvpx_source)/vp9/common/vp9_common_data.h',
+ '<(libvpx_source)/vp9/common/vp9_debugmodes.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.h',
+ '<(libvpx_source)/vp9/common/vp9_enums.h',
+ '<(libvpx_source)/vp9/common/vp9_filter.c',
+ '<(libvpx_source)/vp9/common/vp9_filter.h',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.c',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.h',
+ '<(libvpx_source)/vp9/common/vp9_idct.c',
+ '<(libvpx_source)/vp9/common/vp9_idct.h',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.c',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.h',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.c',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.h',
+ '<(libvpx_source)/vp9/common/vp9_mv.h',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.c',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.h',
+ '<(libvpx_source)/vp9/common/vp9_onyxc_int.h',
+ '<(libvpx_source)/vp9/common/vp9_postproc.c',
+ '<(libvpx_source)/vp9/common/vp9_postproc.h',
+ '<(libvpx_source)/vp9/common/vp9_ppflags.h',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.c',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.h',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.c',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.h',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.c',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.h',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.c',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.h',
+ '<(libvpx_source)/vp9/common/vp9_rtcd.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.h',
+ '<(libvpx_source)/vp9/common/vp9_scan.c',
+ '<(libvpx_source)/vp9/common/vp9_scan.h',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.c',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.h',
+ '<(libvpx_source)/vp9/common/vp9_textblit.h',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.c',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.h',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.c',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.h',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.c',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.h',
+ '<(libvpx_source)/vp9/encoder/vp9_avg.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.h',
+ '<(libvpx_source)/vp9/encoder/vp9_block.h',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.c',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.h',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.c',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.h',
+ '<(libvpx_source)/vp9/encoder/vp9_dct.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.c',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.h',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.c',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.h',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.c',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.c',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.h',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.c',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.h',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.h',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.c',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.h',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.c',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.h',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.c',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.h',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.c',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.h',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.h',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.h',
+ '<(libvpx_source)/vp9/vp9_cx_iface.c',
+ '<(libvpx_source)/vp9/vp9_dx_iface.c',
+ '<(libvpx_source)/vp9/vp9_iface_common.h',
+ '<(libvpx_source)/vpx/internal/vpx_codec_internal.h',
+ '<(libvpx_source)/vpx/internal/vpx_psnr.h',
+ '<(libvpx_source)/vpx/src/vpx_codec.c',
+ '<(libvpx_source)/vpx/src/vpx_decoder.c',
+ '<(libvpx_source)/vpx/src/vpx_encoder.c',
+ '<(libvpx_source)/vpx/src/vpx_image.c',
+ '<(libvpx_source)/vpx/src/vpx_psnr.c',
+ '<(libvpx_source)/vpx/vp8.h',
+ '<(libvpx_source)/vpx/vp8cx.h',
+ '<(libvpx_source)/vpx/vp8dx.h',
+ '<(libvpx_source)/vpx/vpx_codec.h',
+ '<(libvpx_source)/vpx/vpx_decoder.h',
+ '<(libvpx_source)/vpx/vpx_encoder.h',
+ '<(libvpx_source)/vpx/vpx_frame_buffer.h',
+ '<(libvpx_source)/vpx/vpx_image.h',
+ '<(libvpx_source)/vpx/vpx_integer.h',
+ '<(libvpx_source)/vpx_dsp/arm/bilinear_filter_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/sad_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/subpel_variance_media.c',
+ '<(libvpx_source)/vpx_dsp/arm/variance_halfpixvar16x16_h_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/variance_halfpixvar16x16_hv_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/variance_halfpixvar16x16_v_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/variance_media.asm',
+ '<(libvpx_source)/vpx_dsp/bitreader.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.h',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.h',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.c',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.h',
+ '<(libvpx_source)/vpx_dsp/intrapred.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.h',
+ '<(libvpx_source)/vpx_dsp/loopfilter.c',
+ '<(libvpx_source)/vpx_dsp/prob.c',
+ '<(libvpx_source)/vpx_dsp/prob.h',
+ '<(libvpx_source)/vpx_dsp/quantize.c',
+ '<(libvpx_source)/vpx_dsp/quantize.h',
+ '<(libvpx_source)/vpx_dsp/sad.c',
+ '<(libvpx_source)/vpx_dsp/subtract.c',
+ '<(libvpx_source)/vpx_dsp/txfm_common.h',
+ '<(libvpx_source)/vpx_dsp/variance.c',
+ '<(libvpx_source)/vpx_dsp/variance.h',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.c',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_common.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_rtcd.c',
+ '<(libvpx_source)/vpx_dsp/vpx_filter.h',
+ '<(libvpx_source)/vpx_mem/include/vpx_mem_intrnl.h',
+ '<(libvpx_source)/vpx_mem/vpx_mem.c',
+ '<(libvpx_source)/vpx_mem/vpx_mem.h',
+ '<(libvpx_source)/vpx_ports/arm.h',
+ '<(libvpx_source)/vpx_ports/arm_cpudetect.c',
+ '<(libvpx_source)/vpx_ports/bitops.h',
+ '<(libvpx_source)/vpx_ports/emmintrin_compat.h',
+ '<(libvpx_source)/vpx_ports/mem.h',
+ '<(libvpx_source)/vpx_ports/mem_ops.h',
+ '<(libvpx_source)/vpx_ports/mem_ops_aligned.h',
+ '<(libvpx_source)/vpx_ports/msvc.h',
+ '<(libvpx_source)/vpx_ports/system_state.h',
+ '<(libvpx_source)/vpx_ports/vpx_once.h',
+ '<(libvpx_source)/vpx_ports/vpx_timer.h',
+ '<(libvpx_source)/vpx_scale/generic/gen_scalers.c',
+ '<(libvpx_source)/vpx_scale/generic/vpx_scale.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12config.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12extend.c',
+ '<(libvpx_source)/vpx_scale/vpx_scale.h',
+ '<(libvpx_source)/vpx_scale/vpx_scale_rtcd.c',
+ '<(libvpx_source)/vpx_scale/yv12config.h',
+ '<(libvpx_source)/vpx_util/endian_inl.h',
+ '<(libvpx_source)/vpx_util/vpx_thread.c',
+ '<(libvpx_source)/vpx_util/vpx_thread.h',
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_arm64.gypi b/third_party/libvpx/libvpx_srcs_arm64.gypi
new file mode 100644
index 0000000..7d88bc5
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_arm64.gypi
@@ -0,0 +1,384 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'sources': [
+ '<(libvpx_source)/vp8/common/alloccommon.c',
+ '<(libvpx_source)/vp8/common/alloccommon.h',
+ '<(libvpx_source)/vp8/common/arm/dequantize_arm.c',
+ '<(libvpx_source)/vp8/common/arm/filter_arm.c',
+ '<(libvpx_source)/vp8/common/arm/loopfilter_arm.c',
+ '<(libvpx_source)/vp8/common/arm/neon/bilinearpredict_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/copymem_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/dc_only_idct_add_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/dequant_idct_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/dequantizeb_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/idct_blk_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/idct_dequant_0_2x_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/idct_dequant_full_2x_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/iwalsh_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/mbloopfilter_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/reconintra_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/shortidct4x4llm_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/sixtappredict_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/vp8_loopfilter_neon.c',
+ '<(libvpx_source)/vp8/common/blockd.c',
+ '<(libvpx_source)/vp8/common/blockd.h',
+ '<(libvpx_source)/vp8/common/coefupdateprobs.h',
+ '<(libvpx_source)/vp8/common/common.h',
+ '<(libvpx_source)/vp8/common/copy_c.c',
+ '<(libvpx_source)/vp8/common/debugmodes.c',
+ '<(libvpx_source)/vp8/common/default_coef_probs.h',
+ '<(libvpx_source)/vp8/common/dequantize.c',
+ '<(libvpx_source)/vp8/common/entropy.c',
+ '<(libvpx_source)/vp8/common/entropy.h',
+ '<(libvpx_source)/vp8/common/entropymode.c',
+ '<(libvpx_source)/vp8/common/entropymode.h',
+ '<(libvpx_source)/vp8/common/entropymv.c',
+ '<(libvpx_source)/vp8/common/entropymv.h',
+ '<(libvpx_source)/vp8/common/extend.c',
+ '<(libvpx_source)/vp8/common/extend.h',
+ '<(libvpx_source)/vp8/common/filter.c',
+ '<(libvpx_source)/vp8/common/filter.h',
+ '<(libvpx_source)/vp8/common/findnearmv.c',
+ '<(libvpx_source)/vp8/common/findnearmv.h',
+ '<(libvpx_source)/vp8/common/generic/systemdependent.c',
+ '<(libvpx_source)/vp8/common/header.h',
+ '<(libvpx_source)/vp8/common/idct_blk.c',
+ '<(libvpx_source)/vp8/common/idctllm.c',
+ '<(libvpx_source)/vp8/common/invtrans.h',
+ '<(libvpx_source)/vp8/common/loopfilter.h',
+ '<(libvpx_source)/vp8/common/loopfilter_filters.c',
+ '<(libvpx_source)/vp8/common/mbpitch.c',
+ '<(libvpx_source)/vp8/common/mfqe.c',
+ '<(libvpx_source)/vp8/common/modecont.c',
+ '<(libvpx_source)/vp8/common/modecont.h',
+ '<(libvpx_source)/vp8/common/mv.h',
+ '<(libvpx_source)/vp8/common/onyx.h',
+ '<(libvpx_source)/vp8/common/onyxc_int.h',
+ '<(libvpx_source)/vp8/common/onyxd.h',
+ '<(libvpx_source)/vp8/common/postproc.c',
+ '<(libvpx_source)/vp8/common/postproc.h',
+ '<(libvpx_source)/vp8/common/ppflags.h',
+ '<(libvpx_source)/vp8/common/quant_common.c',
+ '<(libvpx_source)/vp8/common/quant_common.h',
+ '<(libvpx_source)/vp8/common/reconinter.c',
+ '<(libvpx_source)/vp8/common/reconinter.h',
+ '<(libvpx_source)/vp8/common/reconintra.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.h',
+ '<(libvpx_source)/vp8/common/rtcd.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.h',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.c',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.h',
+ '<(libvpx_source)/vp8/common/systemdependent.h',
+ '<(libvpx_source)/vp8/common/threading.h',
+ '<(libvpx_source)/vp8/common/treecoder.c',
+ '<(libvpx_source)/vp8/common/treecoder.h',
+ '<(libvpx_source)/vp8/common/vp8_entropymodedata.h',
+ '<(libvpx_source)/vp8/common/vp8_loopfilter.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.h',
+ '<(libvpx_source)/vp8/decoder/decodeframe.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.h',
+ '<(libvpx_source)/vp8/decoder/decoderthreading.h',
+ '<(libvpx_source)/vp8/decoder/detokenize.c',
+ '<(libvpx_source)/vp8/decoder/detokenize.h',
+ '<(libvpx_source)/vp8/decoder/onyxd_if.c',
+ '<(libvpx_source)/vp8/decoder/onyxd_int.h',
+ '<(libvpx_source)/vp8/decoder/threading.c',
+ '<(libvpx_source)/vp8/decoder/treereader.h',
+ '<(libvpx_source)/vp8/encoder/arm/dct_arm.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/denoising_neon.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/fastquantizeb_neon.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/shortfdct_neon.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/vp8_shortwalsh4x4_neon.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.h',
+ '<(libvpx_source)/vp8/encoder/block.h',
+ '<(libvpx_source)/vp8/encoder/boolhuff.c',
+ '<(libvpx_source)/vp8/encoder/boolhuff.h',
+ '<(libvpx_source)/vp8/encoder/dct.c',
+ '<(libvpx_source)/vp8/encoder/dct_value_cost.h',
+ '<(libvpx_source)/vp8/encoder/dct_value_tokens.h',
+ '<(libvpx_source)/vp8/encoder/defaultcoefcounts.h',
+ '<(libvpx_source)/vp8/encoder/denoising.c',
+ '<(libvpx_source)/vp8/encoder/denoising.h',
+ '<(libvpx_source)/vp8/encoder/encodeframe.c',
+ '<(libvpx_source)/vp8/encoder/encodeframe.h',
+ '<(libvpx_source)/vp8/encoder/encodeintra.c',
+ '<(libvpx_source)/vp8/encoder/encodeintra.h',
+ '<(libvpx_source)/vp8/encoder/encodemb.c',
+ '<(libvpx_source)/vp8/encoder/encodemb.h',
+ '<(libvpx_source)/vp8/encoder/encodemv.c',
+ '<(libvpx_source)/vp8/encoder/encodemv.h',
+ '<(libvpx_source)/vp8/encoder/ethreading.c',
+ '<(libvpx_source)/vp8/encoder/firstpass.h',
+ '<(libvpx_source)/vp8/encoder/lookahead.c',
+ '<(libvpx_source)/vp8/encoder/lookahead.h',
+ '<(libvpx_source)/vp8/encoder/mcomp.c',
+ '<(libvpx_source)/vp8/encoder/mcomp.h',
+ '<(libvpx_source)/vp8/encoder/modecosts.c',
+ '<(libvpx_source)/vp8/encoder/modecosts.h',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.c',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.h',
+ '<(libvpx_source)/vp8/encoder/onyx_if.c',
+ '<(libvpx_source)/vp8/encoder/onyx_int.h',
+ '<(libvpx_source)/vp8/encoder/pickinter.c',
+ '<(libvpx_source)/vp8/encoder/pickinter.h',
+ '<(libvpx_source)/vp8/encoder/picklpf.c',
+ '<(libvpx_source)/vp8/encoder/quantize.h',
+ '<(libvpx_source)/vp8/encoder/ratectrl.c',
+ '<(libvpx_source)/vp8/encoder/ratectrl.h',
+ '<(libvpx_source)/vp8/encoder/rdopt.c',
+ '<(libvpx_source)/vp8/encoder/rdopt.h',
+ '<(libvpx_source)/vp8/encoder/segmentation.c',
+ '<(libvpx_source)/vp8/encoder/segmentation.h',
+ '<(libvpx_source)/vp8/encoder/tokenize.c',
+ '<(libvpx_source)/vp8/encoder/tokenize.h',
+ '<(libvpx_source)/vp8/encoder/treewriter.c',
+ '<(libvpx_source)/vp8/encoder/treewriter.h',
+ '<(libvpx_source)/vp8/encoder/vp8_quantize.c',
+ '<(libvpx_source)/vp8/vp8_cx_iface.c',
+ '<(libvpx_source)/vp8/vp8_dx_iface.c',
+ '<(libvpx_source)/vp9/common/arm/neon/vp9_iht4x4_add_neon.c',
+ '<(libvpx_source)/vp9/common/arm/neon/vp9_iht8x8_add_neon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.h',
+ '<(libvpx_source)/vp9/common/vp9_blockd.c',
+ '<(libvpx_source)/vp9/common/vp9_blockd.h',
+ '<(libvpx_source)/vp9/common/vp9_common.h',
+ '<(libvpx_source)/vp9/common/vp9_common_data.c',
+ '<(libvpx_source)/vp9/common/vp9_common_data.h',
+ '<(libvpx_source)/vp9/common/vp9_debugmodes.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.h',
+ '<(libvpx_source)/vp9/common/vp9_enums.h',
+ '<(libvpx_source)/vp9/common/vp9_filter.c',
+ '<(libvpx_source)/vp9/common/vp9_filter.h',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.c',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.h',
+ '<(libvpx_source)/vp9/common/vp9_idct.c',
+ '<(libvpx_source)/vp9/common/vp9_idct.h',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.c',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.h',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.c',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.h',
+ '<(libvpx_source)/vp9/common/vp9_mv.h',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.c',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.h',
+ '<(libvpx_source)/vp9/common/vp9_onyxc_int.h',
+ '<(libvpx_source)/vp9/common/vp9_postproc.c',
+ '<(libvpx_source)/vp9/common/vp9_postproc.h',
+ '<(libvpx_source)/vp9/common/vp9_ppflags.h',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.c',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.h',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.c',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.h',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.c',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.h',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.c',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.h',
+ '<(libvpx_source)/vp9/common/vp9_rtcd.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.h',
+ '<(libvpx_source)/vp9/common/vp9_scan.c',
+ '<(libvpx_source)/vp9/common/vp9_scan.h',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.c',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.h',
+ '<(libvpx_source)/vp9/common/vp9_textblit.h',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.c',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.h',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.c',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.h',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.c',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.h',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_avg_neon.c',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_dct_neon.c',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_error_neon.c',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_quantize_neon.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.h',
+ '<(libvpx_source)/vp9/encoder/vp9_avg.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.h',
+ '<(libvpx_source)/vp9/encoder/vp9_block.h',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.c',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.h',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.c',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.h',
+ '<(libvpx_source)/vp9/encoder/vp9_dct.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.c',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.h',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.c',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.h',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.c',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.c',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.h',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.c',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.h',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.h',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.c',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.h',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.c',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.h',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.c',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.h',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.c',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.h',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.h',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.h',
+ '<(libvpx_source)/vp9/vp9_cx_iface.c',
+ '<(libvpx_source)/vp9/vp9_dx_iface.c',
+ '<(libvpx_source)/vp9/vp9_iface_common.h',
+ '<(libvpx_source)/vpx/internal/vpx_codec_internal.h',
+ '<(libvpx_source)/vpx/internal/vpx_psnr.h',
+ '<(libvpx_source)/vpx/src/vpx_codec.c',
+ '<(libvpx_source)/vpx/src/vpx_decoder.c',
+ '<(libvpx_source)/vpx/src/vpx_encoder.c',
+ '<(libvpx_source)/vpx/src/vpx_image.c',
+ '<(libvpx_source)/vpx/src/vpx_psnr.c',
+ '<(libvpx_source)/vpx/vp8.h',
+ '<(libvpx_source)/vpx/vp8cx.h',
+ '<(libvpx_source)/vpx/vp8dx.h',
+ '<(libvpx_source)/vpx/vpx_codec.h',
+ '<(libvpx_source)/vpx/vpx_decoder.h',
+ '<(libvpx_source)/vpx/vpx_encoder.h',
+ '<(libvpx_source)/vpx/vpx_frame_buffer.h',
+ '<(libvpx_source)/vpx/vpx_image.h',
+ '<(libvpx_source)/vpx/vpx_integer.h',
+ '<(libvpx_source)/vpx_dsp/arm/fwd_txfm_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct16x16_1_add_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct16x16_add_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct16x16_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct32x32_1_add_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct32x32_add_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct4x4_1_add_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct4x4_add_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct8x8_1_add_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct8x8_add_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/intrapred_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_16_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_4_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_8_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/sad4d_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/sad_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/subpel_variance_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/subtract_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/variance_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve8_avg_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve8_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve_avg_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve_copy_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve_neon.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.h',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.h',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.c',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.h',
+ '<(libvpx_source)/vpx_dsp/intrapred.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.h',
+ '<(libvpx_source)/vpx_dsp/loopfilter.c',
+ '<(libvpx_source)/vpx_dsp/prob.c',
+ '<(libvpx_source)/vpx_dsp/prob.h',
+ '<(libvpx_source)/vpx_dsp/quantize.c',
+ '<(libvpx_source)/vpx_dsp/quantize.h',
+ '<(libvpx_source)/vpx_dsp/sad.c',
+ '<(libvpx_source)/vpx_dsp/subtract.c',
+ '<(libvpx_source)/vpx_dsp/txfm_common.h',
+ '<(libvpx_source)/vpx_dsp/variance.c',
+ '<(libvpx_source)/vpx_dsp/variance.h',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.c',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_common.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_rtcd.c',
+ '<(libvpx_source)/vpx_dsp/vpx_filter.h',
+ '<(libvpx_source)/vpx_mem/include/vpx_mem_intrnl.h',
+ '<(libvpx_source)/vpx_mem/vpx_mem.c',
+ '<(libvpx_source)/vpx_mem/vpx_mem.h',
+ '<(libvpx_source)/vpx_ports/arm.h',
+ '<(libvpx_source)/vpx_ports/arm_cpudetect.c',
+ '<(libvpx_source)/vpx_ports/bitops.h',
+ '<(libvpx_source)/vpx_ports/emmintrin_compat.h',
+ '<(libvpx_source)/vpx_ports/mem.h',
+ '<(libvpx_source)/vpx_ports/mem_ops.h',
+ '<(libvpx_source)/vpx_ports/mem_ops_aligned.h',
+ '<(libvpx_source)/vpx_ports/msvc.h',
+ '<(libvpx_source)/vpx_ports/system_state.h',
+ '<(libvpx_source)/vpx_ports/vpx_once.h',
+ '<(libvpx_source)/vpx_ports/vpx_timer.h',
+ '<(libvpx_source)/vpx_scale/generic/gen_scalers.c',
+ '<(libvpx_source)/vpx_scale/generic/vpx_scale.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12config.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12extend.c',
+ '<(libvpx_source)/vpx_scale/vpx_scale.h',
+ '<(libvpx_source)/vpx_scale/vpx_scale_rtcd.c',
+ '<(libvpx_source)/vpx_scale/yv12config.h',
+ '<(libvpx_source)/vpx_util/endian_inl.h',
+ '<(libvpx_source)/vpx_util/vpx_thread.c',
+ '<(libvpx_source)/vpx_util/vpx_thread.h',
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_arm_neon.gypi b/third_party/libvpx/libvpx_srcs_arm_neon.gypi
new file mode 100644
index 0000000..0e7d48d
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_arm_neon.gypi
@@ -0,0 +1,413 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'sources': [
+ '<(libvpx_source)/vp8/common/alloccommon.c',
+ '<(libvpx_source)/vp8/common/alloccommon.h',
+ '<(libvpx_source)/vp8/common/arm/armv6/bilinearfilter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/copymem16x16_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/copymem8x4_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/copymem8x8_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/dc_only_idct_add_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/dequant_idct_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/dequantize_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/filter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/idct_blk_v6.c',
+ '<(libvpx_source)/vp8/common/arm/armv6/idct_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/intra4x4_predict_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/iwalsh_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/loopfilter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/simpleloopfilter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/sixtappredict8x4_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/bilinearfilter_arm.c',
+ '<(libvpx_source)/vp8/common/arm/bilinearfilter_arm.h',
+ '<(libvpx_source)/vp8/common/arm/dequantize_arm.c',
+ '<(libvpx_source)/vp8/common/arm/filter_arm.c',
+ '<(libvpx_source)/vp8/common/arm/loopfilter_arm.c',
+ '<(libvpx_source)/vp8/common/arm/neon/bilinearpredict_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/copymem_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/dc_only_idct_add_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/dequant_idct_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/dequantizeb_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/idct_blk_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/idct_dequant_0_2x_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/idct_dequant_full_2x_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/iwalsh_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/mbloopfilter_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/reconintra_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/shortidct4x4llm_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/sixtappredict_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/vp8_loopfilter_neon.c',
+ '<(libvpx_source)/vp8/common/blockd.c',
+ '<(libvpx_source)/vp8/common/blockd.h',
+ '<(libvpx_source)/vp8/common/coefupdateprobs.h',
+ '<(libvpx_source)/vp8/common/common.h',
+ '<(libvpx_source)/vp8/common/copy_c.c',
+ '<(libvpx_source)/vp8/common/debugmodes.c',
+ '<(libvpx_source)/vp8/common/default_coef_probs.h',
+ '<(libvpx_source)/vp8/common/dequantize.c',
+ '<(libvpx_source)/vp8/common/entropy.c',
+ '<(libvpx_source)/vp8/common/entropy.h',
+ '<(libvpx_source)/vp8/common/entropymode.c',
+ '<(libvpx_source)/vp8/common/entropymode.h',
+ '<(libvpx_source)/vp8/common/entropymv.c',
+ '<(libvpx_source)/vp8/common/entropymv.h',
+ '<(libvpx_source)/vp8/common/extend.c',
+ '<(libvpx_source)/vp8/common/extend.h',
+ '<(libvpx_source)/vp8/common/filter.c',
+ '<(libvpx_source)/vp8/common/filter.h',
+ '<(libvpx_source)/vp8/common/findnearmv.c',
+ '<(libvpx_source)/vp8/common/findnearmv.h',
+ '<(libvpx_source)/vp8/common/generic/systemdependent.c',
+ '<(libvpx_source)/vp8/common/header.h',
+ '<(libvpx_source)/vp8/common/idct_blk.c',
+ '<(libvpx_source)/vp8/common/idctllm.c',
+ '<(libvpx_source)/vp8/common/invtrans.h',
+ '<(libvpx_source)/vp8/common/loopfilter.h',
+ '<(libvpx_source)/vp8/common/loopfilter_filters.c',
+ '<(libvpx_source)/vp8/common/mbpitch.c',
+ '<(libvpx_source)/vp8/common/mfqe.c',
+ '<(libvpx_source)/vp8/common/modecont.c',
+ '<(libvpx_source)/vp8/common/modecont.h',
+ '<(libvpx_source)/vp8/common/mv.h',
+ '<(libvpx_source)/vp8/common/onyx.h',
+ '<(libvpx_source)/vp8/common/onyxc_int.h',
+ '<(libvpx_source)/vp8/common/onyxd.h',
+ '<(libvpx_source)/vp8/common/postproc.c',
+ '<(libvpx_source)/vp8/common/postproc.h',
+ '<(libvpx_source)/vp8/common/ppflags.h',
+ '<(libvpx_source)/vp8/common/quant_common.c',
+ '<(libvpx_source)/vp8/common/quant_common.h',
+ '<(libvpx_source)/vp8/common/reconinter.c',
+ '<(libvpx_source)/vp8/common/reconinter.h',
+ '<(libvpx_source)/vp8/common/reconintra.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.h',
+ '<(libvpx_source)/vp8/common/rtcd.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.h',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.c',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.h',
+ '<(libvpx_source)/vp8/common/systemdependent.h',
+ '<(libvpx_source)/vp8/common/threading.h',
+ '<(libvpx_source)/vp8/common/treecoder.c',
+ '<(libvpx_source)/vp8/common/treecoder.h',
+ '<(libvpx_source)/vp8/common/vp8_entropymodedata.h',
+ '<(libvpx_source)/vp8/common/vp8_loopfilter.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.h',
+ '<(libvpx_source)/vp8/decoder/decodeframe.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.h',
+ '<(libvpx_source)/vp8/decoder/decoderthreading.h',
+ '<(libvpx_source)/vp8/decoder/detokenize.c',
+ '<(libvpx_source)/vp8/decoder/detokenize.h',
+ '<(libvpx_source)/vp8/decoder/onyxd_if.c',
+ '<(libvpx_source)/vp8/decoder/onyxd_int.h',
+ '<(libvpx_source)/vp8/decoder/threading.c',
+ '<(libvpx_source)/vp8/decoder/treereader.h',
+ '<(libvpx_source)/vp8/encoder/arm/armv6/vp8_short_fdct4x4_armv6.asm',
+ '<(libvpx_source)/vp8/encoder/arm/armv6/walsh_v6.asm',
+ '<(libvpx_source)/vp8/encoder/arm/dct_arm.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/denoising_neon.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/fastquantizeb_neon.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/shortfdct_neon.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/vp8_shortwalsh4x4_neon.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.h',
+ '<(libvpx_source)/vp8/encoder/block.h',
+ '<(libvpx_source)/vp8/encoder/boolhuff.c',
+ '<(libvpx_source)/vp8/encoder/boolhuff.h',
+ '<(libvpx_source)/vp8/encoder/dct.c',
+ '<(libvpx_source)/vp8/encoder/dct_value_cost.h',
+ '<(libvpx_source)/vp8/encoder/dct_value_tokens.h',
+ '<(libvpx_source)/vp8/encoder/defaultcoefcounts.h',
+ '<(libvpx_source)/vp8/encoder/denoising.c',
+ '<(libvpx_source)/vp8/encoder/denoising.h',
+ '<(libvpx_source)/vp8/encoder/encodeframe.c',
+ '<(libvpx_source)/vp8/encoder/encodeframe.h',
+ '<(libvpx_source)/vp8/encoder/encodeintra.c',
+ '<(libvpx_source)/vp8/encoder/encodeintra.h',
+ '<(libvpx_source)/vp8/encoder/encodemb.c',
+ '<(libvpx_source)/vp8/encoder/encodemb.h',
+ '<(libvpx_source)/vp8/encoder/encodemv.c',
+ '<(libvpx_source)/vp8/encoder/encodemv.h',
+ '<(libvpx_source)/vp8/encoder/ethreading.c',
+ '<(libvpx_source)/vp8/encoder/firstpass.h',
+ '<(libvpx_source)/vp8/encoder/lookahead.c',
+ '<(libvpx_source)/vp8/encoder/lookahead.h',
+ '<(libvpx_source)/vp8/encoder/mcomp.c',
+ '<(libvpx_source)/vp8/encoder/mcomp.h',
+ '<(libvpx_source)/vp8/encoder/modecosts.c',
+ '<(libvpx_source)/vp8/encoder/modecosts.h',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.c',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.h',
+ '<(libvpx_source)/vp8/encoder/onyx_if.c',
+ '<(libvpx_source)/vp8/encoder/onyx_int.h',
+ '<(libvpx_source)/vp8/encoder/pickinter.c',
+ '<(libvpx_source)/vp8/encoder/pickinter.h',
+ '<(libvpx_source)/vp8/encoder/picklpf.c',
+ '<(libvpx_source)/vp8/encoder/quantize.h',
+ '<(libvpx_source)/vp8/encoder/ratectrl.c',
+ '<(libvpx_source)/vp8/encoder/ratectrl.h',
+ '<(libvpx_source)/vp8/encoder/rdopt.c',
+ '<(libvpx_source)/vp8/encoder/rdopt.h',
+ '<(libvpx_source)/vp8/encoder/segmentation.c',
+ '<(libvpx_source)/vp8/encoder/segmentation.h',
+ '<(libvpx_source)/vp8/encoder/tokenize.c',
+ '<(libvpx_source)/vp8/encoder/tokenize.h',
+ '<(libvpx_source)/vp8/encoder/treewriter.c',
+ '<(libvpx_source)/vp8/encoder/treewriter.h',
+ '<(libvpx_source)/vp8/encoder/vp8_quantize.c',
+ '<(libvpx_source)/vp8/vp8_cx_iface.c',
+ '<(libvpx_source)/vp8/vp8_dx_iface.c',
+ '<(libvpx_source)/vp9/common/arm/neon/vp9_iht4x4_add_neon.c',
+ '<(libvpx_source)/vp9/common/arm/neon/vp9_iht8x8_add_neon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.h',
+ '<(libvpx_source)/vp9/common/vp9_blockd.c',
+ '<(libvpx_source)/vp9/common/vp9_blockd.h',
+ '<(libvpx_source)/vp9/common/vp9_common.h',
+ '<(libvpx_source)/vp9/common/vp9_common_data.c',
+ '<(libvpx_source)/vp9/common/vp9_common_data.h',
+ '<(libvpx_source)/vp9/common/vp9_debugmodes.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.h',
+ '<(libvpx_source)/vp9/common/vp9_enums.h',
+ '<(libvpx_source)/vp9/common/vp9_filter.c',
+ '<(libvpx_source)/vp9/common/vp9_filter.h',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.c',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.h',
+ '<(libvpx_source)/vp9/common/vp9_idct.c',
+ '<(libvpx_source)/vp9/common/vp9_idct.h',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.c',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.h',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.c',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.h',
+ '<(libvpx_source)/vp9/common/vp9_mv.h',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.c',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.h',
+ '<(libvpx_source)/vp9/common/vp9_onyxc_int.h',
+ '<(libvpx_source)/vp9/common/vp9_postproc.c',
+ '<(libvpx_source)/vp9/common/vp9_postproc.h',
+ '<(libvpx_source)/vp9/common/vp9_ppflags.h',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.c',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.h',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.c',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.h',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.c',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.h',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.c',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.h',
+ '<(libvpx_source)/vp9/common/vp9_rtcd.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.h',
+ '<(libvpx_source)/vp9/common/vp9_scan.c',
+ '<(libvpx_source)/vp9/common/vp9_scan.h',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.c',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.h',
+ '<(libvpx_source)/vp9/common/vp9_textblit.h',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.c',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.h',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.c',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.h',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.c',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.h',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_avg_neon.c',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_dct_neon.c',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_error_neon.c',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_quantize_neon.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.h',
+ '<(libvpx_source)/vp9/encoder/vp9_avg.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.h',
+ '<(libvpx_source)/vp9/encoder/vp9_block.h',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.c',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.h',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.c',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.h',
+ '<(libvpx_source)/vp9/encoder/vp9_dct.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.c',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.h',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.c',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.h',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.c',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.c',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.h',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.c',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.h',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.h',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.c',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.h',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.c',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.h',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.c',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.h',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.c',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.h',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.h',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.h',
+ '<(libvpx_source)/vp9/vp9_cx_iface.c',
+ '<(libvpx_source)/vp9/vp9_dx_iface.c',
+ '<(libvpx_source)/vp9/vp9_iface_common.h',
+ '<(libvpx_source)/vpx/internal/vpx_codec_internal.h',
+ '<(libvpx_source)/vpx/internal/vpx_psnr.h',
+ '<(libvpx_source)/vpx/src/vpx_codec.c',
+ '<(libvpx_source)/vpx/src/vpx_decoder.c',
+ '<(libvpx_source)/vpx/src/vpx_encoder.c',
+ '<(libvpx_source)/vpx/src/vpx_image.c',
+ '<(libvpx_source)/vpx/src/vpx_psnr.c',
+ '<(libvpx_source)/vpx/vp8.h',
+ '<(libvpx_source)/vpx/vp8cx.h',
+ '<(libvpx_source)/vpx/vp8dx.h',
+ '<(libvpx_source)/vpx/vpx_codec.h',
+ '<(libvpx_source)/vpx/vpx_decoder.h',
+ '<(libvpx_source)/vpx/vpx_encoder.h',
+ '<(libvpx_source)/vpx/vpx_frame_buffer.h',
+ '<(libvpx_source)/vpx/vpx_image.h',
+ '<(libvpx_source)/vpx/vpx_integer.h',
+ '<(libvpx_source)/vpx_dsp/arm/bilinear_filter_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/fwd_txfm_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct16x16_1_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct16x16_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct16x16_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct32x32_1_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct32x32_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct4x4_1_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct4x4_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct8x8_1_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct8x8_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/intrapred_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/intrapred_neon_asm.asm',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_16_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_4_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_8_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_mb_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/sad4d_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/sad_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/sad_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/save_reg_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/subpel_variance_media.c',
+ '<(libvpx_source)/vpx_dsp/arm/subpel_variance_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/subtract_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/variance_halfpixvar16x16_h_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/variance_halfpixvar16x16_hv_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/variance_halfpixvar16x16_v_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/variance_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/variance_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve8_avg_neon_asm.asm',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve8_neon_asm.asm',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve_avg_neon_asm.asm',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve_copy_neon_asm.asm',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve_neon.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.h',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.h',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.c',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.h',
+ '<(libvpx_source)/vpx_dsp/intrapred.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.h',
+ '<(libvpx_source)/vpx_dsp/loopfilter.c',
+ '<(libvpx_source)/vpx_dsp/prob.c',
+ '<(libvpx_source)/vpx_dsp/prob.h',
+ '<(libvpx_source)/vpx_dsp/quantize.c',
+ '<(libvpx_source)/vpx_dsp/quantize.h',
+ '<(libvpx_source)/vpx_dsp/sad.c',
+ '<(libvpx_source)/vpx_dsp/subtract.c',
+ '<(libvpx_source)/vpx_dsp/txfm_common.h',
+ '<(libvpx_source)/vpx_dsp/variance.c',
+ '<(libvpx_source)/vpx_dsp/variance.h',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.c',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_common.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_rtcd.c',
+ '<(libvpx_source)/vpx_dsp/vpx_filter.h',
+ '<(libvpx_source)/vpx_mem/include/vpx_mem_intrnl.h',
+ '<(libvpx_source)/vpx_mem/vpx_mem.c',
+ '<(libvpx_source)/vpx_mem/vpx_mem.h',
+ '<(libvpx_source)/vpx_ports/arm.h',
+ '<(libvpx_source)/vpx_ports/arm_cpudetect.c',
+ '<(libvpx_source)/vpx_ports/bitops.h',
+ '<(libvpx_source)/vpx_ports/emmintrin_compat.h',
+ '<(libvpx_source)/vpx_ports/mem.h',
+ '<(libvpx_source)/vpx_ports/mem_ops.h',
+ '<(libvpx_source)/vpx_ports/mem_ops_aligned.h',
+ '<(libvpx_source)/vpx_ports/msvc.h',
+ '<(libvpx_source)/vpx_ports/system_state.h',
+ '<(libvpx_source)/vpx_ports/vpx_once.h',
+ '<(libvpx_source)/vpx_ports/vpx_timer.h',
+ '<(libvpx_source)/vpx_scale/generic/gen_scalers.c',
+ '<(libvpx_source)/vpx_scale/generic/vpx_scale.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12config.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12extend.c',
+ '<(libvpx_source)/vpx_scale/vpx_scale.h',
+ '<(libvpx_source)/vpx_scale/vpx_scale_rtcd.c',
+ '<(libvpx_source)/vpx_scale/yv12config.h',
+ '<(libvpx_source)/vpx_util/endian_inl.h',
+ '<(libvpx_source)/vpx_util/vpx_thread.c',
+ '<(libvpx_source)/vpx_util/vpx_thread.h',
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_arm_neon_cpu_detect.gypi b/third_party/libvpx/libvpx_srcs_arm_neon_cpu_detect.gypi
new file mode 100644
index 0000000..a5b97bd
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_arm_neon_cpu_detect.gypi
@@ -0,0 +1,359 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'sources': [
+ '<(libvpx_source)/vp8/common/alloccommon.c',
+ '<(libvpx_source)/vp8/common/alloccommon.h',
+ '<(libvpx_source)/vp8/common/arm/armv6/bilinearfilter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/copymem16x16_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/copymem8x4_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/copymem8x8_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/dc_only_idct_add_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/dequant_idct_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/dequantize_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/filter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/idct_blk_v6.c',
+ '<(libvpx_source)/vp8/common/arm/armv6/idct_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/intra4x4_predict_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/iwalsh_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/loopfilter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/simpleloopfilter_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/armv6/sixtappredict8x4_v6.asm',
+ '<(libvpx_source)/vp8/common/arm/bilinearfilter_arm.c',
+ '<(libvpx_source)/vp8/common/arm/bilinearfilter_arm.h',
+ '<(libvpx_source)/vp8/common/arm/dequantize_arm.c',
+ '<(libvpx_source)/vp8/common/arm/filter_arm.c',
+ '<(libvpx_source)/vp8/common/arm/loopfilter_arm.c',
+ '<(libvpx_source)/vp8/common/blockd.c',
+ '<(libvpx_source)/vp8/common/blockd.h',
+ '<(libvpx_source)/vp8/common/coefupdateprobs.h',
+ '<(libvpx_source)/vp8/common/common.h',
+ '<(libvpx_source)/vp8/common/copy_c.c',
+ '<(libvpx_source)/vp8/common/debugmodes.c',
+ '<(libvpx_source)/vp8/common/default_coef_probs.h',
+ '<(libvpx_source)/vp8/common/dequantize.c',
+ '<(libvpx_source)/vp8/common/entropy.c',
+ '<(libvpx_source)/vp8/common/entropy.h',
+ '<(libvpx_source)/vp8/common/entropymode.c',
+ '<(libvpx_source)/vp8/common/entropymode.h',
+ '<(libvpx_source)/vp8/common/entropymv.c',
+ '<(libvpx_source)/vp8/common/entropymv.h',
+ '<(libvpx_source)/vp8/common/extend.c',
+ '<(libvpx_source)/vp8/common/extend.h',
+ '<(libvpx_source)/vp8/common/filter.c',
+ '<(libvpx_source)/vp8/common/filter.h',
+ '<(libvpx_source)/vp8/common/findnearmv.c',
+ '<(libvpx_source)/vp8/common/findnearmv.h',
+ '<(libvpx_source)/vp8/common/generic/systemdependent.c',
+ '<(libvpx_source)/vp8/common/header.h',
+ '<(libvpx_source)/vp8/common/idct_blk.c',
+ '<(libvpx_source)/vp8/common/idctllm.c',
+ '<(libvpx_source)/vp8/common/invtrans.h',
+ '<(libvpx_source)/vp8/common/loopfilter.h',
+ '<(libvpx_source)/vp8/common/loopfilter_filters.c',
+ '<(libvpx_source)/vp8/common/mbpitch.c',
+ '<(libvpx_source)/vp8/common/mfqe.c',
+ '<(libvpx_source)/vp8/common/modecont.c',
+ '<(libvpx_source)/vp8/common/modecont.h',
+ '<(libvpx_source)/vp8/common/mv.h',
+ '<(libvpx_source)/vp8/common/onyx.h',
+ '<(libvpx_source)/vp8/common/onyxc_int.h',
+ '<(libvpx_source)/vp8/common/onyxd.h',
+ '<(libvpx_source)/vp8/common/postproc.c',
+ '<(libvpx_source)/vp8/common/postproc.h',
+ '<(libvpx_source)/vp8/common/ppflags.h',
+ '<(libvpx_source)/vp8/common/quant_common.c',
+ '<(libvpx_source)/vp8/common/quant_common.h',
+ '<(libvpx_source)/vp8/common/reconinter.c',
+ '<(libvpx_source)/vp8/common/reconinter.h',
+ '<(libvpx_source)/vp8/common/reconintra.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.h',
+ '<(libvpx_source)/vp8/common/rtcd.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.h',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.c',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.h',
+ '<(libvpx_source)/vp8/common/systemdependent.h',
+ '<(libvpx_source)/vp8/common/threading.h',
+ '<(libvpx_source)/vp8/common/treecoder.c',
+ '<(libvpx_source)/vp8/common/treecoder.h',
+ '<(libvpx_source)/vp8/common/vp8_entropymodedata.h',
+ '<(libvpx_source)/vp8/common/vp8_loopfilter.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.h',
+ '<(libvpx_source)/vp8/decoder/decodeframe.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.h',
+ '<(libvpx_source)/vp8/decoder/decoderthreading.h',
+ '<(libvpx_source)/vp8/decoder/detokenize.c',
+ '<(libvpx_source)/vp8/decoder/detokenize.h',
+ '<(libvpx_source)/vp8/decoder/onyxd_if.c',
+ '<(libvpx_source)/vp8/decoder/onyxd_int.h',
+ '<(libvpx_source)/vp8/decoder/threading.c',
+ '<(libvpx_source)/vp8/decoder/treereader.h',
+ '<(libvpx_source)/vp8/encoder/arm/armv6/vp8_short_fdct4x4_armv6.asm',
+ '<(libvpx_source)/vp8/encoder/arm/armv6/walsh_v6.asm',
+ '<(libvpx_source)/vp8/encoder/arm/dct_arm.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.h',
+ '<(libvpx_source)/vp8/encoder/block.h',
+ '<(libvpx_source)/vp8/encoder/boolhuff.c',
+ '<(libvpx_source)/vp8/encoder/boolhuff.h',
+ '<(libvpx_source)/vp8/encoder/dct.c',
+ '<(libvpx_source)/vp8/encoder/dct_value_cost.h',
+ '<(libvpx_source)/vp8/encoder/dct_value_tokens.h',
+ '<(libvpx_source)/vp8/encoder/defaultcoefcounts.h',
+ '<(libvpx_source)/vp8/encoder/denoising.c',
+ '<(libvpx_source)/vp8/encoder/denoising.h',
+ '<(libvpx_source)/vp8/encoder/encodeframe.c',
+ '<(libvpx_source)/vp8/encoder/encodeframe.h',
+ '<(libvpx_source)/vp8/encoder/encodeintra.c',
+ '<(libvpx_source)/vp8/encoder/encodeintra.h',
+ '<(libvpx_source)/vp8/encoder/encodemb.c',
+ '<(libvpx_source)/vp8/encoder/encodemb.h',
+ '<(libvpx_source)/vp8/encoder/encodemv.c',
+ '<(libvpx_source)/vp8/encoder/encodemv.h',
+ '<(libvpx_source)/vp8/encoder/ethreading.c',
+ '<(libvpx_source)/vp8/encoder/firstpass.h',
+ '<(libvpx_source)/vp8/encoder/lookahead.c',
+ '<(libvpx_source)/vp8/encoder/lookahead.h',
+ '<(libvpx_source)/vp8/encoder/mcomp.c',
+ '<(libvpx_source)/vp8/encoder/mcomp.h',
+ '<(libvpx_source)/vp8/encoder/modecosts.c',
+ '<(libvpx_source)/vp8/encoder/modecosts.h',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.c',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.h',
+ '<(libvpx_source)/vp8/encoder/onyx_if.c',
+ '<(libvpx_source)/vp8/encoder/onyx_int.h',
+ '<(libvpx_source)/vp8/encoder/pickinter.c',
+ '<(libvpx_source)/vp8/encoder/pickinter.h',
+ '<(libvpx_source)/vp8/encoder/picklpf.c',
+ '<(libvpx_source)/vp8/encoder/quantize.h',
+ '<(libvpx_source)/vp8/encoder/ratectrl.c',
+ '<(libvpx_source)/vp8/encoder/ratectrl.h',
+ '<(libvpx_source)/vp8/encoder/rdopt.c',
+ '<(libvpx_source)/vp8/encoder/rdopt.h',
+ '<(libvpx_source)/vp8/encoder/segmentation.c',
+ '<(libvpx_source)/vp8/encoder/segmentation.h',
+ '<(libvpx_source)/vp8/encoder/tokenize.c',
+ '<(libvpx_source)/vp8/encoder/tokenize.h',
+ '<(libvpx_source)/vp8/encoder/treewriter.c',
+ '<(libvpx_source)/vp8/encoder/treewriter.h',
+ '<(libvpx_source)/vp8/encoder/vp8_quantize.c',
+ '<(libvpx_source)/vp8/vp8_cx_iface.c',
+ '<(libvpx_source)/vp8/vp8_dx_iface.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.h',
+ '<(libvpx_source)/vp9/common/vp9_blockd.c',
+ '<(libvpx_source)/vp9/common/vp9_blockd.h',
+ '<(libvpx_source)/vp9/common/vp9_common.h',
+ '<(libvpx_source)/vp9/common/vp9_common_data.c',
+ '<(libvpx_source)/vp9/common/vp9_common_data.h',
+ '<(libvpx_source)/vp9/common/vp9_debugmodes.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.h',
+ '<(libvpx_source)/vp9/common/vp9_enums.h',
+ '<(libvpx_source)/vp9/common/vp9_filter.c',
+ '<(libvpx_source)/vp9/common/vp9_filter.h',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.c',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.h',
+ '<(libvpx_source)/vp9/common/vp9_idct.c',
+ '<(libvpx_source)/vp9/common/vp9_idct.h',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.c',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.h',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.c',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.h',
+ '<(libvpx_source)/vp9/common/vp9_mv.h',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.c',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.h',
+ '<(libvpx_source)/vp9/common/vp9_onyxc_int.h',
+ '<(libvpx_source)/vp9/common/vp9_postproc.c',
+ '<(libvpx_source)/vp9/common/vp9_postproc.h',
+ '<(libvpx_source)/vp9/common/vp9_ppflags.h',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.c',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.h',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.c',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.h',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.c',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.h',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.c',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.h',
+ '<(libvpx_source)/vp9/common/vp9_rtcd.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.h',
+ '<(libvpx_source)/vp9/common/vp9_scan.c',
+ '<(libvpx_source)/vp9/common/vp9_scan.h',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.c',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.h',
+ '<(libvpx_source)/vp9/common/vp9_textblit.h',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.c',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.h',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.c',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.h',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.c',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.h',
+ '<(libvpx_source)/vp9/encoder/vp9_avg.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.h',
+ '<(libvpx_source)/vp9/encoder/vp9_block.h',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.c',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.h',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.c',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.h',
+ '<(libvpx_source)/vp9/encoder/vp9_dct.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.c',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.h',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.c',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.h',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.c',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.c',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.h',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.c',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.h',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.h',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.c',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.h',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.c',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.h',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.c',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.h',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.c',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.h',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.h',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.h',
+ '<(libvpx_source)/vp9/vp9_cx_iface.c',
+ '<(libvpx_source)/vp9/vp9_dx_iface.c',
+ '<(libvpx_source)/vp9/vp9_iface_common.h',
+ '<(libvpx_source)/vpx/internal/vpx_codec_internal.h',
+ '<(libvpx_source)/vpx/internal/vpx_psnr.h',
+ '<(libvpx_source)/vpx/src/vpx_codec.c',
+ '<(libvpx_source)/vpx/src/vpx_decoder.c',
+ '<(libvpx_source)/vpx/src/vpx_encoder.c',
+ '<(libvpx_source)/vpx/src/vpx_image.c',
+ '<(libvpx_source)/vpx/src/vpx_psnr.c',
+ '<(libvpx_source)/vpx/vp8.h',
+ '<(libvpx_source)/vpx/vp8cx.h',
+ '<(libvpx_source)/vpx/vp8dx.h',
+ '<(libvpx_source)/vpx/vpx_codec.h',
+ '<(libvpx_source)/vpx/vpx_decoder.h',
+ '<(libvpx_source)/vpx/vpx_encoder.h',
+ '<(libvpx_source)/vpx/vpx_frame_buffer.h',
+ '<(libvpx_source)/vpx/vpx_image.h',
+ '<(libvpx_source)/vpx/vpx_integer.h',
+ '<(libvpx_source)/vpx_dsp/arm/bilinear_filter_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/sad_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/subpel_variance_media.c',
+ '<(libvpx_source)/vpx_dsp/arm/variance_halfpixvar16x16_h_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/variance_halfpixvar16x16_hv_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/variance_halfpixvar16x16_v_media.asm',
+ '<(libvpx_source)/vpx_dsp/arm/variance_media.asm',
+ '<(libvpx_source)/vpx_dsp/bitreader.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.h',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.h',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.c',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.h',
+ '<(libvpx_source)/vpx_dsp/intrapred.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.h',
+ '<(libvpx_source)/vpx_dsp/loopfilter.c',
+ '<(libvpx_source)/vpx_dsp/prob.c',
+ '<(libvpx_source)/vpx_dsp/prob.h',
+ '<(libvpx_source)/vpx_dsp/quantize.c',
+ '<(libvpx_source)/vpx_dsp/quantize.h',
+ '<(libvpx_source)/vpx_dsp/sad.c',
+ '<(libvpx_source)/vpx_dsp/subtract.c',
+ '<(libvpx_source)/vpx_dsp/txfm_common.h',
+ '<(libvpx_source)/vpx_dsp/variance.c',
+ '<(libvpx_source)/vpx_dsp/variance.h',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.c',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_common.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_rtcd.c',
+ '<(libvpx_source)/vpx_dsp/vpx_filter.h',
+ '<(libvpx_source)/vpx_mem/include/vpx_mem_intrnl.h',
+ '<(libvpx_source)/vpx_mem/vpx_mem.c',
+ '<(libvpx_source)/vpx_mem/vpx_mem.h',
+ '<(libvpx_source)/vpx_ports/arm.h',
+ '<(libvpx_source)/vpx_ports/arm_cpudetect.c',
+ '<(libvpx_source)/vpx_ports/bitops.h',
+ '<(libvpx_source)/vpx_ports/emmintrin_compat.h',
+ '<(libvpx_source)/vpx_ports/mem.h',
+ '<(libvpx_source)/vpx_ports/mem_ops.h',
+ '<(libvpx_source)/vpx_ports/mem_ops_aligned.h',
+ '<(libvpx_source)/vpx_ports/msvc.h',
+ '<(libvpx_source)/vpx_ports/system_state.h',
+ '<(libvpx_source)/vpx_ports/vpx_once.h',
+ '<(libvpx_source)/vpx_ports/vpx_timer.h',
+ '<(libvpx_source)/vpx_scale/generic/gen_scalers.c',
+ '<(libvpx_source)/vpx_scale/generic/vpx_scale.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12config.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12extend.c',
+ '<(libvpx_source)/vpx_scale/vpx_scale.h',
+ '<(libvpx_source)/vpx_scale/vpx_scale_rtcd.c',
+ '<(libvpx_source)/vpx_scale/yv12config.h',
+ '<(libvpx_source)/vpx_util/endian_inl.h',
+ '<(libvpx_source)/vpx_util/vpx_thread.c',
+ '<(libvpx_source)/vpx_util/vpx_thread.h',
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_arm_neon_cpu_detect_intrinsics.gypi b/third_party/libvpx/libvpx_srcs_arm_neon_cpu_detect_intrinsics.gypi
new file mode 100644
index 0000000..6bc2b60
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_arm_neon_cpu_detect_intrinsics.gypi
@@ -0,0 +1,87 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'libvpx_intrinsics_neon',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp8/common/arm/neon/bilinearpredict_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/copymem_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/dc_only_idct_add_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/dequant_idct_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/dequantizeb_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/idct_blk_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/idct_dequant_0_2x_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/idct_dequant_full_2x_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/iwalsh_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/mbloopfilter_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/reconintra_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/shortidct4x4llm_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/sixtappredict_neon.c',
+ '<(libvpx_source)/vp8/common/arm/neon/vp8_loopfilter_neon.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/denoising_neon.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/fastquantizeb_neon.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/shortfdct_neon.c',
+ '<(libvpx_source)/vp8/encoder/arm/neon/vp8_shortwalsh4x4_neon.c',
+ '<(libvpx_source)/vp9/common/arm/neon/vp9_iht4x4_add_neon.c',
+ '<(libvpx_source)/vp9/common/arm/neon/vp9_iht8x8_add_neon.c',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_avg_neon.c',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_dct_neon.c',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_error_neon.c',
+ '<(libvpx_source)/vp9/encoder/arm/neon/vp9_quantize_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/fwd_txfm_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct16x16_1_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct16x16_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct16x16_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/idct32x32_1_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct32x32_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct4x4_1_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct4x4_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct8x8_1_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/idct8x8_add_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/intrapred_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/intrapred_neon_asm.asm',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_16_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_4_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_8_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_mb_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/loopfilter_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/sad4d_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/sad_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/save_reg_neon.asm',
+ '<(libvpx_source)/vpx_dsp/arm/subpel_variance_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/subtract_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/variance_neon.c',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve8_avg_neon_asm.asm',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve8_neon_asm.asm',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve_avg_neon_asm.asm',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve_copy_neon_asm.asm',
+ '<(libvpx_source)/vpx_dsp/arm/vpx_convolve_neon.c',
+ ],
+ 'includes': [ 'ads2gas.gypi' ],
+ 'cflags!': [ '-mfpu=vfpv3-d16' ],
+ 'conditions': [
+ # Disable GCC LTO in neon targets due to compiler bug
+ # crbug.com/408997
+ ['clang==0 and use_lto==1', {
+ 'cflags!': [
+ '-flto',
+ '-ffat-lto-objects',
+ ],
+ }],
+ ],
+ 'cflags': [ '-mfpu=neon', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-mfpu=neon' ] },
+ },
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_generic.gypi b/third_party/libvpx/libvpx_srcs_generic.gypi
new file mode 100644
index 0000000..fbfe3f7
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_generic.gypi
@@ -0,0 +1,327 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'sources': [
+ '<(libvpx_source)/vp8/common/alloccommon.c',
+ '<(libvpx_source)/vp8/common/alloccommon.h',
+ '<(libvpx_source)/vp8/common/blockd.c',
+ '<(libvpx_source)/vp8/common/blockd.h',
+ '<(libvpx_source)/vp8/common/coefupdateprobs.h',
+ '<(libvpx_source)/vp8/common/common.h',
+ '<(libvpx_source)/vp8/common/copy_c.c',
+ '<(libvpx_source)/vp8/common/debugmodes.c',
+ '<(libvpx_source)/vp8/common/default_coef_probs.h',
+ '<(libvpx_source)/vp8/common/dequantize.c',
+ '<(libvpx_source)/vp8/common/entropy.c',
+ '<(libvpx_source)/vp8/common/entropy.h',
+ '<(libvpx_source)/vp8/common/entropymode.c',
+ '<(libvpx_source)/vp8/common/entropymode.h',
+ '<(libvpx_source)/vp8/common/entropymv.c',
+ '<(libvpx_source)/vp8/common/entropymv.h',
+ '<(libvpx_source)/vp8/common/extend.c',
+ '<(libvpx_source)/vp8/common/extend.h',
+ '<(libvpx_source)/vp8/common/filter.c',
+ '<(libvpx_source)/vp8/common/filter.h',
+ '<(libvpx_source)/vp8/common/findnearmv.c',
+ '<(libvpx_source)/vp8/common/findnearmv.h',
+ '<(libvpx_source)/vp8/common/generic/systemdependent.c',
+ '<(libvpx_source)/vp8/common/header.h',
+ '<(libvpx_source)/vp8/common/idct_blk.c',
+ '<(libvpx_source)/vp8/common/idctllm.c',
+ '<(libvpx_source)/vp8/common/invtrans.h',
+ '<(libvpx_source)/vp8/common/loopfilter.h',
+ '<(libvpx_source)/vp8/common/loopfilter_filters.c',
+ '<(libvpx_source)/vp8/common/mbpitch.c',
+ '<(libvpx_source)/vp8/common/mfqe.c',
+ '<(libvpx_source)/vp8/common/modecont.c',
+ '<(libvpx_source)/vp8/common/modecont.h',
+ '<(libvpx_source)/vp8/common/mv.h',
+ '<(libvpx_source)/vp8/common/onyx.h',
+ '<(libvpx_source)/vp8/common/onyxc_int.h',
+ '<(libvpx_source)/vp8/common/onyxd.h',
+ '<(libvpx_source)/vp8/common/postproc.c',
+ '<(libvpx_source)/vp8/common/postproc.h',
+ '<(libvpx_source)/vp8/common/ppflags.h',
+ '<(libvpx_source)/vp8/common/quant_common.c',
+ '<(libvpx_source)/vp8/common/quant_common.h',
+ '<(libvpx_source)/vp8/common/reconinter.c',
+ '<(libvpx_source)/vp8/common/reconinter.h',
+ '<(libvpx_source)/vp8/common/reconintra.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.h',
+ '<(libvpx_source)/vp8/common/rtcd.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.h',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.c',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.h',
+ '<(libvpx_source)/vp8/common/systemdependent.h',
+ '<(libvpx_source)/vp8/common/threading.h',
+ '<(libvpx_source)/vp8/common/treecoder.c',
+ '<(libvpx_source)/vp8/common/treecoder.h',
+ '<(libvpx_source)/vp8/common/vp8_entropymodedata.h',
+ '<(libvpx_source)/vp8/common/vp8_loopfilter.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.h',
+ '<(libvpx_source)/vp8/decoder/decodeframe.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.h',
+ '<(libvpx_source)/vp8/decoder/decoderthreading.h',
+ '<(libvpx_source)/vp8/decoder/detokenize.c',
+ '<(libvpx_source)/vp8/decoder/detokenize.h',
+ '<(libvpx_source)/vp8/decoder/onyxd_if.c',
+ '<(libvpx_source)/vp8/decoder/onyxd_int.h',
+ '<(libvpx_source)/vp8/decoder/threading.c',
+ '<(libvpx_source)/vp8/decoder/treereader.h',
+ '<(libvpx_source)/vp8/encoder/bitstream.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.h',
+ '<(libvpx_source)/vp8/encoder/block.h',
+ '<(libvpx_source)/vp8/encoder/boolhuff.c',
+ '<(libvpx_source)/vp8/encoder/boolhuff.h',
+ '<(libvpx_source)/vp8/encoder/dct.c',
+ '<(libvpx_source)/vp8/encoder/dct_value_cost.h',
+ '<(libvpx_source)/vp8/encoder/dct_value_tokens.h',
+ '<(libvpx_source)/vp8/encoder/defaultcoefcounts.h',
+ '<(libvpx_source)/vp8/encoder/denoising.c',
+ '<(libvpx_source)/vp8/encoder/denoising.h',
+ '<(libvpx_source)/vp8/encoder/encodeframe.c',
+ '<(libvpx_source)/vp8/encoder/encodeframe.h',
+ '<(libvpx_source)/vp8/encoder/encodeintra.c',
+ '<(libvpx_source)/vp8/encoder/encodeintra.h',
+ '<(libvpx_source)/vp8/encoder/encodemb.c',
+ '<(libvpx_source)/vp8/encoder/encodemb.h',
+ '<(libvpx_source)/vp8/encoder/encodemv.c',
+ '<(libvpx_source)/vp8/encoder/encodemv.h',
+ '<(libvpx_source)/vp8/encoder/ethreading.c',
+ '<(libvpx_source)/vp8/encoder/firstpass.h',
+ '<(libvpx_source)/vp8/encoder/lookahead.c',
+ '<(libvpx_source)/vp8/encoder/lookahead.h',
+ '<(libvpx_source)/vp8/encoder/mcomp.c',
+ '<(libvpx_source)/vp8/encoder/mcomp.h',
+ '<(libvpx_source)/vp8/encoder/modecosts.c',
+ '<(libvpx_source)/vp8/encoder/modecosts.h',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.c',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.h',
+ '<(libvpx_source)/vp8/encoder/onyx_if.c',
+ '<(libvpx_source)/vp8/encoder/onyx_int.h',
+ '<(libvpx_source)/vp8/encoder/pickinter.c',
+ '<(libvpx_source)/vp8/encoder/pickinter.h',
+ '<(libvpx_source)/vp8/encoder/picklpf.c',
+ '<(libvpx_source)/vp8/encoder/quantize.h',
+ '<(libvpx_source)/vp8/encoder/ratectrl.c',
+ '<(libvpx_source)/vp8/encoder/ratectrl.h',
+ '<(libvpx_source)/vp8/encoder/rdopt.c',
+ '<(libvpx_source)/vp8/encoder/rdopt.h',
+ '<(libvpx_source)/vp8/encoder/segmentation.c',
+ '<(libvpx_source)/vp8/encoder/segmentation.h',
+ '<(libvpx_source)/vp8/encoder/tokenize.c',
+ '<(libvpx_source)/vp8/encoder/tokenize.h',
+ '<(libvpx_source)/vp8/encoder/treewriter.c',
+ '<(libvpx_source)/vp8/encoder/treewriter.h',
+ '<(libvpx_source)/vp8/encoder/vp8_quantize.c',
+ '<(libvpx_source)/vp8/vp8_cx_iface.c',
+ '<(libvpx_source)/vp8/vp8_dx_iface.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.h',
+ '<(libvpx_source)/vp9/common/vp9_blockd.c',
+ '<(libvpx_source)/vp9/common/vp9_blockd.h',
+ '<(libvpx_source)/vp9/common/vp9_common.h',
+ '<(libvpx_source)/vp9/common/vp9_common_data.c',
+ '<(libvpx_source)/vp9/common/vp9_common_data.h',
+ '<(libvpx_source)/vp9/common/vp9_debugmodes.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.h',
+ '<(libvpx_source)/vp9/common/vp9_enums.h',
+ '<(libvpx_source)/vp9/common/vp9_filter.c',
+ '<(libvpx_source)/vp9/common/vp9_filter.h',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.c',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.h',
+ '<(libvpx_source)/vp9/common/vp9_idct.c',
+ '<(libvpx_source)/vp9/common/vp9_idct.h',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.c',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.h',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.c',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.h',
+ '<(libvpx_source)/vp9/common/vp9_mv.h',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.c',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.h',
+ '<(libvpx_source)/vp9/common/vp9_onyxc_int.h',
+ '<(libvpx_source)/vp9/common/vp9_postproc.c',
+ '<(libvpx_source)/vp9/common/vp9_postproc.h',
+ '<(libvpx_source)/vp9/common/vp9_ppflags.h',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.c',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.h',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.c',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.h',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.c',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.h',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.c',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.h',
+ '<(libvpx_source)/vp9/common/vp9_rtcd.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.h',
+ '<(libvpx_source)/vp9/common/vp9_scan.c',
+ '<(libvpx_source)/vp9/common/vp9_scan.h',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.c',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.h',
+ '<(libvpx_source)/vp9/common/vp9_textblit.h',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.c',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.h',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.c',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.h',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.c',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.h',
+ '<(libvpx_source)/vp9/encoder/vp9_avg.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.h',
+ '<(libvpx_source)/vp9/encoder/vp9_block.h',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.c',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.h',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.c',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.h',
+ '<(libvpx_source)/vp9/encoder/vp9_dct.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.c',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.h',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.c',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.h',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.c',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.c',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.h',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.c',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.h',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.h',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.c',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.h',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.c',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.h',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.c',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.h',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.c',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.h',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.h',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.h',
+ '<(libvpx_source)/vp9/vp9_cx_iface.c',
+ '<(libvpx_source)/vp9/vp9_dx_iface.c',
+ '<(libvpx_source)/vp9/vp9_iface_common.h',
+ '<(libvpx_source)/vpx/internal/vpx_codec_internal.h',
+ '<(libvpx_source)/vpx/internal/vpx_psnr.h',
+ '<(libvpx_source)/vpx/src/vpx_codec.c',
+ '<(libvpx_source)/vpx/src/vpx_decoder.c',
+ '<(libvpx_source)/vpx/src/vpx_encoder.c',
+ '<(libvpx_source)/vpx/src/vpx_image.c',
+ '<(libvpx_source)/vpx/src/vpx_psnr.c',
+ '<(libvpx_source)/vpx/vp8.h',
+ '<(libvpx_source)/vpx/vp8cx.h',
+ '<(libvpx_source)/vpx/vp8dx.h',
+ '<(libvpx_source)/vpx/vpx_codec.h',
+ '<(libvpx_source)/vpx/vpx_decoder.h',
+ '<(libvpx_source)/vpx/vpx_encoder.h',
+ '<(libvpx_source)/vpx/vpx_frame_buffer.h',
+ '<(libvpx_source)/vpx/vpx_image.h',
+ '<(libvpx_source)/vpx/vpx_integer.h',
+ '<(libvpx_source)/vpx_dsp/bitreader.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.h',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.h',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.c',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.h',
+ '<(libvpx_source)/vpx_dsp/intrapred.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.h',
+ '<(libvpx_source)/vpx_dsp/loopfilter.c',
+ '<(libvpx_source)/vpx_dsp/prob.c',
+ '<(libvpx_source)/vpx_dsp/prob.h',
+ '<(libvpx_source)/vpx_dsp/quantize.c',
+ '<(libvpx_source)/vpx_dsp/quantize.h',
+ '<(libvpx_source)/vpx_dsp/sad.c',
+ '<(libvpx_source)/vpx_dsp/subtract.c',
+ '<(libvpx_source)/vpx_dsp/txfm_common.h',
+ '<(libvpx_source)/vpx_dsp/variance.c',
+ '<(libvpx_source)/vpx_dsp/variance.h',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.c',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_common.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_rtcd.c',
+ '<(libvpx_source)/vpx_dsp/vpx_filter.h',
+ '<(libvpx_source)/vpx_mem/include/vpx_mem_intrnl.h',
+ '<(libvpx_source)/vpx_mem/vpx_mem.c',
+ '<(libvpx_source)/vpx_mem/vpx_mem.h',
+ '<(libvpx_source)/vpx_ports/bitops.h',
+ '<(libvpx_source)/vpx_ports/emmintrin_compat.h',
+ '<(libvpx_source)/vpx_ports/mem.h',
+ '<(libvpx_source)/vpx_ports/mem_ops.h',
+ '<(libvpx_source)/vpx_ports/mem_ops_aligned.h',
+ '<(libvpx_source)/vpx_ports/msvc.h',
+ '<(libvpx_source)/vpx_ports/system_state.h',
+ '<(libvpx_source)/vpx_ports/vpx_once.h',
+ '<(libvpx_source)/vpx_ports/vpx_timer.h',
+ '<(libvpx_source)/vpx_scale/generic/gen_scalers.c',
+ '<(libvpx_source)/vpx_scale/generic/vpx_scale.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12config.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12extend.c',
+ '<(libvpx_source)/vpx_scale/vpx_scale.h',
+ '<(libvpx_source)/vpx_scale/vpx_scale_rtcd.c',
+ '<(libvpx_source)/vpx_scale/yv12config.h',
+ '<(libvpx_source)/vpx_util/endian_inl.h',
+ '<(libvpx_source)/vpx_util/vpx_thread.c',
+ '<(libvpx_source)/vpx_util/vpx_thread.h',
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_mips.gypi b/third_party/libvpx/libvpx_srcs_mips.gypi
new file mode 100644
index 0000000..6ec3373
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_mips.gypi
@@ -0,0 +1,329 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'sources': [
+ '<(libvpx_source)/vp8/common/alloccommon.c',
+ '<(libvpx_source)/vp8/common/alloccommon.h',
+ '<(libvpx_source)/vp8/common/blockd.c',
+ '<(libvpx_source)/vp8/common/blockd.h',
+ '<(libvpx_source)/vp8/common/coefupdateprobs.h',
+ '<(libvpx_source)/vp8/common/common.h',
+ '<(libvpx_source)/vp8/common/copy_c.c',
+ '<(libvpx_source)/vp8/common/debugmodes.c',
+ '<(libvpx_source)/vp8/common/default_coef_probs.h',
+ '<(libvpx_source)/vp8/common/dequantize.c',
+ '<(libvpx_source)/vp8/common/entropy.c',
+ '<(libvpx_source)/vp8/common/entropy.h',
+ '<(libvpx_source)/vp8/common/entropymode.c',
+ '<(libvpx_source)/vp8/common/entropymode.h',
+ '<(libvpx_source)/vp8/common/entropymv.c',
+ '<(libvpx_source)/vp8/common/entropymv.h',
+ '<(libvpx_source)/vp8/common/extend.c',
+ '<(libvpx_source)/vp8/common/extend.h',
+ '<(libvpx_source)/vp8/common/filter.c',
+ '<(libvpx_source)/vp8/common/filter.h',
+ '<(libvpx_source)/vp8/common/findnearmv.c',
+ '<(libvpx_source)/vp8/common/findnearmv.h',
+ '<(libvpx_source)/vp8/common/generic/systemdependent.c',
+ '<(libvpx_source)/vp8/common/header.h',
+ '<(libvpx_source)/vp8/common/idct_blk.c',
+ '<(libvpx_source)/vp8/common/idctllm.c',
+ '<(libvpx_source)/vp8/common/invtrans.h',
+ '<(libvpx_source)/vp8/common/loopfilter.h',
+ '<(libvpx_source)/vp8/common/loopfilter_filters.c',
+ '<(libvpx_source)/vp8/common/mbpitch.c',
+ '<(libvpx_source)/vp8/common/mfqe.c',
+ '<(libvpx_source)/vp8/common/modecont.c',
+ '<(libvpx_source)/vp8/common/modecont.h',
+ '<(libvpx_source)/vp8/common/mv.h',
+ '<(libvpx_source)/vp8/common/onyx.h',
+ '<(libvpx_source)/vp8/common/onyxc_int.h',
+ '<(libvpx_source)/vp8/common/onyxd.h',
+ '<(libvpx_source)/vp8/common/postproc.c',
+ '<(libvpx_source)/vp8/common/postproc.h',
+ '<(libvpx_source)/vp8/common/ppflags.h',
+ '<(libvpx_source)/vp8/common/quant_common.c',
+ '<(libvpx_source)/vp8/common/quant_common.h',
+ '<(libvpx_source)/vp8/common/reconinter.c',
+ '<(libvpx_source)/vp8/common/reconinter.h',
+ '<(libvpx_source)/vp8/common/reconintra.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.h',
+ '<(libvpx_source)/vp8/common/rtcd.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.h',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.c',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.h',
+ '<(libvpx_source)/vp8/common/systemdependent.h',
+ '<(libvpx_source)/vp8/common/threading.h',
+ '<(libvpx_source)/vp8/common/treecoder.c',
+ '<(libvpx_source)/vp8/common/treecoder.h',
+ '<(libvpx_source)/vp8/common/vp8_entropymodedata.h',
+ '<(libvpx_source)/vp8/common/vp8_loopfilter.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.h',
+ '<(libvpx_source)/vp8/decoder/decodeframe.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.h',
+ '<(libvpx_source)/vp8/decoder/decoderthreading.h',
+ '<(libvpx_source)/vp8/decoder/detokenize.c',
+ '<(libvpx_source)/vp8/decoder/detokenize.h',
+ '<(libvpx_source)/vp8/decoder/onyxd_if.c',
+ '<(libvpx_source)/vp8/decoder/onyxd_int.h',
+ '<(libvpx_source)/vp8/decoder/threading.c',
+ '<(libvpx_source)/vp8/decoder/treereader.h',
+ '<(libvpx_source)/vp8/encoder/bitstream.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.h',
+ '<(libvpx_source)/vp8/encoder/block.h',
+ '<(libvpx_source)/vp8/encoder/boolhuff.c',
+ '<(libvpx_source)/vp8/encoder/boolhuff.h',
+ '<(libvpx_source)/vp8/encoder/dct.c',
+ '<(libvpx_source)/vp8/encoder/dct_value_cost.h',
+ '<(libvpx_source)/vp8/encoder/dct_value_tokens.h',
+ '<(libvpx_source)/vp8/encoder/defaultcoefcounts.h',
+ '<(libvpx_source)/vp8/encoder/denoising.c',
+ '<(libvpx_source)/vp8/encoder/denoising.h',
+ '<(libvpx_source)/vp8/encoder/encodeframe.c',
+ '<(libvpx_source)/vp8/encoder/encodeframe.h',
+ '<(libvpx_source)/vp8/encoder/encodeintra.c',
+ '<(libvpx_source)/vp8/encoder/encodeintra.h',
+ '<(libvpx_source)/vp8/encoder/encodemb.c',
+ '<(libvpx_source)/vp8/encoder/encodemb.h',
+ '<(libvpx_source)/vp8/encoder/encodemv.c',
+ '<(libvpx_source)/vp8/encoder/encodemv.h',
+ '<(libvpx_source)/vp8/encoder/ethreading.c',
+ '<(libvpx_source)/vp8/encoder/firstpass.c',
+ '<(libvpx_source)/vp8/encoder/firstpass.h',
+ '<(libvpx_source)/vp8/encoder/lookahead.c',
+ '<(libvpx_source)/vp8/encoder/lookahead.h',
+ '<(libvpx_source)/vp8/encoder/mcomp.c',
+ '<(libvpx_source)/vp8/encoder/mcomp.h',
+ '<(libvpx_source)/vp8/encoder/modecosts.c',
+ '<(libvpx_source)/vp8/encoder/modecosts.h',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.c',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.h',
+ '<(libvpx_source)/vp8/encoder/onyx_if.c',
+ '<(libvpx_source)/vp8/encoder/onyx_int.h',
+ '<(libvpx_source)/vp8/encoder/pickinter.c',
+ '<(libvpx_source)/vp8/encoder/pickinter.h',
+ '<(libvpx_source)/vp8/encoder/picklpf.c',
+ '<(libvpx_source)/vp8/encoder/quantize.h',
+ '<(libvpx_source)/vp8/encoder/ratectrl.c',
+ '<(libvpx_source)/vp8/encoder/ratectrl.h',
+ '<(libvpx_source)/vp8/encoder/rdopt.c',
+ '<(libvpx_source)/vp8/encoder/rdopt.h',
+ '<(libvpx_source)/vp8/encoder/segmentation.c',
+ '<(libvpx_source)/vp8/encoder/segmentation.h',
+ '<(libvpx_source)/vp8/encoder/temporal_filter.c',
+ '<(libvpx_source)/vp8/encoder/tokenize.c',
+ '<(libvpx_source)/vp8/encoder/tokenize.h',
+ '<(libvpx_source)/vp8/encoder/treewriter.c',
+ '<(libvpx_source)/vp8/encoder/treewriter.h',
+ '<(libvpx_source)/vp8/encoder/vp8_quantize.c',
+ '<(libvpx_source)/vp8/vp8_cx_iface.c',
+ '<(libvpx_source)/vp8/vp8_dx_iface.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.h',
+ '<(libvpx_source)/vp9/common/vp9_blockd.c',
+ '<(libvpx_source)/vp9/common/vp9_blockd.h',
+ '<(libvpx_source)/vp9/common/vp9_common.h',
+ '<(libvpx_source)/vp9/common/vp9_common_data.c',
+ '<(libvpx_source)/vp9/common/vp9_common_data.h',
+ '<(libvpx_source)/vp9/common/vp9_debugmodes.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.h',
+ '<(libvpx_source)/vp9/common/vp9_enums.h',
+ '<(libvpx_source)/vp9/common/vp9_filter.c',
+ '<(libvpx_source)/vp9/common/vp9_filter.h',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.c',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.h',
+ '<(libvpx_source)/vp9/common/vp9_idct.c',
+ '<(libvpx_source)/vp9/common/vp9_idct.h',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.c',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.h',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.c',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.h',
+ '<(libvpx_source)/vp9/common/vp9_mv.h',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.c',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.h',
+ '<(libvpx_source)/vp9/common/vp9_onyxc_int.h',
+ '<(libvpx_source)/vp9/common/vp9_postproc.c',
+ '<(libvpx_source)/vp9/common/vp9_postproc.h',
+ '<(libvpx_source)/vp9/common/vp9_ppflags.h',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.c',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.h',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.c',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.h',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.c',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.h',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.c',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.h',
+ '<(libvpx_source)/vp9/common/vp9_rtcd.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.h',
+ '<(libvpx_source)/vp9/common/vp9_scan.c',
+ '<(libvpx_source)/vp9/common/vp9_scan.h',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.c',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.h',
+ '<(libvpx_source)/vp9/common/vp9_textblit.h',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.c',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.h',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.c',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.h',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.c',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.h',
+ '<(libvpx_source)/vp9/encoder/vp9_avg.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.h',
+ '<(libvpx_source)/vp9/encoder/vp9_block.h',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.c',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.h',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.c',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.h',
+ '<(libvpx_source)/vp9/encoder/vp9_dct.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.c',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.h',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.c',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.h',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.c',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.c',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.h',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.c',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.h',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.h',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.c',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.h',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.c',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.h',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.c',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.h',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.c',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.h',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.h',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.h',
+ '<(libvpx_source)/vp9/vp9_cx_iface.c',
+ '<(libvpx_source)/vp9/vp9_dx_iface.c',
+ '<(libvpx_source)/vp9/vp9_iface_common.h',
+ '<(libvpx_source)/vpx/internal/vpx_codec_internal.h',
+ '<(libvpx_source)/vpx/internal/vpx_psnr.h',
+ '<(libvpx_source)/vpx/src/vpx_codec.c',
+ '<(libvpx_source)/vpx/src/vpx_decoder.c',
+ '<(libvpx_source)/vpx/src/vpx_encoder.c',
+ '<(libvpx_source)/vpx/src/vpx_image.c',
+ '<(libvpx_source)/vpx/src/vpx_psnr.c',
+ '<(libvpx_source)/vpx/vp8.h',
+ '<(libvpx_source)/vpx/vp8cx.h',
+ '<(libvpx_source)/vpx/vp8dx.h',
+ '<(libvpx_source)/vpx/vpx_codec.h',
+ '<(libvpx_source)/vpx/vpx_decoder.h',
+ '<(libvpx_source)/vpx/vpx_encoder.h',
+ '<(libvpx_source)/vpx/vpx_frame_buffer.h',
+ '<(libvpx_source)/vpx/vpx_image.h',
+ '<(libvpx_source)/vpx/vpx_integer.h',
+ '<(libvpx_source)/vpx_dsp/bitreader.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.h',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.h',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.c',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.h',
+ '<(libvpx_source)/vpx_dsp/intrapred.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.h',
+ '<(libvpx_source)/vpx_dsp/loopfilter.c',
+ '<(libvpx_source)/vpx_dsp/prob.c',
+ '<(libvpx_source)/vpx_dsp/prob.h',
+ '<(libvpx_source)/vpx_dsp/quantize.c',
+ '<(libvpx_source)/vpx_dsp/quantize.h',
+ '<(libvpx_source)/vpx_dsp/sad.c',
+ '<(libvpx_source)/vpx_dsp/subtract.c',
+ '<(libvpx_source)/vpx_dsp/txfm_common.h',
+ '<(libvpx_source)/vpx_dsp/variance.c',
+ '<(libvpx_source)/vpx_dsp/variance.h',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.c',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_common.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_rtcd.c',
+ '<(libvpx_source)/vpx_dsp/vpx_filter.h',
+ '<(libvpx_source)/vpx_mem/include/vpx_mem_intrnl.h',
+ '<(libvpx_source)/vpx_mem/vpx_mem.c',
+ '<(libvpx_source)/vpx_mem/vpx_mem.h',
+ '<(libvpx_source)/vpx_ports/bitops.h',
+ '<(libvpx_source)/vpx_ports/emmintrin_compat.h',
+ '<(libvpx_source)/vpx_ports/mem.h',
+ '<(libvpx_source)/vpx_ports/mem_ops.h',
+ '<(libvpx_source)/vpx_ports/mem_ops_aligned.h',
+ '<(libvpx_source)/vpx_ports/msvc.h',
+ '<(libvpx_source)/vpx_ports/system_state.h',
+ '<(libvpx_source)/vpx_ports/vpx_once.h',
+ '<(libvpx_source)/vpx_ports/vpx_timer.h',
+ '<(libvpx_source)/vpx_scale/generic/gen_scalers.c',
+ '<(libvpx_source)/vpx_scale/generic/vpx_scale.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12config.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12extend.c',
+ '<(libvpx_source)/vpx_scale/vpx_scale.h',
+ '<(libvpx_source)/vpx_scale/vpx_scale_rtcd.c',
+ '<(libvpx_source)/vpx_scale/yv12config.h',
+ '<(libvpx_source)/vpx_util/endian_inl.h',
+ '<(libvpx_source)/vpx_util/vpx_thread.c',
+ '<(libvpx_source)/vpx_util/vpx_thread.h',
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_nacl.gypi b/third_party/libvpx/libvpx_srcs_nacl.gypi
new file mode 100644
index 0000000..fbfe3f7
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_nacl.gypi
@@ -0,0 +1,327 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'sources': [
+ '<(libvpx_source)/vp8/common/alloccommon.c',
+ '<(libvpx_source)/vp8/common/alloccommon.h',
+ '<(libvpx_source)/vp8/common/blockd.c',
+ '<(libvpx_source)/vp8/common/blockd.h',
+ '<(libvpx_source)/vp8/common/coefupdateprobs.h',
+ '<(libvpx_source)/vp8/common/common.h',
+ '<(libvpx_source)/vp8/common/copy_c.c',
+ '<(libvpx_source)/vp8/common/debugmodes.c',
+ '<(libvpx_source)/vp8/common/default_coef_probs.h',
+ '<(libvpx_source)/vp8/common/dequantize.c',
+ '<(libvpx_source)/vp8/common/entropy.c',
+ '<(libvpx_source)/vp8/common/entropy.h',
+ '<(libvpx_source)/vp8/common/entropymode.c',
+ '<(libvpx_source)/vp8/common/entropymode.h',
+ '<(libvpx_source)/vp8/common/entropymv.c',
+ '<(libvpx_source)/vp8/common/entropymv.h',
+ '<(libvpx_source)/vp8/common/extend.c',
+ '<(libvpx_source)/vp8/common/extend.h',
+ '<(libvpx_source)/vp8/common/filter.c',
+ '<(libvpx_source)/vp8/common/filter.h',
+ '<(libvpx_source)/vp8/common/findnearmv.c',
+ '<(libvpx_source)/vp8/common/findnearmv.h',
+ '<(libvpx_source)/vp8/common/generic/systemdependent.c',
+ '<(libvpx_source)/vp8/common/header.h',
+ '<(libvpx_source)/vp8/common/idct_blk.c',
+ '<(libvpx_source)/vp8/common/idctllm.c',
+ '<(libvpx_source)/vp8/common/invtrans.h',
+ '<(libvpx_source)/vp8/common/loopfilter.h',
+ '<(libvpx_source)/vp8/common/loopfilter_filters.c',
+ '<(libvpx_source)/vp8/common/mbpitch.c',
+ '<(libvpx_source)/vp8/common/mfqe.c',
+ '<(libvpx_source)/vp8/common/modecont.c',
+ '<(libvpx_source)/vp8/common/modecont.h',
+ '<(libvpx_source)/vp8/common/mv.h',
+ '<(libvpx_source)/vp8/common/onyx.h',
+ '<(libvpx_source)/vp8/common/onyxc_int.h',
+ '<(libvpx_source)/vp8/common/onyxd.h',
+ '<(libvpx_source)/vp8/common/postproc.c',
+ '<(libvpx_source)/vp8/common/postproc.h',
+ '<(libvpx_source)/vp8/common/ppflags.h',
+ '<(libvpx_source)/vp8/common/quant_common.c',
+ '<(libvpx_source)/vp8/common/quant_common.h',
+ '<(libvpx_source)/vp8/common/reconinter.c',
+ '<(libvpx_source)/vp8/common/reconinter.h',
+ '<(libvpx_source)/vp8/common/reconintra.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.h',
+ '<(libvpx_source)/vp8/common/rtcd.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.h',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.c',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.h',
+ '<(libvpx_source)/vp8/common/systemdependent.h',
+ '<(libvpx_source)/vp8/common/threading.h',
+ '<(libvpx_source)/vp8/common/treecoder.c',
+ '<(libvpx_source)/vp8/common/treecoder.h',
+ '<(libvpx_source)/vp8/common/vp8_entropymodedata.h',
+ '<(libvpx_source)/vp8/common/vp8_loopfilter.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.h',
+ '<(libvpx_source)/vp8/decoder/decodeframe.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.h',
+ '<(libvpx_source)/vp8/decoder/decoderthreading.h',
+ '<(libvpx_source)/vp8/decoder/detokenize.c',
+ '<(libvpx_source)/vp8/decoder/detokenize.h',
+ '<(libvpx_source)/vp8/decoder/onyxd_if.c',
+ '<(libvpx_source)/vp8/decoder/onyxd_int.h',
+ '<(libvpx_source)/vp8/decoder/threading.c',
+ '<(libvpx_source)/vp8/decoder/treereader.h',
+ '<(libvpx_source)/vp8/encoder/bitstream.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.h',
+ '<(libvpx_source)/vp8/encoder/block.h',
+ '<(libvpx_source)/vp8/encoder/boolhuff.c',
+ '<(libvpx_source)/vp8/encoder/boolhuff.h',
+ '<(libvpx_source)/vp8/encoder/dct.c',
+ '<(libvpx_source)/vp8/encoder/dct_value_cost.h',
+ '<(libvpx_source)/vp8/encoder/dct_value_tokens.h',
+ '<(libvpx_source)/vp8/encoder/defaultcoefcounts.h',
+ '<(libvpx_source)/vp8/encoder/denoising.c',
+ '<(libvpx_source)/vp8/encoder/denoising.h',
+ '<(libvpx_source)/vp8/encoder/encodeframe.c',
+ '<(libvpx_source)/vp8/encoder/encodeframe.h',
+ '<(libvpx_source)/vp8/encoder/encodeintra.c',
+ '<(libvpx_source)/vp8/encoder/encodeintra.h',
+ '<(libvpx_source)/vp8/encoder/encodemb.c',
+ '<(libvpx_source)/vp8/encoder/encodemb.h',
+ '<(libvpx_source)/vp8/encoder/encodemv.c',
+ '<(libvpx_source)/vp8/encoder/encodemv.h',
+ '<(libvpx_source)/vp8/encoder/ethreading.c',
+ '<(libvpx_source)/vp8/encoder/firstpass.h',
+ '<(libvpx_source)/vp8/encoder/lookahead.c',
+ '<(libvpx_source)/vp8/encoder/lookahead.h',
+ '<(libvpx_source)/vp8/encoder/mcomp.c',
+ '<(libvpx_source)/vp8/encoder/mcomp.h',
+ '<(libvpx_source)/vp8/encoder/modecosts.c',
+ '<(libvpx_source)/vp8/encoder/modecosts.h',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.c',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.h',
+ '<(libvpx_source)/vp8/encoder/onyx_if.c',
+ '<(libvpx_source)/vp8/encoder/onyx_int.h',
+ '<(libvpx_source)/vp8/encoder/pickinter.c',
+ '<(libvpx_source)/vp8/encoder/pickinter.h',
+ '<(libvpx_source)/vp8/encoder/picklpf.c',
+ '<(libvpx_source)/vp8/encoder/quantize.h',
+ '<(libvpx_source)/vp8/encoder/ratectrl.c',
+ '<(libvpx_source)/vp8/encoder/ratectrl.h',
+ '<(libvpx_source)/vp8/encoder/rdopt.c',
+ '<(libvpx_source)/vp8/encoder/rdopt.h',
+ '<(libvpx_source)/vp8/encoder/segmentation.c',
+ '<(libvpx_source)/vp8/encoder/segmentation.h',
+ '<(libvpx_source)/vp8/encoder/tokenize.c',
+ '<(libvpx_source)/vp8/encoder/tokenize.h',
+ '<(libvpx_source)/vp8/encoder/treewriter.c',
+ '<(libvpx_source)/vp8/encoder/treewriter.h',
+ '<(libvpx_source)/vp8/encoder/vp8_quantize.c',
+ '<(libvpx_source)/vp8/vp8_cx_iface.c',
+ '<(libvpx_source)/vp8/vp8_dx_iface.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.h',
+ '<(libvpx_source)/vp9/common/vp9_blockd.c',
+ '<(libvpx_source)/vp9/common/vp9_blockd.h',
+ '<(libvpx_source)/vp9/common/vp9_common.h',
+ '<(libvpx_source)/vp9/common/vp9_common_data.c',
+ '<(libvpx_source)/vp9/common/vp9_common_data.h',
+ '<(libvpx_source)/vp9/common/vp9_debugmodes.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.h',
+ '<(libvpx_source)/vp9/common/vp9_enums.h',
+ '<(libvpx_source)/vp9/common/vp9_filter.c',
+ '<(libvpx_source)/vp9/common/vp9_filter.h',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.c',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.h',
+ '<(libvpx_source)/vp9/common/vp9_idct.c',
+ '<(libvpx_source)/vp9/common/vp9_idct.h',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.c',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.h',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.c',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.h',
+ '<(libvpx_source)/vp9/common/vp9_mv.h',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.c',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.h',
+ '<(libvpx_source)/vp9/common/vp9_onyxc_int.h',
+ '<(libvpx_source)/vp9/common/vp9_postproc.c',
+ '<(libvpx_source)/vp9/common/vp9_postproc.h',
+ '<(libvpx_source)/vp9/common/vp9_ppflags.h',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.c',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.h',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.c',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.h',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.c',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.h',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.c',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.h',
+ '<(libvpx_source)/vp9/common/vp9_rtcd.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.h',
+ '<(libvpx_source)/vp9/common/vp9_scan.c',
+ '<(libvpx_source)/vp9/common/vp9_scan.h',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.c',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.h',
+ '<(libvpx_source)/vp9/common/vp9_textblit.h',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.c',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.h',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.c',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.h',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.c',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.h',
+ '<(libvpx_source)/vp9/encoder/vp9_avg.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.h',
+ '<(libvpx_source)/vp9/encoder/vp9_block.h',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.c',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.h',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.c',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.h',
+ '<(libvpx_source)/vp9/encoder/vp9_dct.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.c',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.h',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.c',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.h',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.c',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.c',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.h',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.c',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.h',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.h',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.c',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.h',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.c',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.h',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.c',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.h',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.c',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.h',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.h',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.h',
+ '<(libvpx_source)/vp9/vp9_cx_iface.c',
+ '<(libvpx_source)/vp9/vp9_dx_iface.c',
+ '<(libvpx_source)/vp9/vp9_iface_common.h',
+ '<(libvpx_source)/vpx/internal/vpx_codec_internal.h',
+ '<(libvpx_source)/vpx/internal/vpx_psnr.h',
+ '<(libvpx_source)/vpx/src/vpx_codec.c',
+ '<(libvpx_source)/vpx/src/vpx_decoder.c',
+ '<(libvpx_source)/vpx/src/vpx_encoder.c',
+ '<(libvpx_source)/vpx/src/vpx_image.c',
+ '<(libvpx_source)/vpx/src/vpx_psnr.c',
+ '<(libvpx_source)/vpx/vp8.h',
+ '<(libvpx_source)/vpx/vp8cx.h',
+ '<(libvpx_source)/vpx/vp8dx.h',
+ '<(libvpx_source)/vpx/vpx_codec.h',
+ '<(libvpx_source)/vpx/vpx_decoder.h',
+ '<(libvpx_source)/vpx/vpx_encoder.h',
+ '<(libvpx_source)/vpx/vpx_frame_buffer.h',
+ '<(libvpx_source)/vpx/vpx_image.h',
+ '<(libvpx_source)/vpx/vpx_integer.h',
+ '<(libvpx_source)/vpx_dsp/bitreader.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.h',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.h',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.c',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.h',
+ '<(libvpx_source)/vpx_dsp/intrapred.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.h',
+ '<(libvpx_source)/vpx_dsp/loopfilter.c',
+ '<(libvpx_source)/vpx_dsp/prob.c',
+ '<(libvpx_source)/vpx_dsp/prob.h',
+ '<(libvpx_source)/vpx_dsp/quantize.c',
+ '<(libvpx_source)/vpx_dsp/quantize.h',
+ '<(libvpx_source)/vpx_dsp/sad.c',
+ '<(libvpx_source)/vpx_dsp/subtract.c',
+ '<(libvpx_source)/vpx_dsp/txfm_common.h',
+ '<(libvpx_source)/vpx_dsp/variance.c',
+ '<(libvpx_source)/vpx_dsp/variance.h',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.c',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_common.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_rtcd.c',
+ '<(libvpx_source)/vpx_dsp/vpx_filter.h',
+ '<(libvpx_source)/vpx_mem/include/vpx_mem_intrnl.h',
+ '<(libvpx_source)/vpx_mem/vpx_mem.c',
+ '<(libvpx_source)/vpx_mem/vpx_mem.h',
+ '<(libvpx_source)/vpx_ports/bitops.h',
+ '<(libvpx_source)/vpx_ports/emmintrin_compat.h',
+ '<(libvpx_source)/vpx_ports/mem.h',
+ '<(libvpx_source)/vpx_ports/mem_ops.h',
+ '<(libvpx_source)/vpx_ports/mem_ops_aligned.h',
+ '<(libvpx_source)/vpx_ports/msvc.h',
+ '<(libvpx_source)/vpx_ports/system_state.h',
+ '<(libvpx_source)/vpx_ports/vpx_once.h',
+ '<(libvpx_source)/vpx_ports/vpx_timer.h',
+ '<(libvpx_source)/vpx_scale/generic/gen_scalers.c',
+ '<(libvpx_source)/vpx_scale/generic/vpx_scale.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12config.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12extend.c',
+ '<(libvpx_source)/vpx_scale/vpx_scale.h',
+ '<(libvpx_source)/vpx_scale/vpx_scale_rtcd.c',
+ '<(libvpx_source)/vpx_scale/yv12config.h',
+ '<(libvpx_source)/vpx_util/endian_inl.h',
+ '<(libvpx_source)/vpx_util/vpx_thread.c',
+ '<(libvpx_source)/vpx_util/vpx_thread.h',
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_x86.gypi b/third_party/libvpx/libvpx_srcs_x86.gypi
new file mode 100644
index 0000000..ffd6280
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_x86.gypi
@@ -0,0 +1,388 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'sources': [
+ '<(libvpx_source)/vp8/common/alloccommon.c',
+ '<(libvpx_source)/vp8/common/alloccommon.h',
+ '<(libvpx_source)/vp8/common/blockd.c',
+ '<(libvpx_source)/vp8/common/blockd.h',
+ '<(libvpx_source)/vp8/common/coefupdateprobs.h',
+ '<(libvpx_source)/vp8/common/common.h',
+ '<(libvpx_source)/vp8/common/copy_c.c',
+ '<(libvpx_source)/vp8/common/debugmodes.c',
+ '<(libvpx_source)/vp8/common/default_coef_probs.h',
+ '<(libvpx_source)/vp8/common/dequantize.c',
+ '<(libvpx_source)/vp8/common/entropy.c',
+ '<(libvpx_source)/vp8/common/entropy.h',
+ '<(libvpx_source)/vp8/common/entropymode.c',
+ '<(libvpx_source)/vp8/common/entropymode.h',
+ '<(libvpx_source)/vp8/common/entropymv.c',
+ '<(libvpx_source)/vp8/common/entropymv.h',
+ '<(libvpx_source)/vp8/common/extend.c',
+ '<(libvpx_source)/vp8/common/extend.h',
+ '<(libvpx_source)/vp8/common/filter.c',
+ '<(libvpx_source)/vp8/common/filter.h',
+ '<(libvpx_source)/vp8/common/findnearmv.c',
+ '<(libvpx_source)/vp8/common/findnearmv.h',
+ '<(libvpx_source)/vp8/common/generic/systemdependent.c',
+ '<(libvpx_source)/vp8/common/header.h',
+ '<(libvpx_source)/vp8/common/idct_blk.c',
+ '<(libvpx_source)/vp8/common/idctllm.c',
+ '<(libvpx_source)/vp8/common/invtrans.h',
+ '<(libvpx_source)/vp8/common/loopfilter.h',
+ '<(libvpx_source)/vp8/common/loopfilter_filters.c',
+ '<(libvpx_source)/vp8/common/mbpitch.c',
+ '<(libvpx_source)/vp8/common/mfqe.c',
+ '<(libvpx_source)/vp8/common/modecont.c',
+ '<(libvpx_source)/vp8/common/modecont.h',
+ '<(libvpx_source)/vp8/common/mv.h',
+ '<(libvpx_source)/vp8/common/onyx.h',
+ '<(libvpx_source)/vp8/common/onyxc_int.h',
+ '<(libvpx_source)/vp8/common/onyxd.h',
+ '<(libvpx_source)/vp8/common/postproc.c',
+ '<(libvpx_source)/vp8/common/postproc.h',
+ '<(libvpx_source)/vp8/common/ppflags.h',
+ '<(libvpx_source)/vp8/common/quant_common.c',
+ '<(libvpx_source)/vp8/common/quant_common.h',
+ '<(libvpx_source)/vp8/common/reconinter.c',
+ '<(libvpx_source)/vp8/common/reconinter.h',
+ '<(libvpx_source)/vp8/common/reconintra.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.h',
+ '<(libvpx_source)/vp8/common/rtcd.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.h',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.c',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.h',
+ '<(libvpx_source)/vp8/common/systemdependent.h',
+ '<(libvpx_source)/vp8/common/threading.h',
+ '<(libvpx_source)/vp8/common/treecoder.c',
+ '<(libvpx_source)/vp8/common/treecoder.h',
+ '<(libvpx_source)/vp8/common/vp8_entropymodedata.h',
+ '<(libvpx_source)/vp8/common/vp8_loopfilter.c',
+ '<(libvpx_source)/vp8/common/x86/copy_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/copy_sse3.asm',
+ '<(libvpx_source)/vp8/common/x86/dequantize_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/filter_x86.c',
+ '<(libvpx_source)/vp8/common/x86/filter_x86.h',
+ '<(libvpx_source)/vp8/common/x86/idctllm_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/idctllm_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/iwalsh_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/iwalsh_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/loopfilter_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/loopfilter_x86.c',
+ '<(libvpx_source)/vp8/common/x86/mfqe_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/postproc_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/postproc_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/recon_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/recon_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/subpixel_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/subpixel_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/subpixel_ssse3.asm',
+ '<(libvpx_source)/vp8/common/x86/vp8_asm_stubs.c',
+ '<(libvpx_source)/vp8/common/x86/vp8_loopfilter_mmx.asm',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.h',
+ '<(libvpx_source)/vp8/decoder/decodeframe.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.h',
+ '<(libvpx_source)/vp8/decoder/decoderthreading.h',
+ '<(libvpx_source)/vp8/decoder/detokenize.c',
+ '<(libvpx_source)/vp8/decoder/detokenize.h',
+ '<(libvpx_source)/vp8/decoder/onyxd_if.c',
+ '<(libvpx_source)/vp8/decoder/onyxd_int.h',
+ '<(libvpx_source)/vp8/decoder/threading.c',
+ '<(libvpx_source)/vp8/decoder/treereader.h',
+ '<(libvpx_source)/vp8/encoder/bitstream.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.h',
+ '<(libvpx_source)/vp8/encoder/block.h',
+ '<(libvpx_source)/vp8/encoder/boolhuff.c',
+ '<(libvpx_source)/vp8/encoder/boolhuff.h',
+ '<(libvpx_source)/vp8/encoder/dct.c',
+ '<(libvpx_source)/vp8/encoder/dct_value_cost.h',
+ '<(libvpx_source)/vp8/encoder/dct_value_tokens.h',
+ '<(libvpx_source)/vp8/encoder/defaultcoefcounts.h',
+ '<(libvpx_source)/vp8/encoder/denoising.c',
+ '<(libvpx_source)/vp8/encoder/denoising.h',
+ '<(libvpx_source)/vp8/encoder/encodeframe.c',
+ '<(libvpx_source)/vp8/encoder/encodeframe.h',
+ '<(libvpx_source)/vp8/encoder/encodeintra.c',
+ '<(libvpx_source)/vp8/encoder/encodeintra.h',
+ '<(libvpx_source)/vp8/encoder/encodemb.c',
+ '<(libvpx_source)/vp8/encoder/encodemb.h',
+ '<(libvpx_source)/vp8/encoder/encodemv.c',
+ '<(libvpx_source)/vp8/encoder/encodemv.h',
+ '<(libvpx_source)/vp8/encoder/ethreading.c',
+ '<(libvpx_source)/vp8/encoder/firstpass.h',
+ '<(libvpx_source)/vp8/encoder/lookahead.c',
+ '<(libvpx_source)/vp8/encoder/lookahead.h',
+ '<(libvpx_source)/vp8/encoder/mcomp.c',
+ '<(libvpx_source)/vp8/encoder/mcomp.h',
+ '<(libvpx_source)/vp8/encoder/modecosts.c',
+ '<(libvpx_source)/vp8/encoder/modecosts.h',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.c',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.h',
+ '<(libvpx_source)/vp8/encoder/onyx_if.c',
+ '<(libvpx_source)/vp8/encoder/onyx_int.h',
+ '<(libvpx_source)/vp8/encoder/pickinter.c',
+ '<(libvpx_source)/vp8/encoder/pickinter.h',
+ '<(libvpx_source)/vp8/encoder/picklpf.c',
+ '<(libvpx_source)/vp8/encoder/quantize.h',
+ '<(libvpx_source)/vp8/encoder/ratectrl.c',
+ '<(libvpx_source)/vp8/encoder/ratectrl.h',
+ '<(libvpx_source)/vp8/encoder/rdopt.c',
+ '<(libvpx_source)/vp8/encoder/rdopt.h',
+ '<(libvpx_source)/vp8/encoder/segmentation.c',
+ '<(libvpx_source)/vp8/encoder/segmentation.h',
+ '<(libvpx_source)/vp8/encoder/tokenize.c',
+ '<(libvpx_source)/vp8/encoder/tokenize.h',
+ '<(libvpx_source)/vp8/encoder/treewriter.c',
+ '<(libvpx_source)/vp8/encoder/treewriter.h',
+ '<(libvpx_source)/vp8/encoder/vp8_quantize.c',
+ '<(libvpx_source)/vp8/encoder/x86/dct_mmx.asm',
+ '<(libvpx_source)/vp8/encoder/x86/dct_sse2.asm',
+ '<(libvpx_source)/vp8/encoder/x86/encodeopt.asm',
+ '<(libvpx_source)/vp8/encoder/x86/fwalsh_sse2.asm',
+ '<(libvpx_source)/vp8/encoder/x86/quantize_mmx.asm',
+ '<(libvpx_source)/vp8/vp8_cx_iface.c',
+ '<(libvpx_source)/vp8/vp8_dx_iface.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.h',
+ '<(libvpx_source)/vp9/common/vp9_blockd.c',
+ '<(libvpx_source)/vp9/common/vp9_blockd.h',
+ '<(libvpx_source)/vp9/common/vp9_common.h',
+ '<(libvpx_source)/vp9/common/vp9_common_data.c',
+ '<(libvpx_source)/vp9/common/vp9_common_data.h',
+ '<(libvpx_source)/vp9/common/vp9_debugmodes.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.h',
+ '<(libvpx_source)/vp9/common/vp9_enums.h',
+ '<(libvpx_source)/vp9/common/vp9_filter.c',
+ '<(libvpx_source)/vp9/common/vp9_filter.h',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.c',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.h',
+ '<(libvpx_source)/vp9/common/vp9_idct.c',
+ '<(libvpx_source)/vp9/common/vp9_idct.h',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.c',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.h',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.c',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.h',
+ '<(libvpx_source)/vp9/common/vp9_mv.h',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.c',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.h',
+ '<(libvpx_source)/vp9/common/vp9_onyxc_int.h',
+ '<(libvpx_source)/vp9/common/vp9_postproc.c',
+ '<(libvpx_source)/vp9/common/vp9_postproc.h',
+ '<(libvpx_source)/vp9/common/vp9_ppflags.h',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.c',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.h',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.c',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.h',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.c',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.h',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.c',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.h',
+ '<(libvpx_source)/vp9/common/vp9_rtcd.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.h',
+ '<(libvpx_source)/vp9/common/vp9_scan.c',
+ '<(libvpx_source)/vp9/common/vp9_scan.h',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.c',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.h',
+ '<(libvpx_source)/vp9/common/vp9_textblit.h',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.c',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.h',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.c',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.h',
+ '<(libvpx_source)/vp9/common/x86/vp9_mfqe_sse2.asm',
+ '<(libvpx_source)/vp9/common/x86/vp9_postproc_sse2.asm',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.h',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.c',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.h',
+ '<(libvpx_source)/vp9/encoder/vp9_avg.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.h',
+ '<(libvpx_source)/vp9/encoder/vp9_block.h',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.c',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.h',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.c',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.h',
+ '<(libvpx_source)/vp9/encoder/vp9_dct.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.c',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.h',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.c',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.h',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.c',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.c',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.h',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.c',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.h',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.h',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.c',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.h',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.c',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.h',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.c',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.h',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.c',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.h',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.h',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.h',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_dct_mmx.asm',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_error_sse2.asm',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_temporal_filter_apply_sse2.asm',
+ '<(libvpx_source)/vp9/vp9_cx_iface.c',
+ '<(libvpx_source)/vp9/vp9_dx_iface.c',
+ '<(libvpx_source)/vp9/vp9_iface_common.h',
+ '<(libvpx_source)/vpx/internal/vpx_codec_internal.h',
+ '<(libvpx_source)/vpx/internal/vpx_psnr.h',
+ '<(libvpx_source)/vpx/src/vpx_codec.c',
+ '<(libvpx_source)/vpx/src/vpx_decoder.c',
+ '<(libvpx_source)/vpx/src/vpx_encoder.c',
+ '<(libvpx_source)/vpx/src/vpx_image.c',
+ '<(libvpx_source)/vpx/src/vpx_psnr.c',
+ '<(libvpx_source)/vpx/vp8.h',
+ '<(libvpx_source)/vpx/vp8cx.h',
+ '<(libvpx_source)/vpx/vp8dx.h',
+ '<(libvpx_source)/vpx/vpx_codec.h',
+ '<(libvpx_source)/vpx/vpx_decoder.h',
+ '<(libvpx_source)/vpx/vpx_encoder.h',
+ '<(libvpx_source)/vpx/vpx_frame_buffer.h',
+ '<(libvpx_source)/vpx/vpx_image.h',
+ '<(libvpx_source)/vpx/vpx_integer.h',
+ '<(libvpx_source)/vpx_dsp/bitreader.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.h',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.h',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.c',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.h',
+ '<(libvpx_source)/vpx_dsp/intrapred.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.h',
+ '<(libvpx_source)/vpx_dsp/loopfilter.c',
+ '<(libvpx_source)/vpx_dsp/prob.c',
+ '<(libvpx_source)/vpx_dsp/prob.h',
+ '<(libvpx_source)/vpx_dsp/quantize.c',
+ '<(libvpx_source)/vpx_dsp/quantize.h',
+ '<(libvpx_source)/vpx_dsp/sad.c',
+ '<(libvpx_source)/vpx_dsp/subtract.c',
+ '<(libvpx_source)/vpx_dsp/txfm_common.h',
+ '<(libvpx_source)/vpx_dsp/variance.c',
+ '<(libvpx_source)/vpx_dsp/variance.h',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.c',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_common.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_rtcd.c',
+ '<(libvpx_source)/vpx_dsp/vpx_filter.h',
+ '<(libvpx_source)/vpx_dsp/x86/convolve.h',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_dct32x32_impl_avx2.h',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_dct32x32_impl_sse2.h',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_txfm_impl_sse2.h',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_txfm_sse2.h',
+ '<(libvpx_source)/vpx_dsp/x86/halfpix_variance_impl_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/intrapred_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/intrapred_ssse3.asm',
+ '<(libvpx_source)/vpx_dsp/x86/inv_txfm_sse2.h',
+ '<(libvpx_source)/vpx_dsp/x86/inv_wht_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/loopfilter_mmx.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad4d_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad_mmx.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad_sse3.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad_sse4.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad_ssse3.asm',
+ '<(libvpx_source)/vpx_dsp/x86/subpel_variance_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/subtract_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/txfm_common_sse2.h',
+ '<(libvpx_source)/vpx_dsp/x86/variance_impl_mmx.asm',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_asm_stubs.c',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_convolve_copy_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_8t_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_8t_ssse3.asm',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_bilinear_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_bilinear_ssse3.asm',
+ '<(libvpx_source)/vpx_mem/include/vpx_mem_intrnl.h',
+ '<(libvpx_source)/vpx_mem/vpx_mem.c',
+ '<(libvpx_source)/vpx_mem/vpx_mem.h',
+ '<(libvpx_source)/vpx_ports/bitops.h',
+ '<(libvpx_source)/vpx_ports/emmintrin_compat.h',
+ '<(libvpx_source)/vpx_ports/emms.asm',
+ '<(libvpx_source)/vpx_ports/mem.h',
+ '<(libvpx_source)/vpx_ports/mem_ops.h',
+ '<(libvpx_source)/vpx_ports/mem_ops_aligned.h',
+ '<(libvpx_source)/vpx_ports/msvc.h',
+ '<(libvpx_source)/vpx_ports/system_state.h',
+ '<(libvpx_source)/vpx_ports/vpx_once.h',
+ '<(libvpx_source)/vpx_ports/vpx_timer.h',
+ '<(libvpx_source)/vpx_ports/x86.h',
+ '<(libvpx_source)/vpx_ports/x86_abi_support.asm',
+ '<(libvpx_source)/vpx_scale/generic/gen_scalers.c',
+ '<(libvpx_source)/vpx_scale/generic/vpx_scale.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12config.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12extend.c',
+ '<(libvpx_source)/vpx_scale/vpx_scale.h',
+ '<(libvpx_source)/vpx_scale/vpx_scale_rtcd.c',
+ '<(libvpx_source)/vpx_scale/yv12config.h',
+ '<(libvpx_source)/vpx_util/endian_inl.h',
+ '<(libvpx_source)/vpx_util/vpx_thread.c',
+ '<(libvpx_source)/vpx_util/vpx_thread.h',
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_x86_64.gypi b/third_party/libvpx/libvpx_srcs_x86_64.gypi
new file mode 100644
index 0000000..18b5a02
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_x86_64.gypi
@@ -0,0 +1,395 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'sources': [
+ '<(libvpx_source)/vp8/common/alloccommon.c',
+ '<(libvpx_source)/vp8/common/alloccommon.h',
+ '<(libvpx_source)/vp8/common/blockd.c',
+ '<(libvpx_source)/vp8/common/blockd.h',
+ '<(libvpx_source)/vp8/common/coefupdateprobs.h',
+ '<(libvpx_source)/vp8/common/common.h',
+ '<(libvpx_source)/vp8/common/copy_c.c',
+ '<(libvpx_source)/vp8/common/debugmodes.c',
+ '<(libvpx_source)/vp8/common/default_coef_probs.h',
+ '<(libvpx_source)/vp8/common/dequantize.c',
+ '<(libvpx_source)/vp8/common/entropy.c',
+ '<(libvpx_source)/vp8/common/entropy.h',
+ '<(libvpx_source)/vp8/common/entropymode.c',
+ '<(libvpx_source)/vp8/common/entropymode.h',
+ '<(libvpx_source)/vp8/common/entropymv.c',
+ '<(libvpx_source)/vp8/common/entropymv.h',
+ '<(libvpx_source)/vp8/common/extend.c',
+ '<(libvpx_source)/vp8/common/extend.h',
+ '<(libvpx_source)/vp8/common/filter.c',
+ '<(libvpx_source)/vp8/common/filter.h',
+ '<(libvpx_source)/vp8/common/findnearmv.c',
+ '<(libvpx_source)/vp8/common/findnearmv.h',
+ '<(libvpx_source)/vp8/common/generic/systemdependent.c',
+ '<(libvpx_source)/vp8/common/header.h',
+ '<(libvpx_source)/vp8/common/idct_blk.c',
+ '<(libvpx_source)/vp8/common/idctllm.c',
+ '<(libvpx_source)/vp8/common/invtrans.h',
+ '<(libvpx_source)/vp8/common/loopfilter.h',
+ '<(libvpx_source)/vp8/common/loopfilter_filters.c',
+ '<(libvpx_source)/vp8/common/mbpitch.c',
+ '<(libvpx_source)/vp8/common/mfqe.c',
+ '<(libvpx_source)/vp8/common/modecont.c',
+ '<(libvpx_source)/vp8/common/modecont.h',
+ '<(libvpx_source)/vp8/common/mv.h',
+ '<(libvpx_source)/vp8/common/onyx.h',
+ '<(libvpx_source)/vp8/common/onyxc_int.h',
+ '<(libvpx_source)/vp8/common/onyxd.h',
+ '<(libvpx_source)/vp8/common/postproc.c',
+ '<(libvpx_source)/vp8/common/postproc.h',
+ '<(libvpx_source)/vp8/common/ppflags.h',
+ '<(libvpx_source)/vp8/common/quant_common.c',
+ '<(libvpx_source)/vp8/common/quant_common.h',
+ '<(libvpx_source)/vp8/common/reconinter.c',
+ '<(libvpx_source)/vp8/common/reconinter.h',
+ '<(libvpx_source)/vp8/common/reconintra.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.c',
+ '<(libvpx_source)/vp8/common/reconintra4x4.h',
+ '<(libvpx_source)/vp8/common/rtcd.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.c',
+ '<(libvpx_source)/vp8/common/setupintrarecon.h',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.c',
+ '<(libvpx_source)/vp8/common/swapyv12buffer.h',
+ '<(libvpx_source)/vp8/common/systemdependent.h',
+ '<(libvpx_source)/vp8/common/threading.h',
+ '<(libvpx_source)/vp8/common/treecoder.c',
+ '<(libvpx_source)/vp8/common/treecoder.h',
+ '<(libvpx_source)/vp8/common/vp8_entropymodedata.h',
+ '<(libvpx_source)/vp8/common/vp8_loopfilter.c',
+ '<(libvpx_source)/vp8/common/x86/copy_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/copy_sse3.asm',
+ '<(libvpx_source)/vp8/common/x86/dequantize_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/filter_x86.c',
+ '<(libvpx_source)/vp8/common/x86/filter_x86.h',
+ '<(libvpx_source)/vp8/common/x86/idctllm_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/idctllm_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/iwalsh_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/iwalsh_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/loopfilter_block_sse2_x86_64.asm',
+ '<(libvpx_source)/vp8/common/x86/loopfilter_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/loopfilter_x86.c',
+ '<(libvpx_source)/vp8/common/x86/mfqe_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/postproc_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/postproc_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/recon_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/recon_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/subpixel_mmx.asm',
+ '<(libvpx_source)/vp8/common/x86/subpixel_sse2.asm',
+ '<(libvpx_source)/vp8/common/x86/subpixel_ssse3.asm',
+ '<(libvpx_source)/vp8/common/x86/vp8_asm_stubs.c',
+ '<(libvpx_source)/vp8/common/x86/vp8_loopfilter_mmx.asm',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.c',
+ '<(libvpx_source)/vp8/decoder/dboolhuff.h',
+ '<(libvpx_source)/vp8/decoder/decodeframe.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.c',
+ '<(libvpx_source)/vp8/decoder/decodemv.h',
+ '<(libvpx_source)/vp8/decoder/decoderthreading.h',
+ '<(libvpx_source)/vp8/decoder/detokenize.c',
+ '<(libvpx_source)/vp8/decoder/detokenize.h',
+ '<(libvpx_source)/vp8/decoder/onyxd_if.c',
+ '<(libvpx_source)/vp8/decoder/onyxd_int.h',
+ '<(libvpx_source)/vp8/decoder/threading.c',
+ '<(libvpx_source)/vp8/decoder/treereader.h',
+ '<(libvpx_source)/vp8/encoder/bitstream.c',
+ '<(libvpx_source)/vp8/encoder/bitstream.h',
+ '<(libvpx_source)/vp8/encoder/block.h',
+ '<(libvpx_source)/vp8/encoder/boolhuff.c',
+ '<(libvpx_source)/vp8/encoder/boolhuff.h',
+ '<(libvpx_source)/vp8/encoder/dct.c',
+ '<(libvpx_source)/vp8/encoder/dct_value_cost.h',
+ '<(libvpx_source)/vp8/encoder/dct_value_tokens.h',
+ '<(libvpx_source)/vp8/encoder/defaultcoefcounts.h',
+ '<(libvpx_source)/vp8/encoder/denoising.c',
+ '<(libvpx_source)/vp8/encoder/denoising.h',
+ '<(libvpx_source)/vp8/encoder/encodeframe.c',
+ '<(libvpx_source)/vp8/encoder/encodeframe.h',
+ '<(libvpx_source)/vp8/encoder/encodeintra.c',
+ '<(libvpx_source)/vp8/encoder/encodeintra.h',
+ '<(libvpx_source)/vp8/encoder/encodemb.c',
+ '<(libvpx_source)/vp8/encoder/encodemb.h',
+ '<(libvpx_source)/vp8/encoder/encodemv.c',
+ '<(libvpx_source)/vp8/encoder/encodemv.h',
+ '<(libvpx_source)/vp8/encoder/ethreading.c',
+ '<(libvpx_source)/vp8/encoder/firstpass.h',
+ '<(libvpx_source)/vp8/encoder/lookahead.c',
+ '<(libvpx_source)/vp8/encoder/lookahead.h',
+ '<(libvpx_source)/vp8/encoder/mcomp.c',
+ '<(libvpx_source)/vp8/encoder/mcomp.h',
+ '<(libvpx_source)/vp8/encoder/modecosts.c',
+ '<(libvpx_source)/vp8/encoder/modecosts.h',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.c',
+ '<(libvpx_source)/vp8/encoder/mr_dissim.h',
+ '<(libvpx_source)/vp8/encoder/onyx_if.c',
+ '<(libvpx_source)/vp8/encoder/onyx_int.h',
+ '<(libvpx_source)/vp8/encoder/pickinter.c',
+ '<(libvpx_source)/vp8/encoder/pickinter.h',
+ '<(libvpx_source)/vp8/encoder/picklpf.c',
+ '<(libvpx_source)/vp8/encoder/quantize.h',
+ '<(libvpx_source)/vp8/encoder/ratectrl.c',
+ '<(libvpx_source)/vp8/encoder/ratectrl.h',
+ '<(libvpx_source)/vp8/encoder/rdopt.c',
+ '<(libvpx_source)/vp8/encoder/rdopt.h',
+ '<(libvpx_source)/vp8/encoder/segmentation.c',
+ '<(libvpx_source)/vp8/encoder/segmentation.h',
+ '<(libvpx_source)/vp8/encoder/tokenize.c',
+ '<(libvpx_source)/vp8/encoder/tokenize.h',
+ '<(libvpx_source)/vp8/encoder/treewriter.c',
+ '<(libvpx_source)/vp8/encoder/treewriter.h',
+ '<(libvpx_source)/vp8/encoder/vp8_quantize.c',
+ '<(libvpx_source)/vp8/encoder/x86/dct_mmx.asm',
+ '<(libvpx_source)/vp8/encoder/x86/dct_sse2.asm',
+ '<(libvpx_source)/vp8/encoder/x86/encodeopt.asm',
+ '<(libvpx_source)/vp8/encoder/x86/fwalsh_sse2.asm',
+ '<(libvpx_source)/vp8/encoder/x86/quantize_mmx.asm',
+ '<(libvpx_source)/vp8/vp8_cx_iface.c',
+ '<(libvpx_source)/vp8/vp8_dx_iface.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.c',
+ '<(libvpx_source)/vp9/common/vp9_alloccommon.h',
+ '<(libvpx_source)/vp9/common/vp9_blockd.c',
+ '<(libvpx_source)/vp9/common/vp9_blockd.h',
+ '<(libvpx_source)/vp9/common/vp9_common.h',
+ '<(libvpx_source)/vp9/common/vp9_common_data.c',
+ '<(libvpx_source)/vp9/common/vp9_common_data.h',
+ '<(libvpx_source)/vp9/common/vp9_debugmodes.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.c',
+ '<(libvpx_source)/vp9/common/vp9_entropy.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymode.h',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.c',
+ '<(libvpx_source)/vp9/common/vp9_entropymv.h',
+ '<(libvpx_source)/vp9/common/vp9_enums.h',
+ '<(libvpx_source)/vp9/common/vp9_filter.c',
+ '<(libvpx_source)/vp9/common/vp9_filter.h',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.c',
+ '<(libvpx_source)/vp9/common/vp9_frame_buffers.h',
+ '<(libvpx_source)/vp9/common/vp9_idct.c',
+ '<(libvpx_source)/vp9/common/vp9_idct.h',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.c',
+ '<(libvpx_source)/vp9/common/vp9_loopfilter.h',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.c',
+ '<(libvpx_source)/vp9/common/vp9_mfqe.h',
+ '<(libvpx_source)/vp9/common/vp9_mv.h',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.c',
+ '<(libvpx_source)/vp9/common/vp9_mvref_common.h',
+ '<(libvpx_source)/vp9/common/vp9_onyxc_int.h',
+ '<(libvpx_source)/vp9/common/vp9_postproc.c',
+ '<(libvpx_source)/vp9/common/vp9_postproc.h',
+ '<(libvpx_source)/vp9/common/vp9_ppflags.h',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.c',
+ '<(libvpx_source)/vp9/common/vp9_pred_common.h',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.c',
+ '<(libvpx_source)/vp9/common/vp9_quant_common.h',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.c',
+ '<(libvpx_source)/vp9/common/vp9_reconinter.h',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.c',
+ '<(libvpx_source)/vp9/common/vp9_reconintra.h',
+ '<(libvpx_source)/vp9/common/vp9_rtcd.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.c',
+ '<(libvpx_source)/vp9/common/vp9_scale.h',
+ '<(libvpx_source)/vp9/common/vp9_scan.c',
+ '<(libvpx_source)/vp9/common/vp9_scan.h',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.c',
+ '<(libvpx_source)/vp9/common/vp9_seg_common.h',
+ '<(libvpx_source)/vp9/common/vp9_textblit.h',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.c',
+ '<(libvpx_source)/vp9/common/vp9_thread_common.h',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.c',
+ '<(libvpx_source)/vp9/common/vp9_tile_common.h',
+ '<(libvpx_source)/vp9/common/x86/vp9_mfqe_sse2.asm',
+ '<(libvpx_source)/vp9/common/x86/vp9_postproc_sse2.asm',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodeframe.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decodemv.h',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.c',
+ '<(libvpx_source)/vp9/decoder/vp9_decoder.h',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.c',
+ '<(libvpx_source)/vp9/decoder/vp9_detokenize.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dsubexp.h',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.c',
+ '<(libvpx_source)/vp9/decoder/vp9_dthread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_complexity.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_cyclicrefresh.h',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.c',
+ '<(libvpx_source)/vp9/encoder/vp9_aq_variance.h',
+ '<(libvpx_source)/vp9/encoder/vp9_avg.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.c',
+ '<(libvpx_source)/vp9/encoder/vp9_bitstream.h',
+ '<(libvpx_source)/vp9/encoder/vp9_block.h',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.c',
+ '<(libvpx_source)/vp9/encoder/vp9_context_tree.h',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.c',
+ '<(libvpx_source)/vp9/encoder/vp9_cost.h',
+ '<(libvpx_source)/vp9/encoder/vp9_dct.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.c',
+ '<(libvpx_source)/vp9/encoder/vp9_denoiser.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodeframe.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemb.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encodemv.h',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.c',
+ '<(libvpx_source)/vp9/encoder/vp9_encoder.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ethread.h',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.c',
+ '<(libvpx_source)/vp9/encoder/vp9_extend.h',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.c',
+ '<(libvpx_source)/vp9/encoder/vp9_firstpass.h',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.c',
+ '<(libvpx_source)/vp9/encoder/vp9_lookahead.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mbgraph.h',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_mcomp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.c',
+ '<(libvpx_source)/vp9/encoder/vp9_picklpf.h',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.c',
+ '<(libvpx_source)/vp9/encoder/vp9_pickmode.h',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_quantize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.c',
+ '<(libvpx_source)/vp9/encoder/vp9_ratectrl.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rd.h',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.c',
+ '<(libvpx_source)/vp9/encoder/vp9_rdopt.h',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_resize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.c',
+ '<(libvpx_source)/vp9/encoder/vp9_segmentation.h',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.c',
+ '<(libvpx_source)/vp9/encoder/vp9_skin_detection.h',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.c',
+ '<(libvpx_source)/vp9/encoder/vp9_speed_features.h',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.c',
+ '<(libvpx_source)/vp9/encoder/vp9_subexp.h',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.c',
+ '<(libvpx_source)/vp9/encoder/vp9_svc_layercontext.h',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_temporal_filter.h',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.c',
+ '<(libvpx_source)/vp9/encoder/vp9_tokenize.h',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.c',
+ '<(libvpx_source)/vp9/encoder/vp9_treewriter.h',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_dct_mmx.asm',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_dct_ssse3_x86_64.asm',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_error_sse2.asm',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_quantize_ssse3_x86_64.asm',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_temporal_filter_apply_sse2.asm',
+ '<(libvpx_source)/vp9/vp9_cx_iface.c',
+ '<(libvpx_source)/vp9/vp9_dx_iface.c',
+ '<(libvpx_source)/vp9/vp9_iface_common.h',
+ '<(libvpx_source)/vpx/internal/vpx_codec_internal.h',
+ '<(libvpx_source)/vpx/internal/vpx_psnr.h',
+ '<(libvpx_source)/vpx/src/vpx_codec.c',
+ '<(libvpx_source)/vpx/src/vpx_decoder.c',
+ '<(libvpx_source)/vpx/src/vpx_encoder.c',
+ '<(libvpx_source)/vpx/src/vpx_image.c',
+ '<(libvpx_source)/vpx/src/vpx_psnr.c',
+ '<(libvpx_source)/vpx/vp8.h',
+ '<(libvpx_source)/vpx/vp8cx.h',
+ '<(libvpx_source)/vpx/vp8dx.h',
+ '<(libvpx_source)/vpx/vpx_codec.h',
+ '<(libvpx_source)/vpx/vpx_decoder.h',
+ '<(libvpx_source)/vpx/vpx_encoder.h',
+ '<(libvpx_source)/vpx/vpx_frame_buffer.h',
+ '<(libvpx_source)/vpx/vpx_image.h',
+ '<(libvpx_source)/vpx/vpx_integer.h',
+ '<(libvpx_source)/vpx_dsp/bitreader.c',
+ '<(libvpx_source)/vpx_dsp/bitreader.h',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitreader_buffer.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter.h',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.c',
+ '<(libvpx_source)/vpx_dsp/bitwriter_buffer.h',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.c',
+ '<(libvpx_source)/vpx_dsp/fwd_txfm.h',
+ '<(libvpx_source)/vpx_dsp/intrapred.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.c',
+ '<(libvpx_source)/vpx_dsp/inv_txfm.h',
+ '<(libvpx_source)/vpx_dsp/loopfilter.c',
+ '<(libvpx_source)/vpx_dsp/prob.c',
+ '<(libvpx_source)/vpx_dsp/prob.h',
+ '<(libvpx_source)/vpx_dsp/quantize.c',
+ '<(libvpx_source)/vpx_dsp/quantize.h',
+ '<(libvpx_source)/vpx_dsp/sad.c',
+ '<(libvpx_source)/vpx_dsp/subtract.c',
+ '<(libvpx_source)/vpx_dsp/txfm_common.h',
+ '<(libvpx_source)/vpx_dsp/variance.c',
+ '<(libvpx_source)/vpx_dsp/variance.h',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.c',
+ '<(libvpx_source)/vpx_dsp/vpx_convolve.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_common.h',
+ '<(libvpx_source)/vpx_dsp/vpx_dsp_rtcd.c',
+ '<(libvpx_source)/vpx_dsp/vpx_filter.h',
+ '<(libvpx_source)/vpx_dsp/x86/convolve.h',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_dct32x32_impl_avx2.h',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_dct32x32_impl_sse2.h',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_txfm_impl_sse2.h',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_txfm_sse2.h',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_txfm_ssse3_x86_64.asm',
+ '<(libvpx_source)/vpx_dsp/x86/halfpix_variance_impl_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/intrapred_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/intrapred_ssse3.asm',
+ '<(libvpx_source)/vpx_dsp/x86/inv_txfm_sse2.h',
+ '<(libvpx_source)/vpx_dsp/x86/inv_txfm_ssse3_x86_64.asm',
+ '<(libvpx_source)/vpx_dsp/x86/inv_wht_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/loopfilter_mmx.asm',
+ '<(libvpx_source)/vpx_dsp/x86/quantize_ssse3_x86_64.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad4d_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad_mmx.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad_sse3.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad_sse4.asm',
+ '<(libvpx_source)/vpx_dsp/x86/sad_ssse3.asm',
+ '<(libvpx_source)/vpx_dsp/x86/ssim_opt_x86_64.asm',
+ '<(libvpx_source)/vpx_dsp/x86/subpel_variance_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/subtract_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/txfm_common_sse2.h',
+ '<(libvpx_source)/vpx_dsp/x86/variance_impl_mmx.asm',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_asm_stubs.c',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_convolve_copy_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_8t_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_8t_ssse3.asm',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_bilinear_sse2.asm',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_bilinear_ssse3.asm',
+ '<(libvpx_source)/vpx_mem/include/vpx_mem_intrnl.h',
+ '<(libvpx_source)/vpx_mem/vpx_mem.c',
+ '<(libvpx_source)/vpx_mem/vpx_mem.h',
+ '<(libvpx_source)/vpx_ports/bitops.h',
+ '<(libvpx_source)/vpx_ports/emmintrin_compat.h',
+ '<(libvpx_source)/vpx_ports/emms.asm',
+ '<(libvpx_source)/vpx_ports/mem.h',
+ '<(libvpx_source)/vpx_ports/mem_ops.h',
+ '<(libvpx_source)/vpx_ports/mem_ops_aligned.h',
+ '<(libvpx_source)/vpx_ports/msvc.h',
+ '<(libvpx_source)/vpx_ports/system_state.h',
+ '<(libvpx_source)/vpx_ports/vpx_once.h',
+ '<(libvpx_source)/vpx_ports/vpx_timer.h',
+ '<(libvpx_source)/vpx_ports/x86.h',
+ '<(libvpx_source)/vpx_ports/x86_abi_support.asm',
+ '<(libvpx_source)/vpx_scale/generic/gen_scalers.c',
+ '<(libvpx_source)/vpx_scale/generic/vpx_scale.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12config.c',
+ '<(libvpx_source)/vpx_scale/generic/yv12extend.c',
+ '<(libvpx_source)/vpx_scale/vpx_scale.h',
+ '<(libvpx_source)/vpx_scale/vpx_scale_rtcd.c',
+ '<(libvpx_source)/vpx_scale/yv12config.h',
+ '<(libvpx_source)/vpx_util/endian_inl.h',
+ '<(libvpx_source)/vpx_util/vpx_thread.c',
+ '<(libvpx_source)/vpx_util/vpx_thread.h',
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_x86_64_intrinsics.gypi b/third_party/libvpx/libvpx_srcs_x86_64_intrinsics.gypi
new file mode 100644
index 0000000..95fa0e7
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_x86_64_intrinsics.gypi
@@ -0,0 +1,123 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'libvpx_intrinsics_mmx',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp8/common/x86/idct_blk_mmx.c',
+ '<(libvpx_source)/vp8/encoder/x86/vp8_enc_stubs_mmx.c',
+ '<(libvpx_source)/vpx_dsp/x86/variance_mmx.c',
+ ],
+ 'cflags': [ '-mmmx', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-mmmx' ] },
+ },
+ {
+ 'target_name': 'libvpx_intrinsics_sse2',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp8/common/x86/idct_blk_sse2.c',
+ '<(libvpx_source)/vp8/common/x86/recon_wrapper_sse2.c',
+ '<(libvpx_source)/vp8/encoder/x86/denoising_sse2.c',
+ '<(libvpx_source)/vp8/encoder/x86/vp8_enc_stubs_sse2.c',
+ '<(libvpx_source)/vp8/encoder/x86/vp8_quantize_sse2.c',
+ '<(libvpx_source)/vp9/common/x86/vp9_idct_intrin_sse2.c',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_avg_intrin_sse2.c',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_dct_sse2.c',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_denoiser_sse2.c',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_quantize_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_txfm_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/halfpix_variance_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/inv_txfm_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/loopfilter_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/quantize_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/variance_sse2.c',
+ ],
+ 'cflags': [ '-msse2', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-msse2' ] },
+ },
+ {
+ 'target_name': 'libvpx_intrinsics_ssse3',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp8/encoder/x86/quantize_ssse3.c',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_dct_ssse3.c',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_8t_intrin_ssse3.c',
+ ],
+ 'cflags': [ '-mssse3', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-mssse3' ] },
+ 'conditions': [
+ ['OS=="win" and clang==1', {
+ # cl.exe's /arch flag doesn't have a setting for SSSE3/4, and cl.exe
+ # doesn't need it for intrinsics. clang-cl does need it, though.
+ 'msvs_settings': {
+ 'VCCLCompilerTool': { 'AdditionalOptions': [ '-mssse3' ] },
+ },
+ }],
+ ],
+ },
+ {
+ 'target_name': 'libvpx_intrinsics_sse4_1',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp8/encoder/x86/quantize_sse4.c',
+ ],
+ 'cflags': [ '-msse4.1', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-msse4.1' ] },
+ 'conditions': [
+ ['OS=="win" and clang==1', {
+ # cl.exe's /arch flag doesn't have a setting for SSSE3/4, and cl.exe
+ # doesn't need it for intrinsics. clang-cl does need it, though.
+ 'msvs_settings': {
+ 'VCCLCompilerTool': { 'AdditionalOptions': [ '-msse4.1' ] },
+ },
+ }],
+ ],
+ },
+ {
+ 'target_name': 'libvpx_intrinsics_avx2',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp9/encoder/x86/vp9_error_intrin_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_txfm_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/loopfilter_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/sad4d_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/sad_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/variance_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/variance_impl_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_8t_intrin_avx2.c',
+ ],
+ 'cflags': [ '-mavx2', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-mavx2' ] },
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'EnableEnhancedInstructionSet': '5', # /arch:AVX2
+ },
+ },
+ },
+ ],
+}
diff --git a/third_party/libvpx/libvpx_srcs_x86_intrinsics.gypi b/third_party/libvpx/libvpx_srcs_x86_intrinsics.gypi
new file mode 100644
index 0000000..95fa0e7
--- /dev/null
+++ b/third_party/libvpx/libvpx_srcs_x86_intrinsics.gypi
@@ -0,0 +1,123 @@
+# This file is generated. Do not edit.
+# Copyright (c) 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'libvpx_intrinsics_mmx',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp8/common/x86/idct_blk_mmx.c',
+ '<(libvpx_source)/vp8/encoder/x86/vp8_enc_stubs_mmx.c',
+ '<(libvpx_source)/vpx_dsp/x86/variance_mmx.c',
+ ],
+ 'cflags': [ '-mmmx', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-mmmx' ] },
+ },
+ {
+ 'target_name': 'libvpx_intrinsics_sse2',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp8/common/x86/idct_blk_sse2.c',
+ '<(libvpx_source)/vp8/common/x86/recon_wrapper_sse2.c',
+ '<(libvpx_source)/vp8/encoder/x86/denoising_sse2.c',
+ '<(libvpx_source)/vp8/encoder/x86/vp8_enc_stubs_sse2.c',
+ '<(libvpx_source)/vp8/encoder/x86/vp8_quantize_sse2.c',
+ '<(libvpx_source)/vp9/common/x86/vp9_idct_intrin_sse2.c',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_avg_intrin_sse2.c',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_dct_sse2.c',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_denoiser_sse2.c',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_quantize_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_txfm_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/halfpix_variance_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/inv_txfm_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/loopfilter_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/quantize_sse2.c',
+ '<(libvpx_source)/vpx_dsp/x86/variance_sse2.c',
+ ],
+ 'cflags': [ '-msse2', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-msse2' ] },
+ },
+ {
+ 'target_name': 'libvpx_intrinsics_ssse3',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp8/encoder/x86/quantize_ssse3.c',
+ '<(libvpx_source)/vp9/encoder/x86/vp9_dct_ssse3.c',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_8t_intrin_ssse3.c',
+ ],
+ 'cflags': [ '-mssse3', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-mssse3' ] },
+ 'conditions': [
+ ['OS=="win" and clang==1', {
+ # cl.exe's /arch flag doesn't have a setting for SSSE3/4, and cl.exe
+ # doesn't need it for intrinsics. clang-cl does need it, though.
+ 'msvs_settings': {
+ 'VCCLCompilerTool': { 'AdditionalOptions': [ '-mssse3' ] },
+ },
+ }],
+ ],
+ },
+ {
+ 'target_name': 'libvpx_intrinsics_sse4_1',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp8/encoder/x86/quantize_sse4.c',
+ ],
+ 'cflags': [ '-msse4.1', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-msse4.1' ] },
+ 'conditions': [
+ ['OS=="win" and clang==1', {
+ # cl.exe's /arch flag doesn't have a setting for SSSE3/4, and cl.exe
+ # doesn't need it for intrinsics. clang-cl does need it, though.
+ 'msvs_settings': {
+ 'VCCLCompilerTool': { 'AdditionalOptions': [ '-msse4.1' ] },
+ },
+ }],
+ ],
+ },
+ {
+ 'target_name': 'libvpx_intrinsics_avx2',
+ 'type': 'static_library',
+ 'include_dirs': [
+ 'source/config/<(OS_CATEGORY)/<(target_arch_full)',
+ '<(libvpx_source)',
+ ],
+ 'sources': [
+ '<(libvpx_source)/vp9/encoder/x86/vp9_error_intrin_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/fwd_txfm_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/loopfilter_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/sad4d_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/sad_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/variance_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/variance_impl_avx2.c',
+ '<(libvpx_source)/vpx_dsp/x86/vpx_subpixel_8t_intrin_avx2.c',
+ ],
+ 'cflags': [ '-mavx2', ],
+ 'xcode_settings': { 'OTHER_CFLAGS': [ '-mavx2' ] },
+ 'msvs_settings': {
+ 'VCCLCompilerTool': {
+ 'EnableEnhancedInstructionSet': '5', # /arch:AVX2
+ },
+ },
+ },
+ ],
+}
diff --git a/third_party/libvpx/lint_config.sh b/third_party/libvpx/lint_config.sh
new file mode 100755
index 0000000..d57e451
--- /dev/null
+++ b/third_party/libvpx/lint_config.sh
@@ -0,0 +1,109 @@
+#!/bin/bash -e
+#
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script is used to compare vpx_config.h and vpx_config.asm to
+# verify the two files match.
+#
+# Arguments:
+#
+# -h - C Header file.
+# -a - ASM file.
+# -p - Print the options if correct.
+# -o - Output file.
+#
+# Usage:
+#
+# # Compare the two configuration files and output the final results.
+# ./lint_config.sh -h vpx_config.h -a vpx_config.asm -o libvpx.config -p
+
+export LC_ALL=C
+print_final="no"
+
+while getopts "h:a:o:p" flag
+do
+ if [ "$flag" = "h" ]; then
+ header_file=$OPTARG
+ elif [ "$flag" = "a" ]; then
+ asm_file=$OPTARG
+ elif [ "$flag" = "o" ]; then
+ out_file=$OPTARG
+ elif [ "$flag" = "p" ]; then
+ print_final="yes"
+ fi
+done
+
+if [ -z "$header_file" ]; then
+ echo "Header file not specified."
+ false
+ exit
+fi
+
+if [ -z "$asm_file" ]; then
+ echo "ASM file not specified."
+ false
+ exit
+fi
+
+# Concat header file and assembly file and select those ended with 0 or 1.
+combined_config="$(cat $header_file $asm_file | grep -E ' +[01] *$')"
+
+# Extra filtering for known exceptions.
+combined_config="$(echo "$combined_config" | grep -v DO1STROUNDING)"
+
+# Remove all spaces.
+combined_config="$(echo "$combined_config" | sed 's/[ \t]//g')"
+
+# Remove #define in the header file.
+combined_config="$(echo "$combined_config" | sed 's/.*define//')"
+
+# Remove equ in the ASM file.
+combined_config="$(echo "$combined_config" | sed 's/\.equ//')" # gas style
+combined_config="$(echo "$combined_config" | sed 's/equ//')" # rvds style
+
+# Remove %define in YASM ASM files.
+combined_config="$(echo "$combined_config" | sed 's/%define\s *//')" # yasm style
+
+# Remove useless comma in gas style assembly file.
+combined_config="$(echo "$combined_config" | sed 's/,//')"
+
+# Substitute 0 with =no.
+combined_config="$(echo "$combined_config" | sed 's/0$/=no/')"
+
+# Substitute 1 with =yes.
+combined_config="$(echo "$combined_config" | sed 's/1$/=yes/')"
+
+# Find the mismatch variables.
+odd_config="$(echo "$combined_config" | sort | uniq -u)"
+odd_vars="$(echo "$odd_config" | sed 's/=.*//' | uniq)"
+
+for var in $odd_vars; do
+ echo "Error: Configuration mismatch for $var."
+ echo "Header file: $header_file"
+ echo "$(cat -n $header_file | grep "$var[ \t]")"
+ echo "Assembly file: $asm_file"
+ echo "$(cat -n $asm_file | grep "$var[ \t]")"
+ echo ""
+done
+
+if [ -n "$odd_vars" ]; then
+ false
+ exit
+fi
+
+if [ "$print_final" = "no" ]; then
+ exit
+fi
+
+# Do some additional filter to make libvpx happy.
+combined_config="$(echo "$combined_config" | grep -v ARCH_X86=no)"
+combined_config="$(echo "$combined_config" | grep -v ARCH_X86_64=no)"
+
+# Print out the unique configurations.
+if [ -n "$out_file" ]; then
+ echo "$combined_config" | sort | uniq > $out_file
+else
+ echo "$combined_config" | sort | uniq
+fi
diff --git a/third_party/libvpx/run_perl.py b/third_party/libvpx/run_perl.py
new file mode 100755
index 0000000..a81828e
--- /dev/null
+++ b/third_party/libvpx/run_perl.py
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+#
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"This script is used to run a perl script."
+
+import optparse
+import subprocess
+import sys
+
+parser = optparse.OptionParser()
+parser.description = __doc__
+parser.add_option('-s', '--script', help='path to a perl script.')
+parser.add_option('-i', '--input', help='file passed to stdin.')
+parser.add_option('-o', '--output', help='file saved from stdout.')
+
+
+options, args = parser.parse_args()
+if (not options.script or not options.input or not options.output):
+ parser.error('Must specify arguments for script, input and output.')
+ sys.exit(1)
+
+with open(options.output, 'w') as fo, open(options.input, 'r') as fi:
+ subprocess.check_call(['perl', options.script], stdout=fo, stdin=fi)
+
+sys.exit(0)
diff --git a/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp8_rtcd.h b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp8_rtcd.h
new file mode 100644
index 0000000..a7c415d
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp8_rtcd.h
@@ -0,0 +1,336 @@
+#ifndef VP8_RTCD_H_
+#define VP8_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP8
+ */
+
+struct blockd;
+struct macroblockd;
+struct loop_filter_info;
+
+/* Encoder forward decls */
+struct block;
+struct macroblock;
+struct variance_vtable;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vp8_bilinear_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict16x16_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict16x16_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+RTCD_EXTERN void (*vp8_bilinear_predict16x16)(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+
+void vp8_bilinear_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict4x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_armv6
+
+void vp8_bilinear_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+RTCD_EXTERN void (*vp8_bilinear_predict8x4)(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+
+void vp8_bilinear_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x8_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x8_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+RTCD_EXTERN void (*vp8_bilinear_predict8x8)(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+
+void vp8_blend_b_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_b vp8_blend_b_c
+
+void vp8_blend_mb_inner_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_mb_inner vp8_blend_mb_inner_c
+
+void vp8_blend_mb_outer_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_mb_outer vp8_blend_mb_outer_c
+
+int vp8_block_error_c(short *coeff, short *dqcoeff);
+#define vp8_block_error vp8_block_error_c
+
+void vp8_build_intra_predictors_mbuv_s_c(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride);
+void vp8_build_intra_predictors_mbuv_s_neon(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride);
+RTCD_EXTERN void (*vp8_build_intra_predictors_mbuv_s)(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride);
+
+void vp8_build_intra_predictors_mby_s_c(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride);
+void vp8_build_intra_predictors_mby_s_neon(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride);
+RTCD_EXTERN void (*vp8_build_intra_predictors_mby_s)(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride);
+
+void vp8_clear_system_state_c();
+#define vp8_clear_system_state vp8_clear_system_state_c
+
+void vp8_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem16x16_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem16x16_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+RTCD_EXTERN void (*vp8_copy_mem16x16)(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+
+void vp8_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x4_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x4_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+RTCD_EXTERN void (*vp8_copy_mem8x4)(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+
+void vp8_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x8_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x8_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+RTCD_EXTERN void (*vp8_copy_mem8x8)(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+
+void vp8_dc_only_idct_add_c(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+void vp8_dc_only_idct_add_v6(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+void vp8_dc_only_idct_add_neon(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+RTCD_EXTERN void (*vp8_dc_only_idct_add)(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+
+int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+int vp8_denoiser_filter_neon(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+RTCD_EXTERN int (*vp8_denoiser_filter)(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+
+int vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+int vp8_denoiser_filter_uv_neon(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+RTCD_EXTERN int (*vp8_denoiser_filter_uv)(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+
+void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *output, int stride);
+void vp8_dequant_idct_add_v6(short *input, short *dq, unsigned char *output, int stride);
+void vp8_dequant_idct_add_neon(short *input, short *dq, unsigned char *output, int stride);
+RTCD_EXTERN void (*vp8_dequant_idct_add)(short *input, short *dq, unsigned char *output, int stride);
+
+void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+void vp8_dequant_idct_add_uv_block_v6(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+void vp8_dequant_idct_add_uv_block_neon(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+RTCD_EXTERN void (*vp8_dequant_idct_add_uv_block)(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+
+void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+void vp8_dequant_idct_add_y_block_v6(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+void vp8_dequant_idct_add_y_block_neon(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+RTCD_EXTERN void (*vp8_dequant_idct_add_y_block)(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+
+void vp8_dequantize_b_c(struct blockd*, short *dqc);
+void vp8_dequantize_b_v6(struct blockd*, short *dqc);
+void vp8_dequantize_b_neon(struct blockd*, short *dqc);
+RTCD_EXTERN void (*vp8_dequantize_b)(struct blockd*, short *dqc);
+
+int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_diamond_search_sad vp8_diamond_search_sad_c
+
+void vp8_fast_quantize_b_c(struct block *, struct blockd *);
+void vp8_fast_quantize_b_neon(struct block *, struct blockd *);
+RTCD_EXTERN void (*vp8_fast_quantize_b)(struct block *, struct blockd *);
+
+void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
+
+void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
+
+void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
+
+int vp8_full_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_full_search_sad vp8_full_search_sad_c
+
+void vp8_intra4x4_predict_c(unsigned char *Above, unsigned char *yleft, int left_stride, int b_mode, unsigned char *dst, int dst_stride, unsigned char top_left);
+void vp8_intra4x4_predict_armv6(unsigned char *Above, unsigned char *yleft, int left_stride, int b_mode, unsigned char *dst, int dst_stride, unsigned char top_left);
+#define vp8_intra4x4_predict vp8_intra4x4_predict_armv6
+
+void vp8_loop_filter_bh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bh_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bh_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+RTCD_EXTERN void (*vp8_loop_filter_bh)(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+
+void vp8_loop_filter_bv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bv_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bv_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+RTCD_EXTERN void (*vp8_loop_filter_bv)(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+
+void vp8_loop_filter_mbh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbh_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbh_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+RTCD_EXTERN void (*vp8_loop_filter_mbh)(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+
+void vp8_loop_filter_mbv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbv_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbv_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+RTCD_EXTERN void (*vp8_loop_filter_mbv)(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+
+void vp8_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bhs_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bhs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+RTCD_EXTERN void (*vp8_loop_filter_simple_bh)(unsigned char *y, int ystride, const unsigned char *blimit);
+
+void vp8_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bvs_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bvs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+RTCD_EXTERN void (*vp8_loop_filter_simple_bv)(unsigned char *y, int ystride, const unsigned char *blimit);
+
+void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_simple_horizontal_edge_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_mbhs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+RTCD_EXTERN void (*vp8_loop_filter_simple_mbh)(unsigned char *y, int ystride, const unsigned char *blimit);
+
+void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_simple_vertical_edge_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_mbvs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+RTCD_EXTERN void (*vp8_loop_filter_simple_mbv)(unsigned char *y, int ystride, const unsigned char *blimit);
+
+int vp8_mbblock_error_c(struct macroblock *mb, int dc);
+#define vp8_mbblock_error vp8_mbblock_error_c
+
+void vp8_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
+#define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_c
+
+void vp8_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
+#define vp8_mbpost_proc_down vp8_mbpost_proc_down_c
+
+int vp8_mbuverror_c(struct macroblock *mb);
+#define vp8_mbuverror vp8_mbuverror_c
+
+void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
+#define vp8_plane_add_noise vp8_plane_add_noise_c
+
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+#define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_row_c
+
+int vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_refining_search_sad vp8_refining_search_sad_c
+
+void vp8_regular_quantize_b_c(struct block *, struct blockd *);
+#define vp8_regular_quantize_b vp8_regular_quantize_b_c
+
+void vp8_short_fdct4x4_c(short *input, short *output, int pitch);
+void vp8_short_fdct4x4_armv6(short *input, short *output, int pitch);
+void vp8_short_fdct4x4_neon(short *input, short *output, int pitch);
+RTCD_EXTERN void (*vp8_short_fdct4x4)(short *input, short *output, int pitch);
+
+void vp8_short_fdct8x4_c(short *input, short *output, int pitch);
+void vp8_short_fdct8x4_armv6(short *input, short *output, int pitch);
+void vp8_short_fdct8x4_neon(short *input, short *output, int pitch);
+RTCD_EXTERN void (*vp8_short_fdct8x4)(short *input, short *output, int pitch);
+
+void vp8_short_idct4x4llm_c(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+void vp8_short_idct4x4llm_v6_dual(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+void vp8_short_idct4x4llm_neon(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+RTCD_EXTERN void (*vp8_short_idct4x4llm)(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+
+void vp8_short_inv_walsh4x4_c(short *input, short *output);
+void vp8_short_inv_walsh4x4_v6(short *input, short *output);
+void vp8_short_inv_walsh4x4_neon(short *input, short *output);
+RTCD_EXTERN void (*vp8_short_inv_walsh4x4)(short *input, short *output);
+
+void vp8_short_inv_walsh4x4_1_c(short *input, short *output);
+#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
+
+void vp8_short_walsh4x4_c(short *input, short *output, int pitch);
+void vp8_short_walsh4x4_armv6(short *input, short *output, int pitch);
+void vp8_short_walsh4x4_neon(short *input, short *output, int pitch);
+RTCD_EXTERN void (*vp8_short_walsh4x4)(short *input, short *output, int pitch);
+
+void vp8_sixtap_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict16x16_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict16x16_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+RTCD_EXTERN void (*vp8_sixtap_predict16x16)(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+
+void vp8_sixtap_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict4x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_armv6
+
+void vp8_sixtap_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+RTCD_EXTERN void (*vp8_sixtap_predict8x4)(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+
+void vp8_sixtap_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x8_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x8_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+RTCD_EXTERN void (*vp8_sixtap_predict8x8)(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+
+void vp8_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+ vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_armv6;
+ if (flags & HAS_NEON) vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_neon;
+ vp8_bilinear_predict8x4 = vp8_bilinear_predict8x4_armv6;
+ if (flags & HAS_NEON) vp8_bilinear_predict8x4 = vp8_bilinear_predict8x4_neon;
+ vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_armv6;
+ if (flags & HAS_NEON) vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_neon;
+ vp8_build_intra_predictors_mbuv_s = vp8_build_intra_predictors_mbuv_s_c;
+ if (flags & HAS_NEON) vp8_build_intra_predictors_mbuv_s = vp8_build_intra_predictors_mbuv_s_neon;
+ vp8_build_intra_predictors_mby_s = vp8_build_intra_predictors_mby_s_c;
+ if (flags & HAS_NEON) vp8_build_intra_predictors_mby_s = vp8_build_intra_predictors_mby_s_neon;
+ vp8_copy_mem16x16 = vp8_copy_mem16x16_v6;
+ if (flags & HAS_NEON) vp8_copy_mem16x16 = vp8_copy_mem16x16_neon;
+ vp8_copy_mem8x4 = vp8_copy_mem8x4_v6;
+ if (flags & HAS_NEON) vp8_copy_mem8x4 = vp8_copy_mem8x4_neon;
+ vp8_copy_mem8x8 = vp8_copy_mem8x8_v6;
+ if (flags & HAS_NEON) vp8_copy_mem8x8 = vp8_copy_mem8x8_neon;
+ vp8_dc_only_idct_add = vp8_dc_only_idct_add_v6;
+ if (flags & HAS_NEON) vp8_dc_only_idct_add = vp8_dc_only_idct_add_neon;
+ vp8_denoiser_filter = vp8_denoiser_filter_c;
+ if (flags & HAS_NEON) vp8_denoiser_filter = vp8_denoiser_filter_neon;
+ vp8_denoiser_filter_uv = vp8_denoiser_filter_uv_c;
+ if (flags & HAS_NEON) vp8_denoiser_filter_uv = vp8_denoiser_filter_uv_neon;
+ vp8_dequant_idct_add = vp8_dequant_idct_add_v6;
+ if (flags & HAS_NEON) vp8_dequant_idct_add = vp8_dequant_idct_add_neon;
+ vp8_dequant_idct_add_uv_block = vp8_dequant_idct_add_uv_block_v6;
+ if (flags & HAS_NEON) vp8_dequant_idct_add_uv_block = vp8_dequant_idct_add_uv_block_neon;
+ vp8_dequant_idct_add_y_block = vp8_dequant_idct_add_y_block_v6;
+ if (flags & HAS_NEON) vp8_dequant_idct_add_y_block = vp8_dequant_idct_add_y_block_neon;
+ vp8_dequantize_b = vp8_dequantize_b_v6;
+ if (flags & HAS_NEON) vp8_dequantize_b = vp8_dequantize_b_neon;
+ vp8_fast_quantize_b = vp8_fast_quantize_b_c;
+ if (flags & HAS_NEON) vp8_fast_quantize_b = vp8_fast_quantize_b_neon;
+ vp8_loop_filter_bh = vp8_loop_filter_bh_armv6;
+ if (flags & HAS_NEON) vp8_loop_filter_bh = vp8_loop_filter_bh_neon;
+ vp8_loop_filter_bv = vp8_loop_filter_bv_armv6;
+ if (flags & HAS_NEON) vp8_loop_filter_bv = vp8_loop_filter_bv_neon;
+ vp8_loop_filter_mbh = vp8_loop_filter_mbh_armv6;
+ if (flags & HAS_NEON) vp8_loop_filter_mbh = vp8_loop_filter_mbh_neon;
+ vp8_loop_filter_mbv = vp8_loop_filter_mbv_armv6;
+ if (flags & HAS_NEON) vp8_loop_filter_mbv = vp8_loop_filter_mbv_neon;
+ vp8_loop_filter_simple_bh = vp8_loop_filter_bhs_armv6;
+ if (flags & HAS_NEON) vp8_loop_filter_simple_bh = vp8_loop_filter_bhs_neon;
+ vp8_loop_filter_simple_bv = vp8_loop_filter_bvs_armv6;
+ if (flags & HAS_NEON) vp8_loop_filter_simple_bv = vp8_loop_filter_bvs_neon;
+ vp8_loop_filter_simple_mbh = vp8_loop_filter_simple_horizontal_edge_armv6;
+ if (flags & HAS_NEON) vp8_loop_filter_simple_mbh = vp8_loop_filter_mbhs_neon;
+ vp8_loop_filter_simple_mbv = vp8_loop_filter_simple_vertical_edge_armv6;
+ if (flags & HAS_NEON) vp8_loop_filter_simple_mbv = vp8_loop_filter_mbvs_neon;
+ vp8_short_fdct4x4 = vp8_short_fdct4x4_armv6;
+ if (flags & HAS_NEON) vp8_short_fdct4x4 = vp8_short_fdct4x4_neon;
+ vp8_short_fdct8x4 = vp8_short_fdct8x4_armv6;
+ if (flags & HAS_NEON) vp8_short_fdct8x4 = vp8_short_fdct8x4_neon;
+ vp8_short_idct4x4llm = vp8_short_idct4x4llm_v6_dual;
+ if (flags & HAS_NEON) vp8_short_idct4x4llm = vp8_short_idct4x4llm_neon;
+ vp8_short_inv_walsh4x4 = vp8_short_inv_walsh4x4_v6;
+ if (flags & HAS_NEON) vp8_short_inv_walsh4x4 = vp8_short_inv_walsh4x4_neon;
+ vp8_short_walsh4x4 = vp8_short_walsh4x4_armv6;
+ if (flags & HAS_NEON) vp8_short_walsh4x4 = vp8_short_walsh4x4_neon;
+ vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_armv6;
+ if (flags & HAS_NEON) vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_neon;
+ vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_armv6;
+ if (flags & HAS_NEON) vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_neon;
+ vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_armv6;
+ if (flags & HAS_NEON) vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_neon;
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp9_rtcd.h b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp9_rtcd.h
new file mode 100644
index 0000000..7d69b4c
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vp9_rtcd.h
@@ -0,0 +1,174 @@
+#ifndef VP9_RTCD_H_
+#define VP9_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP9
+ */
+
+#include "vpx/vpx_integer.h"
+#include "vp9/common/vp9_common.h"
+#include "vp9/common/vp9_enums.h"
+
+struct macroblockd;
+
+/* Encoder forward decls */
+struct macroblock;
+struct vp9_variance_vtable;
+struct search_site_config;
+struct mv;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+unsigned int vp9_avg_4x4_c(const uint8_t *, int p);
+#define vp9_avg_4x4 vp9_avg_4x4_c
+
+unsigned int vp9_avg_8x8_c(const uint8_t *, int p);
+unsigned int vp9_avg_8x8_neon(const uint8_t *, int p);
+RTCD_EXTERN unsigned int (*vp9_avg_8x8)(const uint8_t *, int p);
+
+int64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
+#define vp9_block_error vp9_block_error_c
+
+int64_t vp9_block_error_fp_c(const int16_t *coeff, const int16_t *dqcoeff, int block_size);
+int64_t vp9_block_error_fp_neon(const int16_t *coeff, const int16_t *dqcoeff, int block_size);
+RTCD_EXTERN int64_t (*vp9_block_error_fp)(const int16_t *coeff, const int16_t *dqcoeff, int block_size);
+
+int vp9_denoiser_filter_c(const uint8_t *sig, int sig_stride, const uint8_t *mc_avg, int mc_avg_stride, uint8_t *avg, int avg_stride, int increase_denoising, BLOCK_SIZE bs, int motion_magnitude);
+#define vp9_denoiser_filter vp9_denoiser_filter_c
+
+int vp9_diamond_search_sad_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
+#define vp9_diamond_search_sad vp9_diamond_search_sad_c
+
+void vp9_fdct8x8_quant_c(const int16_t *input, int stride, tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+void vp9_fdct8x8_quant_neon(const int16_t *input, int stride, tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+RTCD_EXTERN void (*vp9_fdct8x8_quant)(const int16_t *input, int stride, tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+
+void vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht16x16 vp9_fht16x16_c
+
+void vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht4x4 vp9_fht4x4_c
+
+void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht8x8 vp9_fht8x8_c
+
+void vp9_filter_by_weight16x16_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight);
+#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
+
+void vp9_filter_by_weight8x8_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight);
+#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
+
+int vp9_full_range_search_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
+#define vp9_full_range_search vp9_full_range_search_c
+
+int vp9_full_search_sad_c(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv, struct mv *best_mv);
+#define vp9_full_search_sad vp9_full_search_sad_c
+
+void vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define vp9_fwht4x4 vp9_fwht4x4_c
+
+void vp9_hadamard_16x16_c(int16_t const *src_diff, int src_stride, int16_t *coeff);
+#define vp9_hadamard_16x16 vp9_hadamard_16x16_c
+
+void vp9_hadamard_8x8_c(int16_t const *src_diff, int src_stride, int16_t *coeff);
+#define vp9_hadamard_8x8 vp9_hadamard_8x8_c
+
+void vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
+#define vp9_iht16x16_256_add vp9_iht16x16_256_add_c
+
+void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+void vp9_iht4x4_16_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+RTCD_EXTERN void (*vp9_iht4x4_16_add)(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+
+void vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+void vp9_iht8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+RTCD_EXTERN void (*vp9_iht8x8_64_add)(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+
+int16_t vp9_int_pro_col_c(uint8_t const *ref, const int width);
+int16_t vp9_int_pro_col_neon(uint8_t const *ref, const int width);
+RTCD_EXTERN int16_t (*vp9_int_pro_col)(uint8_t const *ref, const int width);
+
+void vp9_int_pro_row_c(int16_t *hbuf, uint8_t const *ref, const int ref_stride, const int height);
+void vp9_int_pro_row_neon(int16_t *hbuf, uint8_t const *ref, const int ref_stride, const int height);
+RTCD_EXTERN void (*vp9_int_pro_row)(int16_t *hbuf, uint8_t const *ref, const int ref_stride, const int height);
+
+void vp9_mbpost_proc_across_ip_c(uint8_t *src, int pitch, int rows, int cols, int flimit);
+#define vp9_mbpost_proc_across_ip vp9_mbpost_proc_across_ip_c
+
+void vp9_mbpost_proc_down_c(uint8_t *dst, int pitch, int rows, int cols, int flimit);
+#define vp9_mbpost_proc_down vp9_mbpost_proc_down_c
+
+void vp9_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
+#define vp9_minmax_8x8 vp9_minmax_8x8_c
+
+void vp9_plane_add_noise_c(uint8_t *Start, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height, int Pitch);
+#define vp9_plane_add_noise vp9_plane_add_noise_c
+
+void vp9_post_proc_down_and_across_c(const uint8_t *src_ptr, uint8_t *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit);
+#define vp9_post_proc_down_and_across vp9_post_proc_down_and_across_c
+
+void vp9_quantize_fp_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+void vp9_quantize_fp_neon(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+RTCD_EXTERN void (*vp9_quantize_fp)(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+
+void vp9_quantize_fp_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
+
+int16_t vp9_satd_c(const int16_t *coeff, int length);
+#define vp9_satd vp9_satd_c
+
+void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
+#define vp9_temporal_filter_apply vp9_temporal_filter_apply_c
+
+int vp9_vector_var_c(int16_t const *ref, int16_t const *src, const int bwl);
+int vp9_vector_var_neon(int16_t const *ref, int16_t const *src, const int bwl);
+RTCD_EXTERN int (*vp9_vector_var)(int16_t const *ref, int16_t const *src, const int bwl);
+
+void vp9_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+ vp9_avg_8x8 = vp9_avg_8x8_c;
+ if (flags & HAS_NEON) vp9_avg_8x8 = vp9_avg_8x8_neon;
+ vp9_block_error_fp = vp9_block_error_fp_c;
+ if (flags & HAS_NEON) vp9_block_error_fp = vp9_block_error_fp_neon;
+ vp9_fdct8x8_quant = vp9_fdct8x8_quant_c;
+ if (flags & HAS_NEON) vp9_fdct8x8_quant = vp9_fdct8x8_quant_neon;
+ vp9_iht4x4_16_add = vp9_iht4x4_16_add_c;
+ if (flags & HAS_NEON) vp9_iht4x4_16_add = vp9_iht4x4_16_add_neon;
+ vp9_iht8x8_64_add = vp9_iht8x8_64_add_c;
+ if (flags & HAS_NEON) vp9_iht8x8_64_add = vp9_iht8x8_64_add_neon;
+ vp9_int_pro_col = vp9_int_pro_col_c;
+ if (flags & HAS_NEON) vp9_int_pro_col = vp9_int_pro_col_neon;
+ vp9_int_pro_row = vp9_int_pro_row_c;
+ if (flags & HAS_NEON) vp9_int_pro_row = vp9_int_pro_row_neon;
+ vp9_quantize_fp = vp9_quantize_fp_c;
+ if (flags & HAS_NEON) vp9_quantize_fp = vp9_quantize_fp_neon;
+ vp9_vector_var = vp9_vector_var_c;
+ if (flags & HAS_NEON) vp9_vector_var = vp9_vector_var_neon;
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.asm b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.asm
new file mode 100644
index 0000000..5e71300
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.asm
@@ -0,0 +1,91 @@
+@ This file was created from a .asm file
+@ using the ads2gas.pl script.
+ .equ DO1STROUNDING, 0
+.equ ARCH_ARM , 1
+.equ ARCH_MIPS , 0
+.equ ARCH_X86 , 0
+.equ ARCH_X86_64 , 0
+.equ HAVE_EDSP , 0
+.equ HAVE_MEDIA , 1
+.equ HAVE_NEON , 1
+.equ HAVE_NEON_ASM , 1
+.equ HAVE_MIPS32 , 0
+.equ HAVE_DSPR2 , 0
+.equ HAVE_MSA , 0
+.equ HAVE_MIPS64 , 0
+.equ HAVE_MMX , 0
+.equ HAVE_SSE , 0
+.equ HAVE_SSE2 , 0
+.equ HAVE_SSE3 , 0
+.equ HAVE_SSSE3 , 0
+.equ HAVE_SSE4_1 , 0
+.equ HAVE_AVX , 0
+.equ HAVE_AVX2 , 0
+.equ HAVE_VPX_PORTS , 1
+.equ HAVE_STDINT_H , 1
+.equ HAVE_PTHREAD_H , 1
+.equ HAVE_SYS_MMAN_H , 1
+.equ HAVE_UNISTD_H , 0
+.equ CONFIG_DEPENDENCY_TRACKING , 1
+.equ CONFIG_EXTERNAL_BUILD , 1
+.equ CONFIG_INSTALL_DOCS , 0
+.equ CONFIG_INSTALL_BINS , 1
+.equ CONFIG_INSTALL_LIBS , 1
+.equ CONFIG_INSTALL_SRCS , 0
+.equ CONFIG_USE_X86INC , 0
+.equ CONFIG_DEBUG , 0
+.equ CONFIG_GPROF , 0
+.equ CONFIG_GCOV , 0
+.equ CONFIG_RVCT , 0
+.equ CONFIG_GCC , 1
+.equ CONFIG_MSVS , 0
+.equ CONFIG_PIC , 1
+.equ CONFIG_BIG_ENDIAN , 0
+.equ CONFIG_CODEC_SRCS , 0
+.equ CONFIG_DEBUG_LIBS , 0
+.equ CONFIG_DEQUANT_TOKENS , 0
+.equ CONFIG_DC_RECON , 0
+.equ CONFIG_RUNTIME_CPU_DETECT , 1
+.equ CONFIG_POSTPROC , 1
+.equ CONFIG_VP9_POSTPROC , 1
+.equ CONFIG_MULTITHREAD , 1
+.equ CONFIG_INTERNAL_STATS , 0
+.equ CONFIG_VP8_ENCODER , 1
+.equ CONFIG_VP8_DECODER , 1
+.equ CONFIG_VP9_ENCODER , 1
+.equ CONFIG_VP9_DECODER , 1
+.equ CONFIG_VP10_ENCODER , 0
+.equ CONFIG_VP10_DECODER , 0
+.equ CONFIG_VP8 , 1
+.equ CONFIG_VP9 , 1
+.equ CONFIG_VP10 , 0
+.equ CONFIG_ENCODERS , 1
+.equ CONFIG_DECODERS , 1
+.equ CONFIG_STATIC_MSVCRT , 0
+.equ CONFIG_SPATIAL_RESAMPLING , 1
+.equ CONFIG_REALTIME_ONLY , 1
+.equ CONFIG_ONTHEFLY_BITPACKING , 0
+.equ CONFIG_ERROR_CONCEALMENT , 0
+.equ CONFIG_SHARED , 0
+.equ CONFIG_STATIC , 1
+.equ CONFIG_SMALL , 0
+.equ CONFIG_POSTPROC_VISUALIZER , 0
+.equ CONFIG_OS_SUPPORT , 1
+.equ CONFIG_UNIT_TESTS , 0
+.equ CONFIG_WEBM_IO , 1
+.equ CONFIG_LIBYUV , 1
+.equ CONFIG_DECODE_PERF_TESTS , 0
+.equ CONFIG_ENCODE_PERF_TESTS , 0
+.equ CONFIG_MULTI_RES_ENCODING , 1
+.equ CONFIG_TEMPORAL_DENOISING , 1
+.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
+.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
+.equ CONFIG_VP9_HIGHBITDEPTH , 0
+.equ CONFIG_EXPERIMENTAL , 0
+.equ CONFIG_SIZE_LIMIT , 1
+.equ CONFIG_SPATIAL_SVC , 0
+.equ CONFIG_FP_MB_STATS , 0
+.equ CONFIG_EMULATE_HARDWARE , 0
+.equ DECODE_WIDTH_LIMIT , 16384
+.equ DECODE_HEIGHT_LIMIT , 16384
+ .section .note.GNU-stack,"",%progbits
diff --git a/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.c b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.c
new file mode 100644
index 0000000..721ab0a
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.c
@@ -0,0 +1,10 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
+/* Use of this source code is governed by a BSD-style license */
+/* that can be found in the LICENSE file in the root of the source */
+/* tree. An additional intellectual property rights grant can be found */
+/* in the file PATENTS. All contributing project authors may */
+/* be found in the AUTHORS file in the root of the source tree. */
+#include "vpx/vpx_codec.h"
+static const char* const cfg = "--target=armv7-linux-gcc --enable-pic --enable-realtime-only --enable-runtime-cpu-detect --disable-edsp --enable-external-build --enable-postproc --disable-install-srcs --enable-multi-res-encoding --enable-temporal-denoising --disable-unit-tests --disable-install-docs --disable-examples --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384";
+const char *vpx_codec_build_config(void) {return cfg;}
diff --git a/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.h b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.h
new file mode 100644
index 0000000..f1dcd71
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_config.h
@@ -0,0 +1,100 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
+/* Use of this source code is governed by a BSD-style license */
+/* that can be found in the LICENSE file in the root of the source */
+/* tree. An additional intellectual property rights grant can be found */
+/* in the file PATENTS. All contributing project authors may */
+/* be found in the AUTHORS file in the root of the source tree. */
+/* This file automatically generated by configure. Do not edit! */
+#ifndef VPX_CONFIG_H
+#define VPX_CONFIG_H
+#define RESTRICT
+#define INLINE inline
+#define ARCH_ARM 1
+#define ARCH_MIPS 0
+#define ARCH_X86 0
+#define ARCH_X86_64 0
+#define HAVE_EDSP 0
+#define HAVE_MEDIA 1
+#define HAVE_NEON 1
+#define HAVE_NEON_ASM 1
+#define HAVE_MIPS32 0
+#define HAVE_DSPR2 0
+#define HAVE_MSA 0
+#define HAVE_MIPS64 0
+#define HAVE_MMX 0
+#define HAVE_SSE 0
+#define HAVE_SSE2 0
+#define HAVE_SSE3 0
+#define HAVE_SSSE3 0
+#define HAVE_SSE4_1 0
+#define HAVE_AVX 0
+#define HAVE_AVX2 0
+#define HAVE_VPX_PORTS 1
+#define HAVE_STDINT_H 1
+#define HAVE_PTHREAD_H 1
+#define HAVE_SYS_MMAN_H 1
+#define HAVE_UNISTD_H 0
+#define CONFIG_DEPENDENCY_TRACKING 1
+#define CONFIG_EXTERNAL_BUILD 1
+#define CONFIG_INSTALL_DOCS 0
+#define CONFIG_INSTALL_BINS 1
+#define CONFIG_INSTALL_LIBS 1
+#define CONFIG_INSTALL_SRCS 0
+#define CONFIG_USE_X86INC 0
+#define CONFIG_DEBUG 0
+#define CONFIG_GPROF 0
+#define CONFIG_GCOV 0
+#define CONFIG_RVCT 0
+#define CONFIG_GCC 1
+#define CONFIG_MSVS 0
+#define CONFIG_PIC 1
+#define CONFIG_BIG_ENDIAN 0
+#define CONFIG_CODEC_SRCS 0
+#define CONFIG_DEBUG_LIBS 0
+#define CONFIG_DEQUANT_TOKENS 0
+#define CONFIG_DC_RECON 0
+#define CONFIG_RUNTIME_CPU_DETECT 1
+#define CONFIG_POSTPROC 1
+#define CONFIG_VP9_POSTPROC 1
+#define CONFIG_MULTITHREAD 1
+#define CONFIG_INTERNAL_STATS 0
+#define CONFIG_VP8_ENCODER 1
+#define CONFIG_VP8_DECODER 1
+#define CONFIG_VP9_ENCODER 1
+#define CONFIG_VP9_DECODER 1
+#define CONFIG_VP10_ENCODER 0
+#define CONFIG_VP10_DECODER 0
+#define CONFIG_VP8 1
+#define CONFIG_VP9 1
+#define CONFIG_VP10 0
+#define CONFIG_ENCODERS 1
+#define CONFIG_DECODERS 1
+#define CONFIG_STATIC_MSVCRT 0
+#define CONFIG_SPATIAL_RESAMPLING 1
+#define CONFIG_REALTIME_ONLY 1
+#define CONFIG_ONTHEFLY_BITPACKING 0
+#define CONFIG_ERROR_CONCEALMENT 0
+#define CONFIG_SHARED 0
+#define CONFIG_STATIC 1
+#define CONFIG_SMALL 0
+#define CONFIG_POSTPROC_VISUALIZER 0
+#define CONFIG_OS_SUPPORT 1
+#define CONFIG_UNIT_TESTS 0
+#define CONFIG_WEBM_IO 1
+#define CONFIG_LIBYUV 1
+#define CONFIG_DECODE_PERF_TESTS 0
+#define CONFIG_ENCODE_PERF_TESTS 0
+#define CONFIG_MULTI_RES_ENCODING 1
+#define CONFIG_TEMPORAL_DENOISING 1
+#define CONFIG_VP9_TEMPORAL_DENOISING 1
+#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
+#define CONFIG_VP9_HIGHBITDEPTH 0
+#define CONFIG_EXPERIMENTAL 0
+#define CONFIG_SIZE_LIMIT 1
+#define CONFIG_SPATIAL_SVC 0
+#define CONFIG_FP_MB_STATS 0
+#define CONFIG_EMULATE_HARDWARE 0
+#define DECODE_WIDTH_LIMIT 16384
+#define DECODE_HEIGHT_LIMIT 16384
+#endif /* VPX_CONFIG_H */
diff --git a/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_dsp_rtcd.h b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_dsp_rtcd.h
new file mode 100644
index 0000000..64fce3a
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_dsp_rtcd.h
@@ -0,0 +1,947 @@
+#ifndef VPX_DSP_RTCD_H_
+#define VPX_DSP_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * DSP
+ */
+
+#include "vpx/vpx_integer.h"
+#include "vpx_dsp/vpx_dsp_common.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vpx_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride);
+#define vpx_comp_avg_pred vpx_comp_avg_pred_c
+
+void vpx_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+RTCD_EXTERN void (*vpx_convolve8)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+
+void vpx_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+RTCD_EXTERN void (*vpx_convolve8_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+
+void vpx_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_avg_horiz_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+RTCD_EXTERN void (*vpx_convolve8_avg_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+
+void vpx_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_avg_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+RTCD_EXTERN void (*vpx_convolve8_avg_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+
+void vpx_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_horiz_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+RTCD_EXTERN void (*vpx_convolve8_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+
+void vpx_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+RTCD_EXTERN void (*vpx_convolve8_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+
+void vpx_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+RTCD_EXTERN void (*vpx_convolve_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+
+void vpx_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve_copy_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+RTCD_EXTERN void (*vpx_convolve_copy)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+
+void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
+
+void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
+
+void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
+
+void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
+
+void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c
+
+void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c
+
+void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d135_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_d135_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c
+
+void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c
+
+void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c
+
+void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c
+
+void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c
+
+void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c
+
+void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c
+
+void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c
+
+void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c
+
+void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d45_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_d45_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_c
+
+void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d45_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_d45_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d45_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_d45_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c
+
+void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c
+
+void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c
+
+void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c
+
+void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_128_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_128_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_128_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_128_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_left_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_left_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_left_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_left_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_top_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_top_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_top_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_dc_top_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct16x16 vpx_fdct16x16_c
+
+void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct16x16_1 vpx_fdct16x16_1_c
+
+void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32 vpx_fdct32x32_c
+
+void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32_1 vpx_fdct32x32_1_c
+
+void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32_rd vpx_fdct32x32_rd_c
+
+void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct4x4 vpx_fdct4x4_c
+
+void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct4x4_1 vpx_fdct4x4_1_c
+
+void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
+void vpx_fdct8x8_neon(const int16_t *input, tran_low_t *output, int stride);
+RTCD_EXTERN void (*vpx_fdct8x8)(const int16_t *input, tran_low_t *output, int stride);
+
+void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
+void vpx_fdct8x8_1_neon(const int16_t *input, tran_low_t *output, int stride);
+RTCD_EXTERN void (*vpx_fdct8x8_1)(const int16_t *input, tran_low_t *output, int stride);
+
+void vpx_get16x16var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+void vpx_get16x16var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+RTCD_EXTERN void (*vpx_get16x16var)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+
+unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
+unsigned int vpx_get4x4sse_cs_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
+RTCD_EXTERN unsigned int (*vpx_get4x4sse_cs)(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
+
+void vpx_get8x8var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+void vpx_get8x8var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+RTCD_EXTERN void (*vpx_get8x8var)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+
+unsigned int vpx_get_mb_ss_c(const int16_t *);
+#define vpx_get_mb_ss vpx_get_mb_ss_c
+
+void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_h_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_h_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_h_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_h_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct16x16_10_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct16x16_10_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct16x16_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct16x16_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct16x16_256_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct16x16_256_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct32x32_1024_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct32x32_1024_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct32x32_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct32x32_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct32x32_1024_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct32x32_34_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct4x4_16_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct4x4_16_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct4x4_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct4x4_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct8x8_12_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct8x8_12_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct8x8_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct8x8_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+RTCD_EXTERN void (*vpx_idct8x8_64_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
+
+void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c
+
+void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
+
+void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_horizontal_16_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+RTCD_EXTERN void (*vpx_lpf_horizontal_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+
+void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_horizontal_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+RTCD_EXTERN void (*vpx_lpf_horizontal_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+
+void vpx_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+void vpx_lpf_horizontal_4_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+RTCD_EXTERN void (*vpx_lpf_horizontal_4_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+
+void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_horizontal_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+RTCD_EXTERN void (*vpx_lpf_horizontal_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+
+void vpx_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+void vpx_lpf_horizontal_8_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+RTCD_EXTERN void (*vpx_lpf_horizontal_8_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+
+void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+void vpx_lpf_vertical_16_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+RTCD_EXTERN void (*vpx_lpf_vertical_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+
+void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+void vpx_lpf_vertical_16_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+RTCD_EXTERN void (*vpx_lpf_vertical_16_dual)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+
+void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_vertical_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+RTCD_EXTERN void (*vpx_lpf_vertical_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+
+void vpx_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+void vpx_lpf_vertical_4_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+RTCD_EXTERN void (*vpx_lpf_vertical_4_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+
+void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_vertical_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+RTCD_EXTERN void (*vpx_lpf_vertical_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+
+void vpx_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+void vpx_lpf_vertical_8_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+RTCD_EXTERN void (*vpx_lpf_vertical_8_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+
+unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+unsigned int vpx_mse16x16_media(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+unsigned int vpx_mse16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+RTCD_EXTERN unsigned int (*vpx_mse16x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+
+unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse16x8 vpx_mse16x8_c
+
+unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse8x16 vpx_mse8x16_c
+
+unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse8x8 vpx_mse8x8_c
+
+void vpx_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vpx_quantize_b vpx_quantize_b_c
+
+void vpx_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vpx_quantize_b_32x32 vpx_quantize_b_32x32_c
+
+unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad16x16_media(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad16x16_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+RTCD_EXTERN unsigned int (*vpx_sad16x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+
+unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x16_avg vpx_sad16x16_avg_c
+
+void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x3 vpx_sad16x16x3_c
+
+void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+void vpx_sad16x16x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+RTCD_EXTERN void (*vpx_sad16x16x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+
+void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x8 vpx_sad16x16x8_c
+
+unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x32 vpx_sad16x32_c
+
+unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x32_avg vpx_sad16x32_avg_c
+
+void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x32x4d vpx_sad16x32x4d_c
+
+unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad16x8_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+RTCD_EXTERN unsigned int (*vpx_sad16x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+
+unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x8_avg vpx_sad16x8_avg_c
+
+void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x3 vpx_sad16x8x3_c
+
+void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x4d vpx_sad16x8x4d_c
+
+void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x8 vpx_sad16x8x8_c
+
+unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x16 vpx_sad32x16_c
+
+unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x16_avg vpx_sad32x16_avg_c
+
+void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x16x4d vpx_sad32x16x4d_c
+
+unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad32x32_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+RTCD_EXTERN unsigned int (*vpx_sad32x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+
+unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x32_avg vpx_sad32x32_avg_c
+
+void vpx_sad32x32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x3 vpx_sad32x32x3_c
+
+void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+void vpx_sad32x32x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+RTCD_EXTERN void (*vpx_sad32x32x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+
+void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x8 vpx_sad32x32x8_c
+
+unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x64 vpx_sad32x64_c
+
+unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x64_avg vpx_sad32x64_avg_c
+
+void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x64x4d vpx_sad32x64x4d_c
+
+unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad4x4_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+RTCD_EXTERN unsigned int (*vpx_sad4x4)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+
+unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad4x4_avg vpx_sad4x4_avg_c
+
+void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x3 vpx_sad4x4x3_c
+
+void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x4d vpx_sad4x4x4d_c
+
+void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x8 vpx_sad4x4x8_c
+
+unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad4x8 vpx_sad4x8_c
+
+unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad4x8_avg vpx_sad4x8_avg_c
+
+void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x8x4d vpx_sad4x8x4d_c
+
+void vpx_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x8x8 vpx_sad4x8x8_c
+
+unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad64x32 vpx_sad64x32_c
+
+unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad64x32_avg vpx_sad64x32_avg_c
+
+void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x32x4d vpx_sad64x32x4d_c
+
+unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad64x64_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+RTCD_EXTERN unsigned int (*vpx_sad64x64)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+
+unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad64x64_avg vpx_sad64x64_avg_c
+
+void vpx_sad64x64x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x3 vpx_sad64x64x3_c
+
+void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+void vpx_sad64x64x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+RTCD_EXTERN void (*vpx_sad64x64x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+
+void vpx_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x8 vpx_sad64x64x8_c
+
+unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad8x16_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+RTCD_EXTERN unsigned int (*vpx_sad8x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+
+unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x16_avg vpx_sad8x16_avg_c
+
+void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x3 vpx_sad8x16x3_c
+
+void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x4d vpx_sad8x16x4d_c
+
+void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x8 vpx_sad8x16x8_c
+
+unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x4 vpx_sad8x4_c
+
+unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x4_avg vpx_sad8x4_avg_c
+
+void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x4x4d vpx_sad8x4x4d_c
+
+void vpx_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x4x8 vpx_sad8x4x8_c
+
+unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad8x8_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+RTCD_EXTERN unsigned int (*vpx_sad8x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+
+unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x8_avg vpx_sad8x8_avg_c
+
+void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x3 vpx_sad8x8x3_c
+
+void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x4d vpx_sad8x8x4d_c
+
+void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x8 vpx_sad8x8x8_c
+
+void vpx_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_2d vpx_scaled_2d_c
+
+void vpx_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
+
+void vpx_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
+
+void vpx_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
+
+void vpx_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_horiz vpx_scaled_horiz_c
+
+void vpx_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_vert vpx_scaled_vert_c
+
+uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c
+
+uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c
+
+uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c
+
+uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c
+
+uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c
+
+uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c
+
+uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c
+
+uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c
+
+uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c
+
+uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_c
+
+uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c
+
+uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c
+
+uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c
+
+uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance16x16_media(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance16x16_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+
+uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_c
+
+uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_c
+
+uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_c
+
+uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance32x32_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+
+uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_c
+
+uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c
+
+uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c
+
+uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_c
+
+uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance64x64_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance64x64)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+
+uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_c
+
+uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_c
+
+uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance8x8_media(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance8x8_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+
+void vpx_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
+void vpx_subtract_block_neon(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
+RTCD_EXTERN void (*vpx_subtract_block)(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
+
+void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_tm_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_tm_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_tm_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_tm_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_v_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_v_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_v_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+RTCD_EXTERN void (*vpx_v_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+
+unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance16x16_media(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+RTCD_EXTERN unsigned int (*vpx_variance16x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+
+unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x32 vpx_variance16x32_c
+
+unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance16x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+RTCD_EXTERN unsigned int (*vpx_variance16x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+
+unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x16 vpx_variance32x16_c
+
+unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance32x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+RTCD_EXTERN unsigned int (*vpx_variance32x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+
+unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance32x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+RTCD_EXTERN unsigned int (*vpx_variance32x64)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+
+unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance4x4 vpx_variance4x4_c
+
+unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance4x8 vpx_variance4x8_c
+
+unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance64x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+RTCD_EXTERN unsigned int (*vpx_variance64x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+
+unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance64x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+RTCD_EXTERN unsigned int (*vpx_variance64x64)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+
+unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance8x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+RTCD_EXTERN unsigned int (*vpx_variance8x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+
+unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x4 vpx_variance8x4_c
+
+unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance8x8_media(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance8x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+RTCD_EXTERN unsigned int (*vpx_variance8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+
+uint32_t vpx_variance_halfpixvar16x16_h_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_variance_halfpixvar16x16_h_media(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_h vpx_variance_halfpixvar16x16_h_media
+
+uint32_t vpx_variance_halfpixvar16x16_hv_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_variance_halfpixvar16x16_hv_media(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_hv vpx_variance_halfpixvar16x16_hv_media
+
+uint32_t vpx_variance_halfpixvar16x16_v_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_variance_halfpixvar16x16_v_media(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_v vpx_variance_halfpixvar16x16_v_media
+
+void vpx_dsp_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+ vpx_convolve8 = vpx_convolve8_c;
+ if (flags & HAS_NEON) vpx_convolve8 = vpx_convolve8_neon;
+ vpx_convolve8_avg = vpx_convolve8_avg_c;
+ if (flags & HAS_NEON) vpx_convolve8_avg = vpx_convolve8_avg_neon;
+ vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_c;
+ if (flags & HAS_NEON) vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_neon;
+ vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_c;
+ if (flags & HAS_NEON) vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_neon;
+ vpx_convolve8_horiz = vpx_convolve8_horiz_c;
+ if (flags & HAS_NEON) vpx_convolve8_horiz = vpx_convolve8_horiz_neon;
+ vpx_convolve8_vert = vpx_convolve8_vert_c;
+ if (flags & HAS_NEON) vpx_convolve8_vert = vpx_convolve8_vert_neon;
+ vpx_convolve_avg = vpx_convolve_avg_c;
+ if (flags & HAS_NEON) vpx_convolve_avg = vpx_convolve_avg_neon;
+ vpx_convolve_copy = vpx_convolve_copy_c;
+ if (flags & HAS_NEON) vpx_convolve_copy = vpx_convolve_copy_neon;
+ vpx_d135_predictor_4x4 = vpx_d135_predictor_4x4_c;
+ if (flags & HAS_NEON) vpx_d135_predictor_4x4 = vpx_d135_predictor_4x4_neon;
+ vpx_d45_predictor_16x16 = vpx_d45_predictor_16x16_c;
+ if (flags & HAS_NEON) vpx_d45_predictor_16x16 = vpx_d45_predictor_16x16_neon;
+ vpx_d45_predictor_4x4 = vpx_d45_predictor_4x4_c;
+ if (flags & HAS_NEON) vpx_d45_predictor_4x4 = vpx_d45_predictor_4x4_neon;
+ vpx_d45_predictor_8x8 = vpx_d45_predictor_8x8_c;
+ if (flags & HAS_NEON) vpx_d45_predictor_8x8 = vpx_d45_predictor_8x8_neon;
+ vpx_dc_128_predictor_16x16 = vpx_dc_128_predictor_16x16_c;
+ if (flags & HAS_NEON) vpx_dc_128_predictor_16x16 = vpx_dc_128_predictor_16x16_neon;
+ vpx_dc_128_predictor_32x32 = vpx_dc_128_predictor_32x32_c;
+ if (flags & HAS_NEON) vpx_dc_128_predictor_32x32 = vpx_dc_128_predictor_32x32_neon;
+ vpx_dc_128_predictor_4x4 = vpx_dc_128_predictor_4x4_c;
+ if (flags & HAS_NEON) vpx_dc_128_predictor_4x4 = vpx_dc_128_predictor_4x4_neon;
+ vpx_dc_128_predictor_8x8 = vpx_dc_128_predictor_8x8_c;
+ if (flags & HAS_NEON) vpx_dc_128_predictor_8x8 = vpx_dc_128_predictor_8x8_neon;
+ vpx_dc_left_predictor_16x16 = vpx_dc_left_predictor_16x16_c;
+ if (flags & HAS_NEON) vpx_dc_left_predictor_16x16 = vpx_dc_left_predictor_16x16_neon;
+ vpx_dc_left_predictor_32x32 = vpx_dc_left_predictor_32x32_c;
+ if (flags & HAS_NEON) vpx_dc_left_predictor_32x32 = vpx_dc_left_predictor_32x32_neon;
+ vpx_dc_left_predictor_4x4 = vpx_dc_left_predictor_4x4_c;
+ if (flags & HAS_NEON) vpx_dc_left_predictor_4x4 = vpx_dc_left_predictor_4x4_neon;
+ vpx_dc_left_predictor_8x8 = vpx_dc_left_predictor_8x8_c;
+ if (flags & HAS_NEON) vpx_dc_left_predictor_8x8 = vpx_dc_left_predictor_8x8_neon;
+ vpx_dc_predictor_16x16 = vpx_dc_predictor_16x16_c;
+ if (flags & HAS_NEON) vpx_dc_predictor_16x16 = vpx_dc_predictor_16x16_neon;
+ vpx_dc_predictor_32x32 = vpx_dc_predictor_32x32_c;
+ if (flags & HAS_NEON) vpx_dc_predictor_32x32 = vpx_dc_predictor_32x32_neon;
+ vpx_dc_predictor_4x4 = vpx_dc_predictor_4x4_c;
+ if (flags & HAS_NEON) vpx_dc_predictor_4x4 = vpx_dc_predictor_4x4_neon;
+ vpx_dc_predictor_8x8 = vpx_dc_predictor_8x8_c;
+ if (flags & HAS_NEON) vpx_dc_predictor_8x8 = vpx_dc_predictor_8x8_neon;
+ vpx_dc_top_predictor_16x16 = vpx_dc_top_predictor_16x16_c;
+ if (flags & HAS_NEON) vpx_dc_top_predictor_16x16 = vpx_dc_top_predictor_16x16_neon;
+ vpx_dc_top_predictor_32x32 = vpx_dc_top_predictor_32x32_c;
+ if (flags & HAS_NEON) vpx_dc_top_predictor_32x32 = vpx_dc_top_predictor_32x32_neon;
+ vpx_dc_top_predictor_4x4 = vpx_dc_top_predictor_4x4_c;
+ if (flags & HAS_NEON) vpx_dc_top_predictor_4x4 = vpx_dc_top_predictor_4x4_neon;
+ vpx_dc_top_predictor_8x8 = vpx_dc_top_predictor_8x8_c;
+ if (flags & HAS_NEON) vpx_dc_top_predictor_8x8 = vpx_dc_top_predictor_8x8_neon;
+ vpx_fdct8x8 = vpx_fdct8x8_c;
+ if (flags & HAS_NEON) vpx_fdct8x8 = vpx_fdct8x8_neon;
+ vpx_fdct8x8_1 = vpx_fdct8x8_1_c;
+ if (flags & HAS_NEON) vpx_fdct8x8_1 = vpx_fdct8x8_1_neon;
+ vpx_get16x16var = vpx_get16x16var_c;
+ if (flags & HAS_NEON) vpx_get16x16var = vpx_get16x16var_neon;
+ vpx_get4x4sse_cs = vpx_get4x4sse_cs_c;
+ if (flags & HAS_NEON) vpx_get4x4sse_cs = vpx_get4x4sse_cs_neon;
+ vpx_get8x8var = vpx_get8x8var_c;
+ if (flags & HAS_NEON) vpx_get8x8var = vpx_get8x8var_neon;
+ vpx_h_predictor_16x16 = vpx_h_predictor_16x16_c;
+ if (flags & HAS_NEON) vpx_h_predictor_16x16 = vpx_h_predictor_16x16_neon;
+ vpx_h_predictor_32x32 = vpx_h_predictor_32x32_c;
+ if (flags & HAS_NEON) vpx_h_predictor_32x32 = vpx_h_predictor_32x32_neon;
+ vpx_h_predictor_4x4 = vpx_h_predictor_4x4_c;
+ if (flags & HAS_NEON) vpx_h_predictor_4x4 = vpx_h_predictor_4x4_neon;
+ vpx_h_predictor_8x8 = vpx_h_predictor_8x8_c;
+ if (flags & HAS_NEON) vpx_h_predictor_8x8 = vpx_h_predictor_8x8_neon;
+ vpx_idct16x16_10_add = vpx_idct16x16_10_add_c;
+ if (flags & HAS_NEON) vpx_idct16x16_10_add = vpx_idct16x16_10_add_neon;
+ vpx_idct16x16_1_add = vpx_idct16x16_1_add_c;
+ if (flags & HAS_NEON) vpx_idct16x16_1_add = vpx_idct16x16_1_add_neon;
+ vpx_idct16x16_256_add = vpx_idct16x16_256_add_c;
+ if (flags & HAS_NEON) vpx_idct16x16_256_add = vpx_idct16x16_256_add_neon;
+ vpx_idct32x32_1024_add = vpx_idct32x32_1024_add_c;
+ if (flags & HAS_NEON) vpx_idct32x32_1024_add = vpx_idct32x32_1024_add_neon;
+ vpx_idct32x32_1_add = vpx_idct32x32_1_add_c;
+ if (flags & HAS_NEON) vpx_idct32x32_1_add = vpx_idct32x32_1_add_neon;
+ vpx_idct32x32_34_add = vpx_idct32x32_34_add_c;
+ if (flags & HAS_NEON) vpx_idct32x32_34_add = vpx_idct32x32_1024_add_neon;
+ vpx_idct4x4_16_add = vpx_idct4x4_16_add_c;
+ if (flags & HAS_NEON) vpx_idct4x4_16_add = vpx_idct4x4_16_add_neon;
+ vpx_idct4x4_1_add = vpx_idct4x4_1_add_c;
+ if (flags & HAS_NEON) vpx_idct4x4_1_add = vpx_idct4x4_1_add_neon;
+ vpx_idct8x8_12_add = vpx_idct8x8_12_add_c;
+ if (flags & HAS_NEON) vpx_idct8x8_12_add = vpx_idct8x8_12_add_neon;
+ vpx_idct8x8_1_add = vpx_idct8x8_1_add_c;
+ if (flags & HAS_NEON) vpx_idct8x8_1_add = vpx_idct8x8_1_add_neon;
+ vpx_idct8x8_64_add = vpx_idct8x8_64_add_c;
+ if (flags & HAS_NEON) vpx_idct8x8_64_add = vpx_idct8x8_64_add_neon;
+ vpx_lpf_horizontal_16 = vpx_lpf_horizontal_16_c;
+ if (flags & HAS_NEON) vpx_lpf_horizontal_16 = vpx_lpf_horizontal_16_neon;
+ vpx_lpf_horizontal_4 = vpx_lpf_horizontal_4_c;
+ if (flags & HAS_NEON) vpx_lpf_horizontal_4 = vpx_lpf_horizontal_4_neon;
+ vpx_lpf_horizontal_4_dual = vpx_lpf_horizontal_4_dual_c;
+ if (flags & HAS_NEON) vpx_lpf_horizontal_4_dual = vpx_lpf_horizontal_4_dual_neon;
+ vpx_lpf_horizontal_8 = vpx_lpf_horizontal_8_c;
+ if (flags & HAS_NEON) vpx_lpf_horizontal_8 = vpx_lpf_horizontal_8_neon;
+ vpx_lpf_horizontal_8_dual = vpx_lpf_horizontal_8_dual_c;
+ if (flags & HAS_NEON) vpx_lpf_horizontal_8_dual = vpx_lpf_horizontal_8_dual_neon;
+ vpx_lpf_vertical_16 = vpx_lpf_vertical_16_c;
+ if (flags & HAS_NEON) vpx_lpf_vertical_16 = vpx_lpf_vertical_16_neon;
+ vpx_lpf_vertical_16_dual = vpx_lpf_vertical_16_dual_c;
+ if (flags & HAS_NEON) vpx_lpf_vertical_16_dual = vpx_lpf_vertical_16_dual_neon;
+ vpx_lpf_vertical_4 = vpx_lpf_vertical_4_c;
+ if (flags & HAS_NEON) vpx_lpf_vertical_4 = vpx_lpf_vertical_4_neon;
+ vpx_lpf_vertical_4_dual = vpx_lpf_vertical_4_dual_c;
+ if (flags & HAS_NEON) vpx_lpf_vertical_4_dual = vpx_lpf_vertical_4_dual_neon;
+ vpx_lpf_vertical_8 = vpx_lpf_vertical_8_c;
+ if (flags & HAS_NEON) vpx_lpf_vertical_8 = vpx_lpf_vertical_8_neon;
+ vpx_lpf_vertical_8_dual = vpx_lpf_vertical_8_dual_c;
+ if (flags & HAS_NEON) vpx_lpf_vertical_8_dual = vpx_lpf_vertical_8_dual_neon;
+ vpx_mse16x16 = vpx_mse16x16_media;
+ if (flags & HAS_NEON) vpx_mse16x16 = vpx_mse16x16_neon;
+ vpx_sad16x16 = vpx_sad16x16_media;
+ if (flags & HAS_NEON) vpx_sad16x16 = vpx_sad16x16_neon;
+ vpx_sad16x16x4d = vpx_sad16x16x4d_c;
+ if (flags & HAS_NEON) vpx_sad16x16x4d = vpx_sad16x16x4d_neon;
+ vpx_sad16x8 = vpx_sad16x8_c;
+ if (flags & HAS_NEON) vpx_sad16x8 = vpx_sad16x8_neon;
+ vpx_sad32x32 = vpx_sad32x32_c;
+ if (flags & HAS_NEON) vpx_sad32x32 = vpx_sad32x32_neon;
+ vpx_sad32x32x4d = vpx_sad32x32x4d_c;
+ if (flags & HAS_NEON) vpx_sad32x32x4d = vpx_sad32x32x4d_neon;
+ vpx_sad4x4 = vpx_sad4x4_c;
+ if (flags & HAS_NEON) vpx_sad4x4 = vpx_sad4x4_neon;
+ vpx_sad64x64 = vpx_sad64x64_c;
+ if (flags & HAS_NEON) vpx_sad64x64 = vpx_sad64x64_neon;
+ vpx_sad64x64x4d = vpx_sad64x64x4d_c;
+ if (flags & HAS_NEON) vpx_sad64x64x4d = vpx_sad64x64x4d_neon;
+ vpx_sad8x16 = vpx_sad8x16_c;
+ if (flags & HAS_NEON) vpx_sad8x16 = vpx_sad8x16_neon;
+ vpx_sad8x8 = vpx_sad8x8_c;
+ if (flags & HAS_NEON) vpx_sad8x8 = vpx_sad8x8_neon;
+ vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_media;
+ if (flags & HAS_NEON) vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_neon;
+ vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_c;
+ if (flags & HAS_NEON) vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_neon;
+ vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_c;
+ if (flags & HAS_NEON) vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_neon;
+ vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_media;
+ if (flags & HAS_NEON) vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_neon;
+ vpx_subtract_block = vpx_subtract_block_c;
+ if (flags & HAS_NEON) vpx_subtract_block = vpx_subtract_block_neon;
+ vpx_tm_predictor_16x16 = vpx_tm_predictor_16x16_c;
+ if (flags & HAS_NEON) vpx_tm_predictor_16x16 = vpx_tm_predictor_16x16_neon;
+ vpx_tm_predictor_32x32 = vpx_tm_predictor_32x32_c;
+ if (flags & HAS_NEON) vpx_tm_predictor_32x32 = vpx_tm_predictor_32x32_neon;
+ vpx_tm_predictor_4x4 = vpx_tm_predictor_4x4_c;
+ if (flags & HAS_NEON) vpx_tm_predictor_4x4 = vpx_tm_predictor_4x4_neon;
+ vpx_tm_predictor_8x8 = vpx_tm_predictor_8x8_c;
+ if (flags & HAS_NEON) vpx_tm_predictor_8x8 = vpx_tm_predictor_8x8_neon;
+ vpx_v_predictor_16x16 = vpx_v_predictor_16x16_c;
+ if (flags & HAS_NEON) vpx_v_predictor_16x16 = vpx_v_predictor_16x16_neon;
+ vpx_v_predictor_32x32 = vpx_v_predictor_32x32_c;
+ if (flags & HAS_NEON) vpx_v_predictor_32x32 = vpx_v_predictor_32x32_neon;
+ vpx_v_predictor_4x4 = vpx_v_predictor_4x4_c;
+ if (flags & HAS_NEON) vpx_v_predictor_4x4 = vpx_v_predictor_4x4_neon;
+ vpx_v_predictor_8x8 = vpx_v_predictor_8x8_c;
+ if (flags & HAS_NEON) vpx_v_predictor_8x8 = vpx_v_predictor_8x8_neon;
+ vpx_variance16x16 = vpx_variance16x16_media;
+ if (flags & HAS_NEON) vpx_variance16x16 = vpx_variance16x16_neon;
+ vpx_variance16x8 = vpx_variance16x8_c;
+ if (flags & HAS_NEON) vpx_variance16x8 = vpx_variance16x8_neon;
+ vpx_variance32x32 = vpx_variance32x32_c;
+ if (flags & HAS_NEON) vpx_variance32x32 = vpx_variance32x32_neon;
+ vpx_variance32x64 = vpx_variance32x64_c;
+ if (flags & HAS_NEON) vpx_variance32x64 = vpx_variance32x64_neon;
+ vpx_variance64x32 = vpx_variance64x32_c;
+ if (flags & HAS_NEON) vpx_variance64x32 = vpx_variance64x32_neon;
+ vpx_variance64x64 = vpx_variance64x64_c;
+ if (flags & HAS_NEON) vpx_variance64x64 = vpx_variance64x64_neon;
+ vpx_variance8x16 = vpx_variance8x16_c;
+ if (flags & HAS_NEON) vpx_variance8x16 = vpx_variance8x16_neon;
+ vpx_variance8x8 = vpx_variance8x8_media;
+ if (flags & HAS_NEON) vpx_variance8x8 = vpx_variance8x8_neon;
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_scale_rtcd.h b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_scale_rtcd.h
new file mode 100644
index 0000000..a1564b7
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon-cpu-detect/vpx_scale_rtcd.h
@@ -0,0 +1,71 @@
+#ifndef VPX_SCALE_RTCD_H_
+#define VPX_SCALE_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
+
+void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
+
+void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
+
+void vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
+
+void vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
+
+void vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
+
+void vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
+
+void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
+
+void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
+#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
+
+void vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf);
+#define vpx_extend_frame_borders vpx_extend_frame_borders_c
+
+void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf);
+#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
+
+void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+#define vpx_yv12_copy_y vpx_yv12_copy_y_c
+
+void vpx_scale_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h b/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h
new file mode 100644
index 0000000..17d17eb
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon/vp8_rtcd.h
@@ -0,0 +1,272 @@
+#ifndef VP8_RTCD_H_
+#define VP8_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP8
+ */
+
+struct blockd;
+struct macroblockd;
+struct loop_filter_info;
+
+/* Encoder forward decls */
+struct block;
+struct macroblock;
+struct variance_vtable;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vp8_bilinear_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict16x16_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict16x16_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_neon
+
+void vp8_bilinear_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict4x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_armv6
+
+void vp8_bilinear_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_neon
+
+void vp8_bilinear_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x8_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x8_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_neon
+
+void vp8_blend_b_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_b vp8_blend_b_c
+
+void vp8_blend_mb_inner_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_mb_inner vp8_blend_mb_inner_c
+
+void vp8_blend_mb_outer_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_mb_outer vp8_blend_mb_outer_c
+
+int vp8_block_error_c(short *coeff, short *dqcoeff);
+#define vp8_block_error vp8_block_error_c
+
+void vp8_build_intra_predictors_mbuv_s_c(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride);
+void vp8_build_intra_predictors_mbuv_s_neon(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride);
+#define vp8_build_intra_predictors_mbuv_s vp8_build_intra_predictors_mbuv_s_neon
+
+void vp8_build_intra_predictors_mby_s_c(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride);
+void vp8_build_intra_predictors_mby_s_neon(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride);
+#define vp8_build_intra_predictors_mby_s vp8_build_intra_predictors_mby_s_neon
+
+void vp8_clear_system_state_c();
+#define vp8_clear_system_state vp8_clear_system_state_c
+
+void vp8_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem16x16_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem16x16_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem16x16 vp8_copy_mem16x16_neon
+
+void vp8_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x4_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x4_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem8x4 vp8_copy_mem8x4_neon
+
+void vp8_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x8_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x8_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem8x8 vp8_copy_mem8x8_neon
+
+void vp8_dc_only_idct_add_c(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+void vp8_dc_only_idct_add_v6(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+void vp8_dc_only_idct_add_neon(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+#define vp8_dc_only_idct_add vp8_dc_only_idct_add_neon
+
+int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+int vp8_denoiser_filter_neon(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+#define vp8_denoiser_filter vp8_denoiser_filter_neon
+
+int vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+int vp8_denoiser_filter_uv_neon(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_neon
+
+void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *output, int stride);
+void vp8_dequant_idct_add_v6(short *input, short *dq, unsigned char *output, int stride);
+void vp8_dequant_idct_add_neon(short *input, short *dq, unsigned char *output, int stride);
+#define vp8_dequant_idct_add vp8_dequant_idct_add_neon
+
+void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+void vp8_dequant_idct_add_uv_block_v6(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+void vp8_dequant_idct_add_uv_block_neon(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_neon
+
+void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+void vp8_dequant_idct_add_y_block_v6(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+void vp8_dequant_idct_add_y_block_neon(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_neon
+
+void vp8_dequantize_b_c(struct blockd*, short *dqc);
+void vp8_dequantize_b_v6(struct blockd*, short *dqc);
+void vp8_dequantize_b_neon(struct blockd*, short *dqc);
+#define vp8_dequantize_b vp8_dequantize_b_neon
+
+int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_diamond_search_sad vp8_diamond_search_sad_c
+
+void vp8_fast_quantize_b_c(struct block *, struct blockd *);
+void vp8_fast_quantize_b_neon(struct block *, struct blockd *);
+#define vp8_fast_quantize_b vp8_fast_quantize_b_neon
+
+void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
+
+void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
+
+void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
+
+int vp8_full_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_full_search_sad vp8_full_search_sad_c
+
+void vp8_intra4x4_predict_c(unsigned char *Above, unsigned char *yleft, int left_stride, int b_mode, unsigned char *dst, int dst_stride, unsigned char top_left);
+void vp8_intra4x4_predict_armv6(unsigned char *Above, unsigned char *yleft, int left_stride, int b_mode, unsigned char *dst, int dst_stride, unsigned char top_left);
+#define vp8_intra4x4_predict vp8_intra4x4_predict_armv6
+
+void vp8_loop_filter_bh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bh_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bh_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_bh vp8_loop_filter_bh_neon
+
+void vp8_loop_filter_bv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bv_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bv_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_bv vp8_loop_filter_bv_neon
+
+void vp8_loop_filter_mbh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbh_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbh_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_mbh vp8_loop_filter_mbh_neon
+
+void vp8_loop_filter_mbv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbv_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbv_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_mbv vp8_loop_filter_mbv_neon
+
+void vp8_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bhs_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bhs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_neon
+
+void vp8_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bvs_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bvs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_neon
+
+void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_simple_horizontal_edge_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_mbhs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_mbh vp8_loop_filter_mbhs_neon
+
+void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_simple_vertical_edge_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_mbvs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_mbv vp8_loop_filter_mbvs_neon
+
+int vp8_mbblock_error_c(struct macroblock *mb, int dc);
+#define vp8_mbblock_error vp8_mbblock_error_c
+
+void vp8_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
+#define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_c
+
+void vp8_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
+#define vp8_mbpost_proc_down vp8_mbpost_proc_down_c
+
+int vp8_mbuverror_c(struct macroblock *mb);
+#define vp8_mbuverror vp8_mbuverror_c
+
+void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
+#define vp8_plane_add_noise vp8_plane_add_noise_c
+
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+#define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_row_c
+
+int vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_refining_search_sad vp8_refining_search_sad_c
+
+void vp8_regular_quantize_b_c(struct block *, struct blockd *);
+#define vp8_regular_quantize_b vp8_regular_quantize_b_c
+
+void vp8_short_fdct4x4_c(short *input, short *output, int pitch);
+void vp8_short_fdct4x4_armv6(short *input, short *output, int pitch);
+void vp8_short_fdct4x4_neon(short *input, short *output, int pitch);
+#define vp8_short_fdct4x4 vp8_short_fdct4x4_neon
+
+void vp8_short_fdct8x4_c(short *input, short *output, int pitch);
+void vp8_short_fdct8x4_armv6(short *input, short *output, int pitch);
+void vp8_short_fdct8x4_neon(short *input, short *output, int pitch);
+#define vp8_short_fdct8x4 vp8_short_fdct8x4_neon
+
+void vp8_short_idct4x4llm_c(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+void vp8_short_idct4x4llm_v6_dual(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+void vp8_short_idct4x4llm_neon(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+#define vp8_short_idct4x4llm vp8_short_idct4x4llm_neon
+
+void vp8_short_inv_walsh4x4_c(short *input, short *output);
+void vp8_short_inv_walsh4x4_v6(short *input, short *output);
+void vp8_short_inv_walsh4x4_neon(short *input, short *output);
+#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_neon
+
+void vp8_short_inv_walsh4x4_1_c(short *input, short *output);
+#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
+
+void vp8_short_walsh4x4_c(short *input, short *output, int pitch);
+void vp8_short_walsh4x4_armv6(short *input, short *output, int pitch);
+void vp8_short_walsh4x4_neon(short *input, short *output, int pitch);
+#define vp8_short_walsh4x4 vp8_short_walsh4x4_neon
+
+void vp8_sixtap_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict16x16_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict16x16_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_neon
+
+void vp8_sixtap_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict4x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_armv6
+
+void vp8_sixtap_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_neon
+
+void vp8_sixtap_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x8_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x8_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_neon
+
+void vp8_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm-neon/vp9_rtcd.h b/third_party/libvpx/source/config/linux/arm-neon/vp9_rtcd.h
new file mode 100644
index 0000000..b8f6906
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon/vp9_rtcd.h
@@ -0,0 +1,156 @@
+#ifndef VP9_RTCD_H_
+#define VP9_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP9
+ */
+
+#include "vpx/vpx_integer.h"
+#include "vp9/common/vp9_common.h"
+#include "vp9/common/vp9_enums.h"
+
+struct macroblockd;
+
+/* Encoder forward decls */
+struct macroblock;
+struct vp9_variance_vtable;
+struct search_site_config;
+struct mv;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+unsigned int vp9_avg_4x4_c(const uint8_t *, int p);
+#define vp9_avg_4x4 vp9_avg_4x4_c
+
+unsigned int vp9_avg_8x8_c(const uint8_t *, int p);
+unsigned int vp9_avg_8x8_neon(const uint8_t *, int p);
+#define vp9_avg_8x8 vp9_avg_8x8_neon
+
+int64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
+#define vp9_block_error vp9_block_error_c
+
+int64_t vp9_block_error_fp_c(const int16_t *coeff, const int16_t *dqcoeff, int block_size);
+int64_t vp9_block_error_fp_neon(const int16_t *coeff, const int16_t *dqcoeff, int block_size);
+#define vp9_block_error_fp vp9_block_error_fp_neon
+
+int vp9_denoiser_filter_c(const uint8_t *sig, int sig_stride, const uint8_t *mc_avg, int mc_avg_stride, uint8_t *avg, int avg_stride, int increase_denoising, BLOCK_SIZE bs, int motion_magnitude);
+#define vp9_denoiser_filter vp9_denoiser_filter_c
+
+int vp9_diamond_search_sad_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
+#define vp9_diamond_search_sad vp9_diamond_search_sad_c
+
+void vp9_fdct8x8_quant_c(const int16_t *input, int stride, tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+void vp9_fdct8x8_quant_neon(const int16_t *input, int stride, tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_fdct8x8_quant vp9_fdct8x8_quant_neon
+
+void vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht16x16 vp9_fht16x16_c
+
+void vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht4x4 vp9_fht4x4_c
+
+void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht8x8 vp9_fht8x8_c
+
+void vp9_filter_by_weight16x16_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight);
+#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
+
+void vp9_filter_by_weight8x8_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight);
+#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
+
+int vp9_full_range_search_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
+#define vp9_full_range_search vp9_full_range_search_c
+
+int vp9_full_search_sad_c(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv, struct mv *best_mv);
+#define vp9_full_search_sad vp9_full_search_sad_c
+
+void vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define vp9_fwht4x4 vp9_fwht4x4_c
+
+void vp9_hadamard_16x16_c(int16_t const *src_diff, int src_stride, int16_t *coeff);
+#define vp9_hadamard_16x16 vp9_hadamard_16x16_c
+
+void vp9_hadamard_8x8_c(int16_t const *src_diff, int src_stride, int16_t *coeff);
+#define vp9_hadamard_8x8 vp9_hadamard_8x8_c
+
+void vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
+#define vp9_iht16x16_256_add vp9_iht16x16_256_add_c
+
+void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+void vp9_iht4x4_16_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+#define vp9_iht4x4_16_add vp9_iht4x4_16_add_neon
+
+void vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+void vp9_iht8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+#define vp9_iht8x8_64_add vp9_iht8x8_64_add_neon
+
+int16_t vp9_int_pro_col_c(uint8_t const *ref, const int width);
+int16_t vp9_int_pro_col_neon(uint8_t const *ref, const int width);
+#define vp9_int_pro_col vp9_int_pro_col_neon
+
+void vp9_int_pro_row_c(int16_t *hbuf, uint8_t const *ref, const int ref_stride, const int height);
+void vp9_int_pro_row_neon(int16_t *hbuf, uint8_t const *ref, const int ref_stride, const int height);
+#define vp9_int_pro_row vp9_int_pro_row_neon
+
+void vp9_mbpost_proc_across_ip_c(uint8_t *src, int pitch, int rows, int cols, int flimit);
+#define vp9_mbpost_proc_across_ip vp9_mbpost_proc_across_ip_c
+
+void vp9_mbpost_proc_down_c(uint8_t *dst, int pitch, int rows, int cols, int flimit);
+#define vp9_mbpost_proc_down vp9_mbpost_proc_down_c
+
+void vp9_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
+#define vp9_minmax_8x8 vp9_minmax_8x8_c
+
+void vp9_plane_add_noise_c(uint8_t *Start, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height, int Pitch);
+#define vp9_plane_add_noise vp9_plane_add_noise_c
+
+void vp9_post_proc_down_and_across_c(const uint8_t *src_ptr, uint8_t *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit);
+#define vp9_post_proc_down_and_across vp9_post_proc_down_and_across_c
+
+void vp9_quantize_fp_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+void vp9_quantize_fp_neon(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_quantize_fp vp9_quantize_fp_neon
+
+void vp9_quantize_fp_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
+
+int16_t vp9_satd_c(const int16_t *coeff, int length);
+#define vp9_satd vp9_satd_c
+
+void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
+#define vp9_temporal_filter_apply vp9_temporal_filter_apply_c
+
+int vp9_vector_var_c(int16_t const *ref, int16_t const *src, const int bwl);
+int vp9_vector_var_neon(int16_t const *ref, int16_t const *src, const int bwl);
+#define vp9_vector_var vp9_vector_var_neon
+
+void vp9_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm b/third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm
new file mode 100644
index 0000000..3c7c8fe
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon/vpx_config.asm
@@ -0,0 +1,91 @@
+@ This file was created from a .asm file
+@ using the ads2gas.pl script.
+ .equ DO1STROUNDING, 0
+.equ ARCH_ARM , 1
+.equ ARCH_MIPS , 0
+.equ ARCH_X86 , 0
+.equ ARCH_X86_64 , 0
+.equ HAVE_EDSP , 0
+.equ HAVE_MEDIA , 1
+.equ HAVE_NEON , 1
+.equ HAVE_NEON_ASM , 1
+.equ HAVE_MIPS32 , 0
+.equ HAVE_DSPR2 , 0
+.equ HAVE_MSA , 0
+.equ HAVE_MIPS64 , 0
+.equ HAVE_MMX , 0
+.equ HAVE_SSE , 0
+.equ HAVE_SSE2 , 0
+.equ HAVE_SSE3 , 0
+.equ HAVE_SSSE3 , 0
+.equ HAVE_SSE4_1 , 0
+.equ HAVE_AVX , 0
+.equ HAVE_AVX2 , 0
+.equ HAVE_VPX_PORTS , 1
+.equ HAVE_STDINT_H , 1
+.equ HAVE_PTHREAD_H , 1
+.equ HAVE_SYS_MMAN_H , 1
+.equ HAVE_UNISTD_H , 0
+.equ CONFIG_DEPENDENCY_TRACKING , 1
+.equ CONFIG_EXTERNAL_BUILD , 1
+.equ CONFIG_INSTALL_DOCS , 0
+.equ CONFIG_INSTALL_BINS , 1
+.equ CONFIG_INSTALL_LIBS , 1
+.equ CONFIG_INSTALL_SRCS , 0
+.equ CONFIG_USE_X86INC , 0
+.equ CONFIG_DEBUG , 0
+.equ CONFIG_GPROF , 0
+.equ CONFIG_GCOV , 0
+.equ CONFIG_RVCT , 0
+.equ CONFIG_GCC , 1
+.equ CONFIG_MSVS , 0
+.equ CONFIG_PIC , 1
+.equ CONFIG_BIG_ENDIAN , 0
+.equ CONFIG_CODEC_SRCS , 0
+.equ CONFIG_DEBUG_LIBS , 0
+.equ CONFIG_DEQUANT_TOKENS , 0
+.equ CONFIG_DC_RECON , 0
+.equ CONFIG_RUNTIME_CPU_DETECT , 0
+.equ CONFIG_POSTPROC , 1
+.equ CONFIG_VP9_POSTPROC , 1
+.equ CONFIG_MULTITHREAD , 1
+.equ CONFIG_INTERNAL_STATS , 0
+.equ CONFIG_VP8_ENCODER , 1
+.equ CONFIG_VP8_DECODER , 1
+.equ CONFIG_VP9_ENCODER , 1
+.equ CONFIG_VP9_DECODER , 1
+.equ CONFIG_VP10_ENCODER , 0
+.equ CONFIG_VP10_DECODER , 0
+.equ CONFIG_VP8 , 1
+.equ CONFIG_VP9 , 1
+.equ CONFIG_VP10 , 0
+.equ CONFIG_ENCODERS , 1
+.equ CONFIG_DECODERS , 1
+.equ CONFIG_STATIC_MSVCRT , 0
+.equ CONFIG_SPATIAL_RESAMPLING , 1
+.equ CONFIG_REALTIME_ONLY , 1
+.equ CONFIG_ONTHEFLY_BITPACKING , 0
+.equ CONFIG_ERROR_CONCEALMENT , 0
+.equ CONFIG_SHARED , 0
+.equ CONFIG_STATIC , 1
+.equ CONFIG_SMALL , 0
+.equ CONFIG_POSTPROC_VISUALIZER , 0
+.equ CONFIG_OS_SUPPORT , 1
+.equ CONFIG_UNIT_TESTS , 0
+.equ CONFIG_WEBM_IO , 1
+.equ CONFIG_LIBYUV , 1
+.equ CONFIG_DECODE_PERF_TESTS , 0
+.equ CONFIG_ENCODE_PERF_TESTS , 0
+.equ CONFIG_MULTI_RES_ENCODING , 1
+.equ CONFIG_TEMPORAL_DENOISING , 1
+.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
+.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
+.equ CONFIG_VP9_HIGHBITDEPTH , 0
+.equ CONFIG_EXPERIMENTAL , 0
+.equ CONFIG_SIZE_LIMIT , 1
+.equ CONFIG_SPATIAL_SVC , 0
+.equ CONFIG_FP_MB_STATS , 0
+.equ CONFIG_EMULATE_HARDWARE , 0
+.equ DECODE_WIDTH_LIMIT , 16384
+.equ DECODE_HEIGHT_LIMIT , 16384
+ .section .note.GNU-stack,"",%progbits
diff --git a/third_party/libvpx/source/config/linux/arm-neon/vpx_config.c b/third_party/libvpx/source/config/linux/arm-neon/vpx_config.c
new file mode 100644
index 0000000..e05d699
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon/vpx_config.c
@@ -0,0 +1,10 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
+/* Use of this source code is governed by a BSD-style license */
+/* that can be found in the LICENSE file in the root of the source */
+/* tree. An additional intellectual property rights grant can be found */
+/* in the file PATENTS. All contributing project authors may */
+/* be found in the AUTHORS file in the root of the source tree. */
+#include "vpx/vpx_codec.h"
+static const char* const cfg = "--target=armv7-linux-gcc --enable-pic --enable-realtime-only --disable-edsp --enable-external-build --enable-postproc --disable-install-srcs --enable-multi-res-encoding --enable-temporal-denoising --disable-unit-tests --disable-install-docs --disable-examples --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384";
+const char *vpx_codec_build_config(void) {return cfg;}
diff --git a/third_party/libvpx/source/config/linux/arm-neon/vpx_config.h b/third_party/libvpx/source/config/linux/arm-neon/vpx_config.h
new file mode 100644
index 0000000..ba25286
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon/vpx_config.h
@@ -0,0 +1,100 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
+/* Use of this source code is governed by a BSD-style license */
+/* that can be found in the LICENSE file in the root of the source */
+/* tree. An additional intellectual property rights grant can be found */
+/* in the file PATENTS. All contributing project authors may */
+/* be found in the AUTHORS file in the root of the source tree. */
+/* This file automatically generated by configure. Do not edit! */
+#ifndef VPX_CONFIG_H
+#define VPX_CONFIG_H
+#define RESTRICT
+#define INLINE inline
+#define ARCH_ARM 1
+#define ARCH_MIPS 0
+#define ARCH_X86 0
+#define ARCH_X86_64 0
+#define HAVE_EDSP 0
+#define HAVE_MEDIA 1
+#define HAVE_NEON 1
+#define HAVE_NEON_ASM 1
+#define HAVE_MIPS32 0
+#define HAVE_DSPR2 0
+#define HAVE_MSA 0
+#define HAVE_MIPS64 0
+#define HAVE_MMX 0
+#define HAVE_SSE 0
+#define HAVE_SSE2 0
+#define HAVE_SSE3 0
+#define HAVE_SSSE3 0
+#define HAVE_SSE4_1 0
+#define HAVE_AVX 0
+#define HAVE_AVX2 0
+#define HAVE_VPX_PORTS 1
+#define HAVE_STDINT_H 1
+#define HAVE_PTHREAD_H 1
+#define HAVE_SYS_MMAN_H 1
+#define HAVE_UNISTD_H 0
+#define CONFIG_DEPENDENCY_TRACKING 1
+#define CONFIG_EXTERNAL_BUILD 1
+#define CONFIG_INSTALL_DOCS 0
+#define CONFIG_INSTALL_BINS 1
+#define CONFIG_INSTALL_LIBS 1
+#define CONFIG_INSTALL_SRCS 0
+#define CONFIG_USE_X86INC 0
+#define CONFIG_DEBUG 0
+#define CONFIG_GPROF 0
+#define CONFIG_GCOV 0
+#define CONFIG_RVCT 0
+#define CONFIG_GCC 1
+#define CONFIG_MSVS 0
+#define CONFIG_PIC 1
+#define CONFIG_BIG_ENDIAN 0
+#define CONFIG_CODEC_SRCS 0
+#define CONFIG_DEBUG_LIBS 0
+#define CONFIG_DEQUANT_TOKENS 0
+#define CONFIG_DC_RECON 0
+#define CONFIG_RUNTIME_CPU_DETECT 0
+#define CONFIG_POSTPROC 1
+#define CONFIG_VP9_POSTPROC 1
+#define CONFIG_MULTITHREAD 1
+#define CONFIG_INTERNAL_STATS 0
+#define CONFIG_VP8_ENCODER 1
+#define CONFIG_VP8_DECODER 1
+#define CONFIG_VP9_ENCODER 1
+#define CONFIG_VP9_DECODER 1
+#define CONFIG_VP10_ENCODER 0
+#define CONFIG_VP10_DECODER 0
+#define CONFIG_VP8 1
+#define CONFIG_VP9 1
+#define CONFIG_VP10 0
+#define CONFIG_ENCODERS 1
+#define CONFIG_DECODERS 1
+#define CONFIG_STATIC_MSVCRT 0
+#define CONFIG_SPATIAL_RESAMPLING 1
+#define CONFIG_REALTIME_ONLY 1
+#define CONFIG_ONTHEFLY_BITPACKING 0
+#define CONFIG_ERROR_CONCEALMENT 0
+#define CONFIG_SHARED 0
+#define CONFIG_STATIC 1
+#define CONFIG_SMALL 0
+#define CONFIG_POSTPROC_VISUALIZER 0
+#define CONFIG_OS_SUPPORT 1
+#define CONFIG_UNIT_TESTS 0
+#define CONFIG_WEBM_IO 1
+#define CONFIG_LIBYUV 1
+#define CONFIG_DECODE_PERF_TESTS 0
+#define CONFIG_ENCODE_PERF_TESTS 0
+#define CONFIG_MULTI_RES_ENCODING 1
+#define CONFIG_TEMPORAL_DENOISING 1
+#define CONFIG_VP9_TEMPORAL_DENOISING 1
+#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
+#define CONFIG_VP9_HIGHBITDEPTH 0
+#define CONFIG_EXPERIMENTAL 0
+#define CONFIG_SIZE_LIMIT 1
+#define CONFIG_SPATIAL_SVC 0
+#define CONFIG_FP_MB_STATS 0
+#define CONFIG_EMULATE_HARDWARE 0
+#define DECODE_WIDTH_LIMIT 16384
+#define DECODE_HEIGHT_LIMIT 16384
+#endif /* VPX_CONFIG_H */
diff --git a/third_party/libvpx/source/config/linux/arm-neon/vpx_dsp_rtcd.h b/third_party/libvpx/source/config/linux/arm-neon/vpx_dsp_rtcd.h
new file mode 100644
index 0000000..4de075d
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon/vpx_dsp_rtcd.h
@@ -0,0 +1,765 @@
+#ifndef VPX_DSP_RTCD_H_
+#define VPX_DSP_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * DSP
+ */
+
+#include "vpx/vpx_integer.h"
+#include "vpx_dsp/vpx_dsp_common.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vpx_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride);
+#define vpx_comp_avg_pred vpx_comp_avg_pred_c
+
+void vpx_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8 vpx_convolve8_neon
+
+void vpx_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg vpx_convolve8_avg_neon
+
+void vpx_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_avg_horiz_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg_horiz vpx_convolve8_avg_horiz_neon
+
+void vpx_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_avg_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg_vert vpx_convolve8_avg_vert_neon
+
+void vpx_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_horiz_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_horiz vpx_convolve8_horiz_neon
+
+void vpx_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_vert vpx_convolve8_vert_neon
+
+void vpx_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve_avg vpx_convolve_avg_neon
+
+void vpx_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve_copy_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve_copy vpx_convolve_copy_neon
+
+void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
+
+void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
+
+void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
+
+void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
+
+void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c
+
+void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c
+
+void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d135_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_neon
+
+void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c
+
+void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c
+
+void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c
+
+void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c
+
+void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c
+
+void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c
+
+void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c
+
+void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c
+
+void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c
+
+void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d45_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_neon
+
+void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_c
+
+void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d45_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_neon
+
+void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d45_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_neon
+
+void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c
+
+void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c
+
+void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c
+
+void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c
+
+void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_neon
+
+void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_neon
+
+void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_neon
+
+void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_neon
+
+void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_neon
+
+void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_neon
+
+void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_neon
+
+void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_neon
+
+void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_neon
+
+void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_neon
+
+void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_neon
+
+void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_neon
+
+void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_neon
+
+void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_neon
+
+void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_neon
+
+void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_neon
+
+void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct16x16 vpx_fdct16x16_c
+
+void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct16x16_1 vpx_fdct16x16_1_c
+
+void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32 vpx_fdct32x32_c
+
+void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32_1 vpx_fdct32x32_1_c
+
+void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32_rd vpx_fdct32x32_rd_c
+
+void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct4x4 vpx_fdct4x4_c
+
+void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct4x4_1 vpx_fdct4x4_1_c
+
+void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
+void vpx_fdct8x8_neon(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct8x8 vpx_fdct8x8_neon
+
+void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
+void vpx_fdct8x8_1_neon(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct8x8_1 vpx_fdct8x8_1_neon
+
+void vpx_get16x16var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+void vpx_get16x16var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+#define vpx_get16x16var vpx_get16x16var_neon
+
+unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
+unsigned int vpx_get4x4sse_cs_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
+#define vpx_get4x4sse_cs vpx_get4x4sse_cs_neon
+
+void vpx_get8x8var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+void vpx_get8x8var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+#define vpx_get8x8var vpx_get8x8var_neon
+
+unsigned int vpx_get_mb_ss_c(const int16_t *);
+#define vpx_get_mb_ss vpx_get_mb_ss_c
+
+void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_16x16 vpx_h_predictor_16x16_neon
+
+void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_32x32 vpx_h_predictor_32x32_neon
+
+void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_4x4 vpx_h_predictor_4x4_neon
+
+void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_8x8 vpx_h_predictor_8x8_neon
+
+void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct16x16_10_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_10_add vpx_idct16x16_10_add_neon
+
+void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct16x16_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_1_add vpx_idct16x16_1_add_neon
+
+void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct16x16_256_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_256_add vpx_idct16x16_256_add_neon
+
+void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct32x32_1024_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_neon
+
+void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct32x32_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_1_add vpx_idct32x32_1_add_neon
+
+void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct32x32_1024_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_34_add vpx_idct32x32_1024_add_neon
+
+void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct4x4_16_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct4x4_16_add vpx_idct4x4_16_add_neon
+
+void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct4x4_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct4x4_1_add vpx_idct4x4_1_add_neon
+
+void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct8x8_12_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_12_add vpx_idct8x8_12_add_neon
+
+void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct8x8_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_1_add vpx_idct8x8_1_add_neon
+
+void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_64_add vpx_idct8x8_64_add_neon
+
+void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c
+
+void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
+
+void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_horizontal_16_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_neon
+
+void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_horizontal_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_neon
+
+void vpx_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+void vpx_lpf_horizontal_4_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_neon
+
+void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_horizontal_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_neon
+
+void vpx_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+void vpx_lpf_horizontal_8_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_neon
+
+void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+void vpx_lpf_vertical_16_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+#define vpx_lpf_vertical_16 vpx_lpf_vertical_16_neon
+
+void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+void vpx_lpf_vertical_16_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+#define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_neon
+
+void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_vertical_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_vertical_4 vpx_lpf_vertical_4_neon
+
+void vpx_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+void vpx_lpf_vertical_4_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_neon
+
+void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_vertical_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_vertical_8 vpx_lpf_vertical_8_neon
+
+void vpx_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+void vpx_lpf_vertical_8_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_neon
+
+unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+unsigned int vpx_mse16x16_media(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+unsigned int vpx_mse16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse16x16 vpx_mse16x16_neon
+
+unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse16x8 vpx_mse16x8_c
+
+unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse8x16 vpx_mse8x16_c
+
+unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse8x8 vpx_mse8x8_c
+
+void vpx_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vpx_quantize_b vpx_quantize_b_c
+
+void vpx_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vpx_quantize_b_32x32 vpx_quantize_b_32x32_c
+
+unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad16x16_media(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad16x16_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x16 vpx_sad16x16_neon
+
+unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x16_avg vpx_sad16x16_avg_c
+
+void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x3 vpx_sad16x16x3_c
+
+void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+void vpx_sad16x16x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x4d vpx_sad16x16x4d_neon
+
+void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x8 vpx_sad16x16x8_c
+
+unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x32 vpx_sad16x32_c
+
+unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x32_avg vpx_sad16x32_avg_c
+
+void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x32x4d vpx_sad16x32x4d_c
+
+unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad16x8_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x8 vpx_sad16x8_neon
+
+unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x8_avg vpx_sad16x8_avg_c
+
+void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x3 vpx_sad16x8x3_c
+
+void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x4d vpx_sad16x8x4d_c
+
+void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x8 vpx_sad16x8x8_c
+
+unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x16 vpx_sad32x16_c
+
+unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x16_avg vpx_sad32x16_avg_c
+
+void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x16x4d vpx_sad32x16x4d_c
+
+unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad32x32_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x32 vpx_sad32x32_neon
+
+unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x32_avg vpx_sad32x32_avg_c
+
+void vpx_sad32x32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x3 vpx_sad32x32x3_c
+
+void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+void vpx_sad32x32x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x4d vpx_sad32x32x4d_neon
+
+void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x8 vpx_sad32x32x8_c
+
+unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x64 vpx_sad32x64_c
+
+unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x64_avg vpx_sad32x64_avg_c
+
+void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x64x4d vpx_sad32x64x4d_c
+
+unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad4x4_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad4x4 vpx_sad4x4_neon
+
+unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad4x4_avg vpx_sad4x4_avg_c
+
+void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x3 vpx_sad4x4x3_c
+
+void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x4d vpx_sad4x4x4d_c
+
+void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x8 vpx_sad4x4x8_c
+
+unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad4x8 vpx_sad4x8_c
+
+unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad4x8_avg vpx_sad4x8_avg_c
+
+void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x8x4d vpx_sad4x8x4d_c
+
+void vpx_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x8x8 vpx_sad4x8x8_c
+
+unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad64x32 vpx_sad64x32_c
+
+unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad64x32_avg vpx_sad64x32_avg_c
+
+void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x32x4d vpx_sad64x32x4d_c
+
+unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad64x64_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad64x64 vpx_sad64x64_neon
+
+unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad64x64_avg vpx_sad64x64_avg_c
+
+void vpx_sad64x64x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x3 vpx_sad64x64x3_c
+
+void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+void vpx_sad64x64x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x4d vpx_sad64x64x4d_neon
+
+void vpx_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x8 vpx_sad64x64x8_c
+
+unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad8x16_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x16 vpx_sad8x16_neon
+
+unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x16_avg vpx_sad8x16_avg_c
+
+void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x3 vpx_sad8x16x3_c
+
+void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x4d vpx_sad8x16x4d_c
+
+void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x8 vpx_sad8x16x8_c
+
+unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x4 vpx_sad8x4_c
+
+unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x4_avg vpx_sad8x4_avg_c
+
+void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x4x4d vpx_sad8x4x4d_c
+
+void vpx_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x4x8 vpx_sad8x4x8_c
+
+unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad8x8_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x8 vpx_sad8x8_neon
+
+unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x8_avg vpx_sad8x8_avg_c
+
+void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x3 vpx_sad8x8x3_c
+
+void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x4d vpx_sad8x8x4d_c
+
+void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x8 vpx_sad8x8x8_c
+
+void vpx_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_2d vpx_scaled_2d_c
+
+void vpx_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
+
+void vpx_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
+
+void vpx_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
+
+void vpx_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_horiz vpx_scaled_horiz_c
+
+void vpx_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_vert vpx_scaled_vert_c
+
+uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c
+
+uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c
+
+uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c
+
+uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c
+
+uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c
+
+uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c
+
+uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c
+
+uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c
+
+uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c
+
+uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_c
+
+uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c
+
+uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c
+
+uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c
+
+uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance16x16_media(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance16x16_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_neon
+
+uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_c
+
+uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_c
+
+uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_c
+
+uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance32x32_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_neon
+
+uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_c
+
+uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c
+
+uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c
+
+uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_c
+
+uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance64x64_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_neon
+
+uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_c
+
+uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_c
+
+uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance8x8_media(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance8x8_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_neon
+
+void vpx_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
+void vpx_subtract_block_neon(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
+#define vpx_subtract_block vpx_subtract_block_neon
+
+void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_neon
+
+void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_neon
+
+void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_neon
+
+void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_neon
+
+void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_16x16 vpx_v_predictor_16x16_neon
+
+void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_32x32 vpx_v_predictor_32x32_neon
+
+void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_4x4 vpx_v_predictor_4x4_neon
+
+void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_8x8 vpx_v_predictor_8x8_neon
+
+unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance16x16_media(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x16 vpx_variance16x16_neon
+
+unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x32 vpx_variance16x32_c
+
+unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance16x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x8 vpx_variance16x8_neon
+
+unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x16 vpx_variance32x16_c
+
+unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance32x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x32 vpx_variance32x32_neon
+
+unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance32x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x64 vpx_variance32x64_neon
+
+unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance4x4 vpx_variance4x4_c
+
+unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance4x8 vpx_variance4x8_c
+
+unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance64x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance64x32 vpx_variance64x32_neon
+
+unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance64x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance64x64 vpx_variance64x64_neon
+
+unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance8x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x16 vpx_variance8x16_neon
+
+unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x4 vpx_variance8x4_c
+
+unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance8x8_media(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance8x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x8 vpx_variance8x8_neon
+
+uint32_t vpx_variance_halfpixvar16x16_h_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_variance_halfpixvar16x16_h_media(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_h vpx_variance_halfpixvar16x16_h_media
+
+uint32_t vpx_variance_halfpixvar16x16_hv_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_variance_halfpixvar16x16_hv_media(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_hv vpx_variance_halfpixvar16x16_hv_media
+
+uint32_t vpx_variance_halfpixvar16x16_v_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_variance_halfpixvar16x16_v_media(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_v vpx_variance_halfpixvar16x16_v_media
+
+void vpx_dsp_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm-neon/vpx_scale_rtcd.h b/third_party/libvpx/source/config/linux/arm-neon/vpx_scale_rtcd.h
new file mode 100644
index 0000000..a1564b7
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm-neon/vpx_scale_rtcd.h
@@ -0,0 +1,71 @@
+#ifndef VPX_SCALE_RTCD_H_
+#define VPX_SCALE_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
+
+void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
+
+void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
+
+void vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
+
+void vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
+
+void vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
+
+void vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
+
+void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
+
+void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
+#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
+
+void vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf);
+#define vpx_extend_frame_borders vpx_extend_frame_borders_c
+
+void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf);
+#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
+
+void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+#define vpx_yv12_copy_y vpx_yv12_copy_y_c
+
+void vpx_scale_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm/vp8_rtcd.h b/third_party/libvpx/source/config/linux/arm/vp8_rtcd.h
new file mode 100644
index 0000000..6cd65fb
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm/vp8_rtcd.h
@@ -0,0 +1,240 @@
+#ifndef VP8_RTCD_H_
+#define VP8_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP8
+ */
+
+struct blockd;
+struct macroblockd;
+struct loop_filter_info;
+
+/* Encoder forward decls */
+struct block;
+struct macroblock;
+struct variance_vtable;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vp8_bilinear_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict16x16_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_armv6
+
+void vp8_bilinear_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict4x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_armv6
+
+void vp8_bilinear_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_armv6
+
+void vp8_bilinear_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x8_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_armv6
+
+void vp8_blend_b_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_b vp8_blend_b_c
+
+void vp8_blend_mb_inner_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_mb_inner vp8_blend_mb_inner_c
+
+void vp8_blend_mb_outer_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_mb_outer vp8_blend_mb_outer_c
+
+int vp8_block_error_c(short *coeff, short *dqcoeff);
+#define vp8_block_error vp8_block_error_c
+
+void vp8_build_intra_predictors_mbuv_s_c(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride);
+#define vp8_build_intra_predictors_mbuv_s vp8_build_intra_predictors_mbuv_s_c
+
+void vp8_build_intra_predictors_mby_s_c(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride);
+#define vp8_build_intra_predictors_mby_s vp8_build_intra_predictors_mby_s_c
+
+void vp8_clear_system_state_c();
+#define vp8_clear_system_state vp8_clear_system_state_c
+
+void vp8_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem16x16_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem16x16 vp8_copy_mem16x16_v6
+
+void vp8_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x4_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem8x4 vp8_copy_mem8x4_v6
+
+void vp8_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x8_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem8x8 vp8_copy_mem8x8_v6
+
+void vp8_dc_only_idct_add_c(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+void vp8_dc_only_idct_add_v6(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+#define vp8_dc_only_idct_add vp8_dc_only_idct_add_v6
+
+int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+#define vp8_denoiser_filter vp8_denoiser_filter_c
+
+int vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_c
+
+void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *output, int stride);
+void vp8_dequant_idct_add_v6(short *input, short *dq, unsigned char *output, int stride);
+#define vp8_dequant_idct_add vp8_dequant_idct_add_v6
+
+void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+void vp8_dequant_idct_add_uv_block_v6(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_v6
+
+void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+void vp8_dequant_idct_add_y_block_v6(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_v6
+
+void vp8_dequantize_b_c(struct blockd*, short *dqc);
+void vp8_dequantize_b_v6(struct blockd*, short *dqc);
+#define vp8_dequantize_b vp8_dequantize_b_v6
+
+int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_diamond_search_sad vp8_diamond_search_sad_c
+
+void vp8_fast_quantize_b_c(struct block *, struct blockd *);
+#define vp8_fast_quantize_b vp8_fast_quantize_b_c
+
+void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
+
+void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
+
+void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
+
+int vp8_full_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_full_search_sad vp8_full_search_sad_c
+
+void vp8_intra4x4_predict_c(unsigned char *Above, unsigned char *yleft, int left_stride, int b_mode, unsigned char *dst, int dst_stride, unsigned char top_left);
+void vp8_intra4x4_predict_armv6(unsigned char *Above, unsigned char *yleft, int left_stride, int b_mode, unsigned char *dst, int dst_stride, unsigned char top_left);
+#define vp8_intra4x4_predict vp8_intra4x4_predict_armv6
+
+void vp8_loop_filter_bh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bh_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_bh vp8_loop_filter_bh_armv6
+
+void vp8_loop_filter_bv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bv_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_bv vp8_loop_filter_bv_armv6
+
+void vp8_loop_filter_mbh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbh_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_mbh vp8_loop_filter_mbh_armv6
+
+void vp8_loop_filter_mbv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbv_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_mbv vp8_loop_filter_mbv_armv6
+
+void vp8_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bhs_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_armv6
+
+void vp8_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bvs_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_armv6
+
+void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_simple_horizontal_edge_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_armv6
+
+void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_simple_vertical_edge_armv6(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_armv6
+
+int vp8_mbblock_error_c(struct macroblock *mb, int dc);
+#define vp8_mbblock_error vp8_mbblock_error_c
+
+void vp8_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
+#define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_c
+
+void vp8_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
+#define vp8_mbpost_proc_down vp8_mbpost_proc_down_c
+
+int vp8_mbuverror_c(struct macroblock *mb);
+#define vp8_mbuverror vp8_mbuverror_c
+
+void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
+#define vp8_plane_add_noise vp8_plane_add_noise_c
+
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+#define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_row_c
+
+int vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_refining_search_sad vp8_refining_search_sad_c
+
+void vp8_regular_quantize_b_c(struct block *, struct blockd *);
+#define vp8_regular_quantize_b vp8_regular_quantize_b_c
+
+void vp8_short_fdct4x4_c(short *input, short *output, int pitch);
+void vp8_short_fdct4x4_armv6(short *input, short *output, int pitch);
+#define vp8_short_fdct4x4 vp8_short_fdct4x4_armv6
+
+void vp8_short_fdct8x4_c(short *input, short *output, int pitch);
+void vp8_short_fdct8x4_armv6(short *input, short *output, int pitch);
+#define vp8_short_fdct8x4 vp8_short_fdct8x4_armv6
+
+void vp8_short_idct4x4llm_c(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+void vp8_short_idct4x4llm_v6_dual(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+#define vp8_short_idct4x4llm vp8_short_idct4x4llm_v6_dual
+
+void vp8_short_inv_walsh4x4_c(short *input, short *output);
+void vp8_short_inv_walsh4x4_v6(short *input, short *output);
+#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_v6
+
+void vp8_short_inv_walsh4x4_1_c(short *input, short *output);
+#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
+
+void vp8_short_walsh4x4_c(short *input, short *output, int pitch);
+void vp8_short_walsh4x4_armv6(short *input, short *output, int pitch);
+#define vp8_short_walsh4x4 vp8_short_walsh4x4_armv6
+
+void vp8_sixtap_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict16x16_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_armv6
+
+void vp8_sixtap_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict4x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_armv6
+
+void vp8_sixtap_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_armv6
+
+void vp8_sixtap_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x8_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_armv6
+
+void vp8_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm/vp9_rtcd.h b/third_party/libvpx/source/config/linux/arm/vp9_rtcd.h
new file mode 100644
index 0000000..7b46d9e
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm/vp9_rtcd.h
@@ -0,0 +1,147 @@
+#ifndef VP9_RTCD_H_
+#define VP9_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP9
+ */
+
+#include "vpx/vpx_integer.h"
+#include "vp9/common/vp9_common.h"
+#include "vp9/common/vp9_enums.h"
+
+struct macroblockd;
+
+/* Encoder forward decls */
+struct macroblock;
+struct vp9_variance_vtable;
+struct search_site_config;
+struct mv;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+unsigned int vp9_avg_4x4_c(const uint8_t *, int p);
+#define vp9_avg_4x4 vp9_avg_4x4_c
+
+unsigned int vp9_avg_8x8_c(const uint8_t *, int p);
+#define vp9_avg_8x8 vp9_avg_8x8_c
+
+int64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
+#define vp9_block_error vp9_block_error_c
+
+int64_t vp9_block_error_fp_c(const int16_t *coeff, const int16_t *dqcoeff, int block_size);
+#define vp9_block_error_fp vp9_block_error_fp_c
+
+int vp9_denoiser_filter_c(const uint8_t *sig, int sig_stride, const uint8_t *mc_avg, int mc_avg_stride, uint8_t *avg, int avg_stride, int increase_denoising, BLOCK_SIZE bs, int motion_magnitude);
+#define vp9_denoiser_filter vp9_denoiser_filter_c
+
+int vp9_diamond_search_sad_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
+#define vp9_diamond_search_sad vp9_diamond_search_sad_c
+
+void vp9_fdct8x8_quant_c(const int16_t *input, int stride, tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_fdct8x8_quant vp9_fdct8x8_quant_c
+
+void vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht16x16 vp9_fht16x16_c
+
+void vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht4x4 vp9_fht4x4_c
+
+void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht8x8 vp9_fht8x8_c
+
+void vp9_filter_by_weight16x16_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight);
+#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
+
+void vp9_filter_by_weight8x8_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight);
+#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
+
+int vp9_full_range_search_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
+#define vp9_full_range_search vp9_full_range_search_c
+
+int vp9_full_search_sad_c(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv, struct mv *best_mv);
+#define vp9_full_search_sad vp9_full_search_sad_c
+
+void vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define vp9_fwht4x4 vp9_fwht4x4_c
+
+void vp9_hadamard_16x16_c(int16_t const *src_diff, int src_stride, int16_t *coeff);
+#define vp9_hadamard_16x16 vp9_hadamard_16x16_c
+
+void vp9_hadamard_8x8_c(int16_t const *src_diff, int src_stride, int16_t *coeff);
+#define vp9_hadamard_8x8 vp9_hadamard_8x8_c
+
+void vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
+#define vp9_iht16x16_256_add vp9_iht16x16_256_add_c
+
+void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+#define vp9_iht4x4_16_add vp9_iht4x4_16_add_c
+
+void vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+#define vp9_iht8x8_64_add vp9_iht8x8_64_add_c
+
+int16_t vp9_int_pro_col_c(uint8_t const *ref, const int width);
+#define vp9_int_pro_col vp9_int_pro_col_c
+
+void vp9_int_pro_row_c(int16_t *hbuf, uint8_t const *ref, const int ref_stride, const int height);
+#define vp9_int_pro_row vp9_int_pro_row_c
+
+void vp9_mbpost_proc_across_ip_c(uint8_t *src, int pitch, int rows, int cols, int flimit);
+#define vp9_mbpost_proc_across_ip vp9_mbpost_proc_across_ip_c
+
+void vp9_mbpost_proc_down_c(uint8_t *dst, int pitch, int rows, int cols, int flimit);
+#define vp9_mbpost_proc_down vp9_mbpost_proc_down_c
+
+void vp9_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
+#define vp9_minmax_8x8 vp9_minmax_8x8_c
+
+void vp9_plane_add_noise_c(uint8_t *Start, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height, int Pitch);
+#define vp9_plane_add_noise vp9_plane_add_noise_c
+
+void vp9_post_proc_down_and_across_c(const uint8_t *src_ptr, uint8_t *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit);
+#define vp9_post_proc_down_and_across vp9_post_proc_down_and_across_c
+
+void vp9_quantize_fp_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_quantize_fp vp9_quantize_fp_c
+
+void vp9_quantize_fp_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
+
+int16_t vp9_satd_c(const int16_t *coeff, int length);
+#define vp9_satd vp9_satd_c
+
+void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
+#define vp9_temporal_filter_apply vp9_temporal_filter_apply_c
+
+int vp9_vector_var_c(int16_t const *ref, int16_t const *src, const int bwl);
+#define vp9_vector_var vp9_vector_var_c
+
+void vp9_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm/vpx_config.asm b/third_party/libvpx/source/config/linux/arm/vpx_config.asm
new file mode 100644
index 0000000..67c1aa9
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm/vpx_config.asm
@@ -0,0 +1,91 @@
+@ This file was created from a .asm file
+@ using the ads2gas.pl script.
+ .equ DO1STROUNDING, 0
+.equ ARCH_ARM , 1
+.equ ARCH_MIPS , 0
+.equ ARCH_X86 , 0
+.equ ARCH_X86_64 , 0
+.equ HAVE_EDSP , 0
+.equ HAVE_MEDIA , 1
+.equ HAVE_NEON , 0
+.equ HAVE_NEON_ASM , 0
+.equ HAVE_MIPS32 , 0
+.equ HAVE_DSPR2 , 0
+.equ HAVE_MSA , 0
+.equ HAVE_MIPS64 , 0
+.equ HAVE_MMX , 0
+.equ HAVE_SSE , 0
+.equ HAVE_SSE2 , 0
+.equ HAVE_SSE3 , 0
+.equ HAVE_SSSE3 , 0
+.equ HAVE_SSE4_1 , 0
+.equ HAVE_AVX , 0
+.equ HAVE_AVX2 , 0
+.equ HAVE_VPX_PORTS , 1
+.equ HAVE_STDINT_H , 1
+.equ HAVE_PTHREAD_H , 1
+.equ HAVE_SYS_MMAN_H , 1
+.equ HAVE_UNISTD_H , 0
+.equ CONFIG_DEPENDENCY_TRACKING , 1
+.equ CONFIG_EXTERNAL_BUILD , 1
+.equ CONFIG_INSTALL_DOCS , 0
+.equ CONFIG_INSTALL_BINS , 0
+.equ CONFIG_INSTALL_LIBS , 0
+.equ CONFIG_INSTALL_SRCS , 0
+.equ CONFIG_USE_X86INC , 0
+.equ CONFIG_DEBUG , 0
+.equ CONFIG_GPROF , 0
+.equ CONFIG_GCOV , 0
+.equ CONFIG_RVCT , 0
+.equ CONFIG_GCC , 1
+.equ CONFIG_MSVS , 0
+.equ CONFIG_PIC , 1
+.equ CONFIG_BIG_ENDIAN , 0
+.equ CONFIG_CODEC_SRCS , 0
+.equ CONFIG_DEBUG_LIBS , 0
+.equ CONFIG_DEQUANT_TOKENS , 0
+.equ CONFIG_DC_RECON , 0
+.equ CONFIG_RUNTIME_CPU_DETECT , 0
+.equ CONFIG_POSTPROC , 1
+.equ CONFIG_VP9_POSTPROC , 1
+.equ CONFIG_MULTITHREAD , 1
+.equ CONFIG_INTERNAL_STATS , 0
+.equ CONFIG_VP8_ENCODER , 1
+.equ CONFIG_VP8_DECODER , 1
+.equ CONFIG_VP9_ENCODER , 1
+.equ CONFIG_VP9_DECODER , 1
+.equ CONFIG_VP10_ENCODER , 0
+.equ CONFIG_VP10_DECODER , 0
+.equ CONFIG_VP8 , 1
+.equ CONFIG_VP9 , 1
+.equ CONFIG_VP10 , 0
+.equ CONFIG_ENCODERS , 1
+.equ CONFIG_DECODERS , 1
+.equ CONFIG_STATIC_MSVCRT , 0
+.equ CONFIG_SPATIAL_RESAMPLING , 1
+.equ CONFIG_REALTIME_ONLY , 1
+.equ CONFIG_ONTHEFLY_BITPACKING , 0
+.equ CONFIG_ERROR_CONCEALMENT , 0
+.equ CONFIG_SHARED , 0
+.equ CONFIG_STATIC , 1
+.equ CONFIG_SMALL , 0
+.equ CONFIG_POSTPROC_VISUALIZER , 0
+.equ CONFIG_OS_SUPPORT , 1
+.equ CONFIG_UNIT_TESTS , 0
+.equ CONFIG_WEBM_IO , 1
+.equ CONFIG_LIBYUV , 1
+.equ CONFIG_DECODE_PERF_TESTS , 0
+.equ CONFIG_ENCODE_PERF_TESTS , 0
+.equ CONFIG_MULTI_RES_ENCODING , 1
+.equ CONFIG_TEMPORAL_DENOISING , 1
+.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
+.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
+.equ CONFIG_VP9_HIGHBITDEPTH , 0
+.equ CONFIG_EXPERIMENTAL , 0
+.equ CONFIG_SIZE_LIMIT , 1
+.equ CONFIG_SPATIAL_SVC , 0
+.equ CONFIG_FP_MB_STATS , 0
+.equ CONFIG_EMULATE_HARDWARE , 0
+.equ DECODE_WIDTH_LIMIT , 16384
+.equ DECODE_HEIGHT_LIMIT , 16384
+ .section .note.GNU-stack,"",%progbits
diff --git a/third_party/libvpx/source/config/linux/arm/vpx_config.c b/third_party/libvpx/source/config/linux/arm/vpx_config.c
new file mode 100644
index 0000000..0b06ef9
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm/vpx_config.c
@@ -0,0 +1,10 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
+/* Use of this source code is governed by a BSD-style license */
+/* that can be found in the LICENSE file in the root of the source */
+/* tree. An additional intellectual property rights grant can be found */
+/* in the file PATENTS. All contributing project authors may */
+/* be found in the AUTHORS file in the root of the source tree. */
+#include "vpx/vpx_codec.h"
+static const char* const cfg = "--target=armv6-linux-gcc --enable-pic --enable-realtime-only --disable-install-bins --disable-install-libs --disable-edsp --enable-external-build --enable-postproc --disable-install-srcs --enable-multi-res-encoding --enable-temporal-denoising --disable-unit-tests --disable-install-docs --disable-examples --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384";
+const char *vpx_codec_build_config(void) {return cfg;}
diff --git a/third_party/libvpx/source/config/linux/arm/vpx_config.h b/third_party/libvpx/source/config/linux/arm/vpx_config.h
new file mode 100644
index 0000000..849f8ee
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm/vpx_config.h
@@ -0,0 +1,100 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
+/* Use of this source code is governed by a BSD-style license */
+/* that can be found in the LICENSE file in the root of the source */
+/* tree. An additional intellectual property rights grant can be found */
+/* in the file PATENTS. All contributing project authors may */
+/* be found in the AUTHORS file in the root of the source tree. */
+/* This file automatically generated by configure. Do not edit! */
+#ifndef VPX_CONFIG_H
+#define VPX_CONFIG_H
+#define RESTRICT
+#define INLINE inline
+#define ARCH_ARM 1
+#define ARCH_MIPS 0
+#define ARCH_X86 0
+#define ARCH_X86_64 0
+#define HAVE_EDSP 0
+#define HAVE_MEDIA 1
+#define HAVE_NEON 0
+#define HAVE_NEON_ASM 0
+#define HAVE_MIPS32 0
+#define HAVE_DSPR2 0
+#define HAVE_MSA 0
+#define HAVE_MIPS64 0
+#define HAVE_MMX 0
+#define HAVE_SSE 0
+#define HAVE_SSE2 0
+#define HAVE_SSE3 0
+#define HAVE_SSSE3 0
+#define HAVE_SSE4_1 0
+#define HAVE_AVX 0
+#define HAVE_AVX2 0
+#define HAVE_VPX_PORTS 1
+#define HAVE_STDINT_H 1
+#define HAVE_PTHREAD_H 1
+#define HAVE_SYS_MMAN_H 1
+#define HAVE_UNISTD_H 0
+#define CONFIG_DEPENDENCY_TRACKING 1
+#define CONFIG_EXTERNAL_BUILD 1
+#define CONFIG_INSTALL_DOCS 0
+#define CONFIG_INSTALL_BINS 0
+#define CONFIG_INSTALL_LIBS 0
+#define CONFIG_INSTALL_SRCS 0
+#define CONFIG_USE_X86INC 0
+#define CONFIG_DEBUG 0
+#define CONFIG_GPROF 0
+#define CONFIG_GCOV 0
+#define CONFIG_RVCT 0
+#define CONFIG_GCC 1
+#define CONFIG_MSVS 0
+#define CONFIG_PIC 1
+#define CONFIG_BIG_ENDIAN 0
+#define CONFIG_CODEC_SRCS 0
+#define CONFIG_DEBUG_LIBS 0
+#define CONFIG_DEQUANT_TOKENS 0
+#define CONFIG_DC_RECON 0
+#define CONFIG_RUNTIME_CPU_DETECT 0
+#define CONFIG_POSTPROC 1
+#define CONFIG_VP9_POSTPROC 1
+#define CONFIG_MULTITHREAD 1
+#define CONFIG_INTERNAL_STATS 0
+#define CONFIG_VP8_ENCODER 1
+#define CONFIG_VP8_DECODER 1
+#define CONFIG_VP9_ENCODER 1
+#define CONFIG_VP9_DECODER 1
+#define CONFIG_VP10_ENCODER 0
+#define CONFIG_VP10_DECODER 0
+#define CONFIG_VP8 1
+#define CONFIG_VP9 1
+#define CONFIG_VP10 0
+#define CONFIG_ENCODERS 1
+#define CONFIG_DECODERS 1
+#define CONFIG_STATIC_MSVCRT 0
+#define CONFIG_SPATIAL_RESAMPLING 1
+#define CONFIG_REALTIME_ONLY 1
+#define CONFIG_ONTHEFLY_BITPACKING 0
+#define CONFIG_ERROR_CONCEALMENT 0
+#define CONFIG_SHARED 0
+#define CONFIG_STATIC 1
+#define CONFIG_SMALL 0
+#define CONFIG_POSTPROC_VISUALIZER 0
+#define CONFIG_OS_SUPPORT 1
+#define CONFIG_UNIT_TESTS 0
+#define CONFIG_WEBM_IO 1
+#define CONFIG_LIBYUV 1
+#define CONFIG_DECODE_PERF_TESTS 0
+#define CONFIG_ENCODE_PERF_TESTS 0
+#define CONFIG_MULTI_RES_ENCODING 1
+#define CONFIG_TEMPORAL_DENOISING 1
+#define CONFIG_VP9_TEMPORAL_DENOISING 1
+#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
+#define CONFIG_VP9_HIGHBITDEPTH 0
+#define CONFIG_EXPERIMENTAL 0
+#define CONFIG_SIZE_LIMIT 1
+#define CONFIG_SPATIAL_SVC 0
+#define CONFIG_FP_MB_STATS 0
+#define CONFIG_EMULATE_HARDWARE 0
+#define DECODE_WIDTH_LIMIT 16384
+#define DECODE_HEIGHT_LIMIT 16384
+#endif /* VPX_CONFIG_H */
diff --git a/third_party/libvpx/source/config/linux/arm/vpx_dsp_rtcd.h b/third_party/libvpx/source/config/linux/arm/vpx_dsp_rtcd.h
new file mode 100644
index 0000000..bb570a0
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm/vpx_dsp_rtcd.h
@@ -0,0 +1,674 @@
+#ifndef VPX_DSP_RTCD_H_
+#define VPX_DSP_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * DSP
+ */
+
+#include "vpx/vpx_integer.h"
+#include "vpx_dsp/vpx_dsp_common.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vpx_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride);
+#define vpx_comp_avg_pred vpx_comp_avg_pred_c
+
+void vpx_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8 vpx_convolve8_c
+
+void vpx_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg vpx_convolve8_avg_c
+
+void vpx_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg_horiz vpx_convolve8_avg_horiz_c
+
+void vpx_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg_vert vpx_convolve8_avg_vert_c
+
+void vpx_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_horiz vpx_convolve8_horiz_c
+
+void vpx_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_vert vpx_convolve8_vert_c
+
+void vpx_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve_avg vpx_convolve_avg_c
+
+void vpx_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve_copy vpx_convolve_copy_c
+
+void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
+
+void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
+
+void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
+
+void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
+
+void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c
+
+void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c
+
+void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_c
+
+void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c
+
+void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c
+
+void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c
+
+void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c
+
+void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c
+
+void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c
+
+void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c
+
+void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c
+
+void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c
+
+void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_c
+
+void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_c
+
+void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_c
+
+void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_c
+
+void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c
+
+void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c
+
+void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c
+
+void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c
+
+void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_c
+
+void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_c
+
+void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_c
+
+void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_c
+
+void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_c
+
+void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_c
+
+void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_c
+
+void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_c
+
+void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_c
+
+void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_c
+
+void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_c
+
+void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_c
+
+void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_c
+
+void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_c
+
+void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_c
+
+void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_c
+
+void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct16x16 vpx_fdct16x16_c
+
+void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct16x16_1 vpx_fdct16x16_1_c
+
+void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32 vpx_fdct32x32_c
+
+void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32_1 vpx_fdct32x32_1_c
+
+void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32_rd vpx_fdct32x32_rd_c
+
+void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct4x4 vpx_fdct4x4_c
+
+void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct4x4_1 vpx_fdct4x4_1_c
+
+void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct8x8 vpx_fdct8x8_c
+
+void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct8x8_1 vpx_fdct8x8_1_c
+
+void vpx_get16x16var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+#define vpx_get16x16var vpx_get16x16var_c
+
+unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
+#define vpx_get4x4sse_cs vpx_get4x4sse_cs_c
+
+void vpx_get8x8var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+#define vpx_get8x8var vpx_get8x8var_c
+
+unsigned int vpx_get_mb_ss_c(const int16_t *);
+#define vpx_get_mb_ss vpx_get_mb_ss_c
+
+void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_16x16 vpx_h_predictor_16x16_c
+
+void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_32x32 vpx_h_predictor_32x32_c
+
+void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_4x4 vpx_h_predictor_4x4_c
+
+void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_8x8 vpx_h_predictor_8x8_c
+
+void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_10_add vpx_idct16x16_10_add_c
+
+void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_1_add vpx_idct16x16_1_add_c
+
+void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_256_add vpx_idct16x16_256_add_c
+
+void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_c
+
+void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_1_add vpx_idct32x32_1_add_c
+
+void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_34_add vpx_idct32x32_34_add_c
+
+void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct4x4_16_add vpx_idct4x4_16_add_c
+
+void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct4x4_1_add vpx_idct4x4_1_add_c
+
+void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_12_add vpx_idct8x8_12_add_c
+
+void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_1_add vpx_idct8x8_1_add_c
+
+void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_64_add vpx_idct8x8_64_add_c
+
+void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c
+
+void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
+
+void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_c
+
+void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_c
+
+void vpx_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_c
+
+void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_c
+
+void vpx_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_c
+
+void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+#define vpx_lpf_vertical_16 vpx_lpf_vertical_16_c
+
+void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+#define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_c
+
+void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_vertical_4 vpx_lpf_vertical_4_c
+
+void vpx_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_c
+
+void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_vertical_8 vpx_lpf_vertical_8_c
+
+void vpx_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_c
+
+unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+unsigned int vpx_mse16x16_media(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse16x16 vpx_mse16x16_media
+
+unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse16x8 vpx_mse16x8_c
+
+unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse8x16 vpx_mse8x16_c
+
+unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse8x8 vpx_mse8x8_c
+
+void vpx_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vpx_quantize_b vpx_quantize_b_c
+
+void vpx_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vpx_quantize_b_32x32 vpx_quantize_b_32x32_c
+
+unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad16x16_media(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x16 vpx_sad16x16_media
+
+unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x16_avg vpx_sad16x16_avg_c
+
+void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x3 vpx_sad16x16x3_c
+
+void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x4d vpx_sad16x16x4d_c
+
+void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x8 vpx_sad16x16x8_c
+
+unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x32 vpx_sad16x32_c
+
+unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x32_avg vpx_sad16x32_avg_c
+
+void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x32x4d vpx_sad16x32x4d_c
+
+unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x8 vpx_sad16x8_c
+
+unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x8_avg vpx_sad16x8_avg_c
+
+void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x3 vpx_sad16x8x3_c
+
+void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x4d vpx_sad16x8x4d_c
+
+void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x8 vpx_sad16x8x8_c
+
+unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x16 vpx_sad32x16_c
+
+unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x16_avg vpx_sad32x16_avg_c
+
+void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x16x4d vpx_sad32x16x4d_c
+
+unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x32 vpx_sad32x32_c
+
+unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x32_avg vpx_sad32x32_avg_c
+
+void vpx_sad32x32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x3 vpx_sad32x32x3_c
+
+void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x4d vpx_sad32x32x4d_c
+
+void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x8 vpx_sad32x32x8_c
+
+unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x64 vpx_sad32x64_c
+
+unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x64_avg vpx_sad32x64_avg_c
+
+void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x64x4d vpx_sad32x64x4d_c
+
+unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad4x4 vpx_sad4x4_c
+
+unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad4x4_avg vpx_sad4x4_avg_c
+
+void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x3 vpx_sad4x4x3_c
+
+void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x4d vpx_sad4x4x4d_c
+
+void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x8 vpx_sad4x4x8_c
+
+unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad4x8 vpx_sad4x8_c
+
+unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad4x8_avg vpx_sad4x8_avg_c
+
+void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x8x4d vpx_sad4x8x4d_c
+
+void vpx_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x8x8 vpx_sad4x8x8_c
+
+unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad64x32 vpx_sad64x32_c
+
+unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad64x32_avg vpx_sad64x32_avg_c
+
+void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x32x4d vpx_sad64x32x4d_c
+
+unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad64x64 vpx_sad64x64_c
+
+unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad64x64_avg vpx_sad64x64_avg_c
+
+void vpx_sad64x64x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x3 vpx_sad64x64x3_c
+
+void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x4d vpx_sad64x64x4d_c
+
+void vpx_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x8 vpx_sad64x64x8_c
+
+unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x16 vpx_sad8x16_c
+
+unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x16_avg vpx_sad8x16_avg_c
+
+void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x3 vpx_sad8x16x3_c
+
+void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x4d vpx_sad8x16x4d_c
+
+void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x8 vpx_sad8x16x8_c
+
+unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x4 vpx_sad8x4_c
+
+unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x4_avg vpx_sad8x4_avg_c
+
+void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x4x4d vpx_sad8x4x4d_c
+
+void vpx_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x4x8 vpx_sad8x4x8_c
+
+unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x8 vpx_sad8x8_c
+
+unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x8_avg vpx_sad8x8_avg_c
+
+void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x3 vpx_sad8x8x3_c
+
+void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x4d vpx_sad8x8x4d_c
+
+void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x8 vpx_sad8x8x8_c
+
+void vpx_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_2d vpx_scaled_2d_c
+
+void vpx_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
+
+void vpx_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
+
+void vpx_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
+
+void vpx_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_horiz vpx_scaled_horiz_c
+
+void vpx_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_vert vpx_scaled_vert_c
+
+uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c
+
+uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c
+
+uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c
+
+uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c
+
+uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c
+
+uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c
+
+uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c
+
+uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c
+
+uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c
+
+uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_c
+
+uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c
+
+uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c
+
+uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c
+
+uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance16x16_media(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_media
+
+uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_c
+
+uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_c
+
+uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_c
+
+uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_c
+
+uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_c
+
+uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c
+
+uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c
+
+uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_c
+
+uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_c
+
+uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_c
+
+uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_c
+
+uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance8x8_media(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_media
+
+void vpx_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
+#define vpx_subtract_block vpx_subtract_block_c
+
+void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_c
+
+void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_c
+
+void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_c
+
+void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_c
+
+void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_16x16 vpx_v_predictor_16x16_c
+
+void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_32x32 vpx_v_predictor_32x32_c
+
+void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_4x4 vpx_v_predictor_4x4_c
+
+void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_8x8 vpx_v_predictor_8x8_c
+
+unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance16x16_media(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x16 vpx_variance16x16_media
+
+unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x32 vpx_variance16x32_c
+
+unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x8 vpx_variance16x8_c
+
+unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x16 vpx_variance32x16_c
+
+unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x32 vpx_variance32x32_c
+
+unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x64 vpx_variance32x64_c
+
+unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance4x4 vpx_variance4x4_c
+
+unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance4x8 vpx_variance4x8_c
+
+unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance64x32 vpx_variance64x32_c
+
+unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance64x64 vpx_variance64x64_c
+
+unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x16 vpx_variance8x16_c
+
+unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x4 vpx_variance8x4_c
+
+unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance8x8_media(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x8 vpx_variance8x8_media
+
+uint32_t vpx_variance_halfpixvar16x16_h_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_variance_halfpixvar16x16_h_media(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_h vpx_variance_halfpixvar16x16_h_media
+
+uint32_t vpx_variance_halfpixvar16x16_hv_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_variance_halfpixvar16x16_hv_media(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_hv vpx_variance_halfpixvar16x16_hv_media
+
+uint32_t vpx_variance_halfpixvar16x16_v_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_variance_halfpixvar16x16_v_media(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_v vpx_variance_halfpixvar16x16_v_media
+
+void vpx_dsp_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm/vpx_scale_rtcd.h b/third_party/libvpx/source/config/linux/arm/vpx_scale_rtcd.h
new file mode 100644
index 0000000..a1564b7
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm/vpx_scale_rtcd.h
@@ -0,0 +1,71 @@
+#ifndef VPX_SCALE_RTCD_H_
+#define VPX_SCALE_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
+
+void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
+
+void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
+
+void vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
+
+void vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
+
+void vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
+
+void vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
+
+void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
+
+void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
+#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
+
+void vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf);
+#define vpx_extend_frame_borders vpx_extend_frame_borders_c
+
+void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf);
+#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
+
+void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+#define vpx_yv12_copy_y vpx_yv12_copy_y_c
+
+void vpx_scale_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm64/vp8_rtcd.h b/third_party/libvpx/source/config/linux/arm64/vp8_rtcd.h
new file mode 100644
index 0000000..74456fe
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm64/vp8_rtcd.h
@@ -0,0 +1,242 @@
+#ifndef VP8_RTCD_H_
+#define VP8_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP8
+ */
+
+struct blockd;
+struct macroblockd;
+struct loop_filter_info;
+
+/* Encoder forward decls */
+struct block;
+struct macroblock;
+struct variance_vtable;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vp8_bilinear_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict16x16_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_neon
+
+void vp8_bilinear_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_c
+
+void vp8_bilinear_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_neon
+
+void vp8_bilinear_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_bilinear_predict8x8_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_neon
+
+void vp8_blend_b_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_b vp8_blend_b_c
+
+void vp8_blend_mb_inner_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_mb_inner vp8_blend_mb_inner_c
+
+void vp8_blend_mb_outer_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_mb_outer vp8_blend_mb_outer_c
+
+int vp8_block_error_c(short *coeff, short *dqcoeff);
+#define vp8_block_error vp8_block_error_c
+
+void vp8_build_intra_predictors_mbuv_s_c(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride);
+void vp8_build_intra_predictors_mbuv_s_neon(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride);
+#define vp8_build_intra_predictors_mbuv_s vp8_build_intra_predictors_mbuv_s_neon
+
+void vp8_build_intra_predictors_mby_s_c(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride);
+void vp8_build_intra_predictors_mby_s_neon(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride);
+#define vp8_build_intra_predictors_mby_s vp8_build_intra_predictors_mby_s_neon
+
+void vp8_clear_system_state_c();
+#define vp8_clear_system_state vp8_clear_system_state_c
+
+void vp8_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem16x16_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem16x16 vp8_copy_mem16x16_neon
+
+void vp8_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x4_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem8x4 vp8_copy_mem8x4_neon
+
+void vp8_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+void vp8_copy_mem8x8_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem8x8 vp8_copy_mem8x8_neon
+
+void vp8_dc_only_idct_add_c(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+void vp8_dc_only_idct_add_neon(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+#define vp8_dc_only_idct_add vp8_dc_only_idct_add_neon
+
+int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+int vp8_denoiser_filter_neon(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+#define vp8_denoiser_filter vp8_denoiser_filter_neon
+
+int vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+int vp8_denoiser_filter_uv_neon(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_neon
+
+void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *output, int stride);
+void vp8_dequant_idct_add_neon(short *input, short *dq, unsigned char *output, int stride);
+#define vp8_dequant_idct_add vp8_dequant_idct_add_neon
+
+void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+void vp8_dequant_idct_add_uv_block_neon(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_neon
+
+void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+void vp8_dequant_idct_add_y_block_neon(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_neon
+
+void vp8_dequantize_b_c(struct blockd*, short *dqc);
+void vp8_dequantize_b_neon(struct blockd*, short *dqc);
+#define vp8_dequantize_b vp8_dequantize_b_neon
+
+int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_diamond_search_sad vp8_diamond_search_sad_c
+
+void vp8_fast_quantize_b_c(struct block *, struct blockd *);
+void vp8_fast_quantize_b_neon(struct block *, struct blockd *);
+#define vp8_fast_quantize_b vp8_fast_quantize_b_neon
+
+void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
+
+void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
+
+void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
+
+int vp8_full_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_full_search_sad vp8_full_search_sad_c
+
+void vp8_intra4x4_predict_c(unsigned char *Above, unsigned char *yleft, int left_stride, int b_mode, unsigned char *dst, int dst_stride, unsigned char top_left);
+#define vp8_intra4x4_predict vp8_intra4x4_predict_c
+
+void vp8_loop_filter_bh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bh_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_bh vp8_loop_filter_bh_neon
+
+void vp8_loop_filter_bv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_bv_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_bv vp8_loop_filter_bv_neon
+
+void vp8_loop_filter_mbh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbh_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_mbh vp8_loop_filter_mbh_neon
+
+void vp8_loop_filter_mbv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+void vp8_loop_filter_mbv_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_mbv vp8_loop_filter_mbv_neon
+
+void vp8_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bhs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_neon
+
+void vp8_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_bvs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_neon
+
+void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_mbhs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_mbh vp8_loop_filter_mbhs_neon
+
+void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
+void vp8_loop_filter_mbvs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_mbv vp8_loop_filter_mbvs_neon
+
+int vp8_mbblock_error_c(struct macroblock *mb, int dc);
+#define vp8_mbblock_error vp8_mbblock_error_c
+
+void vp8_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
+#define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_c
+
+void vp8_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
+#define vp8_mbpost_proc_down vp8_mbpost_proc_down_c
+
+int vp8_mbuverror_c(struct macroblock *mb);
+#define vp8_mbuverror vp8_mbuverror_c
+
+void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
+#define vp8_plane_add_noise vp8_plane_add_noise_c
+
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+#define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_row_c
+
+int vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_refining_search_sad vp8_refining_search_sad_c
+
+void vp8_regular_quantize_b_c(struct block *, struct blockd *);
+#define vp8_regular_quantize_b vp8_regular_quantize_b_c
+
+void vp8_short_fdct4x4_c(short *input, short *output, int pitch);
+void vp8_short_fdct4x4_neon(short *input, short *output, int pitch);
+#define vp8_short_fdct4x4 vp8_short_fdct4x4_neon
+
+void vp8_short_fdct8x4_c(short *input, short *output, int pitch);
+void vp8_short_fdct8x4_neon(short *input, short *output, int pitch);
+#define vp8_short_fdct8x4 vp8_short_fdct8x4_neon
+
+void vp8_short_idct4x4llm_c(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+void vp8_short_idct4x4llm_neon(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+#define vp8_short_idct4x4llm vp8_short_idct4x4llm_neon
+
+void vp8_short_inv_walsh4x4_c(short *input, short *output);
+void vp8_short_inv_walsh4x4_neon(short *input, short *output);
+#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_neon
+
+void vp8_short_inv_walsh4x4_1_c(short *input, short *output);
+#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
+
+void vp8_short_walsh4x4_c(short *input, short *output, int pitch);
+void vp8_short_walsh4x4_neon(short *input, short *output, int pitch);
+#define vp8_short_walsh4x4 vp8_short_walsh4x4_neon
+
+void vp8_sixtap_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict16x16_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_neon
+
+void vp8_sixtap_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_c
+
+void vp8_sixtap_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_neon
+
+void vp8_sixtap_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+void vp8_sixtap_predict8x8_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_neon
+
+void vp8_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm64/vp9_rtcd.h b/third_party/libvpx/source/config/linux/arm64/vp9_rtcd.h
new file mode 100644
index 0000000..b8f6906
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm64/vp9_rtcd.h
@@ -0,0 +1,156 @@
+#ifndef VP9_RTCD_H_
+#define VP9_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP9
+ */
+
+#include "vpx/vpx_integer.h"
+#include "vp9/common/vp9_common.h"
+#include "vp9/common/vp9_enums.h"
+
+struct macroblockd;
+
+/* Encoder forward decls */
+struct macroblock;
+struct vp9_variance_vtable;
+struct search_site_config;
+struct mv;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+unsigned int vp9_avg_4x4_c(const uint8_t *, int p);
+#define vp9_avg_4x4 vp9_avg_4x4_c
+
+unsigned int vp9_avg_8x8_c(const uint8_t *, int p);
+unsigned int vp9_avg_8x8_neon(const uint8_t *, int p);
+#define vp9_avg_8x8 vp9_avg_8x8_neon
+
+int64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
+#define vp9_block_error vp9_block_error_c
+
+int64_t vp9_block_error_fp_c(const int16_t *coeff, const int16_t *dqcoeff, int block_size);
+int64_t vp9_block_error_fp_neon(const int16_t *coeff, const int16_t *dqcoeff, int block_size);
+#define vp9_block_error_fp vp9_block_error_fp_neon
+
+int vp9_denoiser_filter_c(const uint8_t *sig, int sig_stride, const uint8_t *mc_avg, int mc_avg_stride, uint8_t *avg, int avg_stride, int increase_denoising, BLOCK_SIZE bs, int motion_magnitude);
+#define vp9_denoiser_filter vp9_denoiser_filter_c
+
+int vp9_diamond_search_sad_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
+#define vp9_diamond_search_sad vp9_diamond_search_sad_c
+
+void vp9_fdct8x8_quant_c(const int16_t *input, int stride, tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+void vp9_fdct8x8_quant_neon(const int16_t *input, int stride, tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_fdct8x8_quant vp9_fdct8x8_quant_neon
+
+void vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht16x16 vp9_fht16x16_c
+
+void vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht4x4 vp9_fht4x4_c
+
+void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht8x8 vp9_fht8x8_c
+
+void vp9_filter_by_weight16x16_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight);
+#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
+
+void vp9_filter_by_weight8x8_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight);
+#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
+
+int vp9_full_range_search_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
+#define vp9_full_range_search vp9_full_range_search_c
+
+int vp9_full_search_sad_c(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv, struct mv *best_mv);
+#define vp9_full_search_sad vp9_full_search_sad_c
+
+void vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define vp9_fwht4x4 vp9_fwht4x4_c
+
+void vp9_hadamard_16x16_c(int16_t const *src_diff, int src_stride, int16_t *coeff);
+#define vp9_hadamard_16x16 vp9_hadamard_16x16_c
+
+void vp9_hadamard_8x8_c(int16_t const *src_diff, int src_stride, int16_t *coeff);
+#define vp9_hadamard_8x8 vp9_hadamard_8x8_c
+
+void vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
+#define vp9_iht16x16_256_add vp9_iht16x16_256_add_c
+
+void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+void vp9_iht4x4_16_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+#define vp9_iht4x4_16_add vp9_iht4x4_16_add_neon
+
+void vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+void vp9_iht8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+#define vp9_iht8x8_64_add vp9_iht8x8_64_add_neon
+
+int16_t vp9_int_pro_col_c(uint8_t const *ref, const int width);
+int16_t vp9_int_pro_col_neon(uint8_t const *ref, const int width);
+#define vp9_int_pro_col vp9_int_pro_col_neon
+
+void vp9_int_pro_row_c(int16_t *hbuf, uint8_t const *ref, const int ref_stride, const int height);
+void vp9_int_pro_row_neon(int16_t *hbuf, uint8_t const *ref, const int ref_stride, const int height);
+#define vp9_int_pro_row vp9_int_pro_row_neon
+
+void vp9_mbpost_proc_across_ip_c(uint8_t *src, int pitch, int rows, int cols, int flimit);
+#define vp9_mbpost_proc_across_ip vp9_mbpost_proc_across_ip_c
+
+void vp9_mbpost_proc_down_c(uint8_t *dst, int pitch, int rows, int cols, int flimit);
+#define vp9_mbpost_proc_down vp9_mbpost_proc_down_c
+
+void vp9_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
+#define vp9_minmax_8x8 vp9_minmax_8x8_c
+
+void vp9_plane_add_noise_c(uint8_t *Start, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height, int Pitch);
+#define vp9_plane_add_noise vp9_plane_add_noise_c
+
+void vp9_post_proc_down_and_across_c(const uint8_t *src_ptr, uint8_t *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit);
+#define vp9_post_proc_down_and_across vp9_post_proc_down_and_across_c
+
+void vp9_quantize_fp_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+void vp9_quantize_fp_neon(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_quantize_fp vp9_quantize_fp_neon
+
+void vp9_quantize_fp_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
+
+int16_t vp9_satd_c(const int16_t *coeff, int length);
+#define vp9_satd vp9_satd_c
+
+void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
+#define vp9_temporal_filter_apply vp9_temporal_filter_apply_c
+
+int vp9_vector_var_c(int16_t const *ref, int16_t const *src, const int bwl);
+int vp9_vector_var_neon(int16_t const *ref, int16_t const *src, const int bwl);
+#define vp9_vector_var vp9_vector_var_neon
+
+void vp9_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm64/vpx_config.asm b/third_party/libvpx/source/config/linux/arm64/vpx_config.asm
new file mode 100644
index 0000000..2504a60
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm64/vpx_config.asm
@@ -0,0 +1,91 @@
+@ This file was created from a .asm file
+@ using the ads2gas.pl script.
+ .equ DO1STROUNDING, 0
+.equ ARCH_ARM , 1
+.equ ARCH_MIPS , 0
+.equ ARCH_X86 , 0
+.equ ARCH_X86_64 , 0
+.equ HAVE_EDSP , 0
+.equ HAVE_MEDIA , 0
+.equ HAVE_NEON , 1
+.equ HAVE_NEON_ASM , 0
+.equ HAVE_MIPS32 , 0
+.equ HAVE_DSPR2 , 0
+.equ HAVE_MSA , 0
+.equ HAVE_MIPS64 , 0
+.equ HAVE_MMX , 0
+.equ HAVE_SSE , 0
+.equ HAVE_SSE2 , 0
+.equ HAVE_SSE3 , 0
+.equ HAVE_SSSE3 , 0
+.equ HAVE_SSE4_1 , 0
+.equ HAVE_AVX , 0
+.equ HAVE_AVX2 , 0
+.equ HAVE_VPX_PORTS , 1
+.equ HAVE_STDINT_H , 1
+.equ HAVE_PTHREAD_H , 1
+.equ HAVE_SYS_MMAN_H , 1
+.equ HAVE_UNISTD_H , 0
+.equ CONFIG_DEPENDENCY_TRACKING , 1
+.equ CONFIG_EXTERNAL_BUILD , 1
+.equ CONFIG_INSTALL_DOCS , 0
+.equ CONFIG_INSTALL_BINS , 1
+.equ CONFIG_INSTALL_LIBS , 1
+.equ CONFIG_INSTALL_SRCS , 0
+.equ CONFIG_USE_X86INC , 0
+.equ CONFIG_DEBUG , 0
+.equ CONFIG_GPROF , 0
+.equ CONFIG_GCOV , 0
+.equ CONFIG_RVCT , 0
+.equ CONFIG_GCC , 1
+.equ CONFIG_MSVS , 0
+.equ CONFIG_PIC , 1
+.equ CONFIG_BIG_ENDIAN , 0
+.equ CONFIG_CODEC_SRCS , 0
+.equ CONFIG_DEBUG_LIBS , 0
+.equ CONFIG_DEQUANT_TOKENS , 0
+.equ CONFIG_DC_RECON , 0
+.equ CONFIG_RUNTIME_CPU_DETECT , 0
+.equ CONFIG_POSTPROC , 1
+.equ CONFIG_VP9_POSTPROC , 1
+.equ CONFIG_MULTITHREAD , 1
+.equ CONFIG_INTERNAL_STATS , 0
+.equ CONFIG_VP8_ENCODER , 1
+.equ CONFIG_VP8_DECODER , 1
+.equ CONFIG_VP9_ENCODER , 1
+.equ CONFIG_VP9_DECODER , 1
+.equ CONFIG_VP10_ENCODER , 0
+.equ CONFIG_VP10_DECODER , 0
+.equ CONFIG_VP8 , 1
+.equ CONFIG_VP9 , 1
+.equ CONFIG_VP10 , 0
+.equ CONFIG_ENCODERS , 1
+.equ CONFIG_DECODERS , 1
+.equ CONFIG_STATIC_MSVCRT , 0
+.equ CONFIG_SPATIAL_RESAMPLING , 1
+.equ CONFIG_REALTIME_ONLY , 1
+.equ CONFIG_ONTHEFLY_BITPACKING , 0
+.equ CONFIG_ERROR_CONCEALMENT , 0
+.equ CONFIG_SHARED , 0
+.equ CONFIG_STATIC , 1
+.equ CONFIG_SMALL , 0
+.equ CONFIG_POSTPROC_VISUALIZER , 0
+.equ CONFIG_OS_SUPPORT , 1
+.equ CONFIG_UNIT_TESTS , 0
+.equ CONFIG_WEBM_IO , 1
+.equ CONFIG_LIBYUV , 1
+.equ CONFIG_DECODE_PERF_TESTS , 0
+.equ CONFIG_ENCODE_PERF_TESTS , 0
+.equ CONFIG_MULTI_RES_ENCODING , 1
+.equ CONFIG_TEMPORAL_DENOISING , 1
+.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
+.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
+.equ CONFIG_VP9_HIGHBITDEPTH , 0
+.equ CONFIG_EXPERIMENTAL , 0
+.equ CONFIG_SIZE_LIMIT , 1
+.equ CONFIG_SPATIAL_SVC , 0
+.equ CONFIG_FP_MB_STATS , 0
+.equ CONFIG_EMULATE_HARDWARE , 0
+.equ DECODE_WIDTH_LIMIT , 16384
+.equ DECODE_HEIGHT_LIMIT , 16384
+ .section .note.GNU-stack,"",%progbits
diff --git a/third_party/libvpx/source/config/linux/arm64/vpx_config.c b/third_party/libvpx/source/config/linux/arm64/vpx_config.c
new file mode 100644
index 0000000..6674d94
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm64/vpx_config.c
@@ -0,0 +1,10 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
+/* Use of this source code is governed by a BSD-style license */
+/* that can be found in the LICENSE file in the root of the source */
+/* tree. An additional intellectual property rights grant can be found */
+/* in the file PATENTS. All contributing project authors may */
+/* be found in the AUTHORS file in the root of the source tree. */
+#include "vpx/vpx_codec.h"
+static const char* const cfg = "--force-target=armv8-linux-gcc --enable-pic --enable-realtime-only --disable-edsp --enable-external-build --enable-postproc --disable-install-srcs --enable-multi-res-encoding --enable-temporal-denoising --disable-unit-tests --disable-install-docs --disable-examples --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384";
+const char *vpx_codec_build_config(void) {return cfg;}
diff --git a/third_party/libvpx/source/config/linux/arm64/vpx_config.h b/third_party/libvpx/source/config/linux/arm64/vpx_config.h
new file mode 100644
index 0000000..317cd03
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm64/vpx_config.h
@@ -0,0 +1,100 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
+/* Use of this source code is governed by a BSD-style license */
+/* that can be found in the LICENSE file in the root of the source */
+/* tree. An additional intellectual property rights grant can be found */
+/* in the file PATENTS. All contributing project authors may */
+/* be found in the AUTHORS file in the root of the source tree. */
+/* This file automatically generated by configure. Do not edit! */
+#ifndef VPX_CONFIG_H
+#define VPX_CONFIG_H
+#define RESTRICT
+#define INLINE inline
+#define ARCH_ARM 1
+#define ARCH_MIPS 0
+#define ARCH_X86 0
+#define ARCH_X86_64 0
+#define HAVE_EDSP 0
+#define HAVE_MEDIA 0
+#define HAVE_NEON 1
+#define HAVE_NEON_ASM 0
+#define HAVE_MIPS32 0
+#define HAVE_DSPR2 0
+#define HAVE_MSA 0
+#define HAVE_MIPS64 0
+#define HAVE_MMX 0
+#define HAVE_SSE 0
+#define HAVE_SSE2 0
+#define HAVE_SSE3 0
+#define HAVE_SSSE3 0
+#define HAVE_SSE4_1 0
+#define HAVE_AVX 0
+#define HAVE_AVX2 0
+#define HAVE_VPX_PORTS 1
+#define HAVE_STDINT_H 1
+#define HAVE_PTHREAD_H 1
+#define HAVE_SYS_MMAN_H 1
+#define HAVE_UNISTD_H 0
+#define CONFIG_DEPENDENCY_TRACKING 1
+#define CONFIG_EXTERNAL_BUILD 1
+#define CONFIG_INSTALL_DOCS 0
+#define CONFIG_INSTALL_BINS 1
+#define CONFIG_INSTALL_LIBS 1
+#define CONFIG_INSTALL_SRCS 0
+#define CONFIG_USE_X86INC 0
+#define CONFIG_DEBUG 0
+#define CONFIG_GPROF 0
+#define CONFIG_GCOV 0
+#define CONFIG_RVCT 0
+#define CONFIG_GCC 1
+#define CONFIG_MSVS 0
+#define CONFIG_PIC 1
+#define CONFIG_BIG_ENDIAN 0
+#define CONFIG_CODEC_SRCS 0
+#define CONFIG_DEBUG_LIBS 0
+#define CONFIG_DEQUANT_TOKENS 0
+#define CONFIG_DC_RECON 0
+#define CONFIG_RUNTIME_CPU_DETECT 0
+#define CONFIG_POSTPROC 1
+#define CONFIG_VP9_POSTPROC 1
+#define CONFIG_MULTITHREAD 1
+#define CONFIG_INTERNAL_STATS 0
+#define CONFIG_VP8_ENCODER 1
+#define CONFIG_VP8_DECODER 1
+#define CONFIG_VP9_ENCODER 1
+#define CONFIG_VP9_DECODER 1
+#define CONFIG_VP10_ENCODER 0
+#define CONFIG_VP10_DECODER 0
+#define CONFIG_VP8 1
+#define CONFIG_VP9 1
+#define CONFIG_VP10 0
+#define CONFIG_ENCODERS 1
+#define CONFIG_DECODERS 1
+#define CONFIG_STATIC_MSVCRT 0
+#define CONFIG_SPATIAL_RESAMPLING 1
+#define CONFIG_REALTIME_ONLY 1
+#define CONFIG_ONTHEFLY_BITPACKING 0
+#define CONFIG_ERROR_CONCEALMENT 0
+#define CONFIG_SHARED 0
+#define CONFIG_STATIC 1
+#define CONFIG_SMALL 0
+#define CONFIG_POSTPROC_VISUALIZER 0
+#define CONFIG_OS_SUPPORT 1
+#define CONFIG_UNIT_TESTS 0
+#define CONFIG_WEBM_IO 1
+#define CONFIG_LIBYUV 1
+#define CONFIG_DECODE_PERF_TESTS 0
+#define CONFIG_ENCODE_PERF_TESTS 0
+#define CONFIG_MULTI_RES_ENCODING 1
+#define CONFIG_TEMPORAL_DENOISING 1
+#define CONFIG_VP9_TEMPORAL_DENOISING 1
+#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
+#define CONFIG_VP9_HIGHBITDEPTH 0
+#define CONFIG_EXPERIMENTAL 0
+#define CONFIG_SIZE_LIMIT 1
+#define CONFIG_SPATIAL_SVC 0
+#define CONFIG_FP_MB_STATS 0
+#define CONFIG_EMULATE_HARDWARE 0
+#define DECODE_WIDTH_LIMIT 16384
+#define DECODE_HEIGHT_LIMIT 16384
+#endif /* VPX_CONFIG_H */
diff --git a/third_party/libvpx/source/config/linux/arm64/vpx_dsp_rtcd.h b/third_party/libvpx/source/config/linux/arm64/vpx_dsp_rtcd.h
new file mode 100644
index 0000000..2cac9e6
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm64/vpx_dsp_rtcd.h
@@ -0,0 +1,750 @@
+#ifndef VPX_DSP_RTCD_H_
+#define VPX_DSP_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * DSP
+ */
+
+#include "vpx/vpx_integer.h"
+#include "vpx_dsp/vpx_dsp_common.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vpx_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride);
+#define vpx_comp_avg_pred vpx_comp_avg_pred_c
+
+void vpx_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8 vpx_convolve8_neon
+
+void vpx_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg vpx_convolve8_avg_neon
+
+void vpx_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_avg_horiz_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg_horiz vpx_convolve8_avg_horiz_neon
+
+void vpx_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_avg_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg_vert vpx_convolve8_avg_vert_neon
+
+void vpx_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_horiz_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_horiz vpx_convolve8_horiz_neon
+
+void vpx_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve8_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_vert vpx_convolve8_vert_neon
+
+void vpx_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve_avg vpx_convolve_avg_neon
+
+void vpx_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+void vpx_convolve_copy_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve_copy vpx_convolve_copy_neon
+
+void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
+
+void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
+
+void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
+
+void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
+
+void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c
+
+void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c
+
+void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d135_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_neon
+
+void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c
+
+void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c
+
+void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c
+
+void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c
+
+void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c
+
+void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c
+
+void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c
+
+void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c
+
+void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c
+
+void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d45_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_neon
+
+void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_c
+
+void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d45_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_neon
+
+void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_d45_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_neon
+
+void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c
+
+void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c
+
+void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c
+
+void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c
+
+void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_neon
+
+void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_neon
+
+void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_neon
+
+void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_128_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_neon
+
+void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_neon
+
+void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_neon
+
+void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_neon
+
+void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_left_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_neon
+
+void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_neon
+
+void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_neon
+
+void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_neon
+
+void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_neon
+
+void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_neon
+
+void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_neon
+
+void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_neon
+
+void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_dc_top_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_neon
+
+void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct16x16 vpx_fdct16x16_c
+
+void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct16x16_1 vpx_fdct16x16_1_c
+
+void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32 vpx_fdct32x32_c
+
+void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32_1 vpx_fdct32x32_1_c
+
+void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32_rd vpx_fdct32x32_rd_c
+
+void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct4x4 vpx_fdct4x4_c
+
+void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct4x4_1 vpx_fdct4x4_1_c
+
+void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
+void vpx_fdct8x8_neon(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct8x8 vpx_fdct8x8_neon
+
+void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
+void vpx_fdct8x8_1_neon(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct8x8_1 vpx_fdct8x8_1_neon
+
+void vpx_get16x16var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+void vpx_get16x16var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+#define vpx_get16x16var vpx_get16x16var_neon
+
+unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
+unsigned int vpx_get4x4sse_cs_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
+#define vpx_get4x4sse_cs vpx_get4x4sse_cs_neon
+
+void vpx_get8x8var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+void vpx_get8x8var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+#define vpx_get8x8var vpx_get8x8var_neon
+
+unsigned int vpx_get_mb_ss_c(const int16_t *);
+#define vpx_get_mb_ss vpx_get_mb_ss_c
+
+void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_16x16 vpx_h_predictor_16x16_neon
+
+void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_32x32 vpx_h_predictor_32x32_neon
+
+void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_4x4 vpx_h_predictor_4x4_neon
+
+void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_8x8 vpx_h_predictor_8x8_neon
+
+void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct16x16_10_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_10_add vpx_idct16x16_10_add_neon
+
+void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct16x16_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_1_add vpx_idct16x16_1_add_neon
+
+void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct16x16_256_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_256_add vpx_idct16x16_256_add_neon
+
+void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct32x32_1024_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_neon
+
+void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct32x32_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_1_add vpx_idct32x32_1_add_neon
+
+void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_34_add vpx_idct32x32_34_add_c
+
+void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct4x4_16_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct4x4_16_add vpx_idct4x4_16_add_neon
+
+void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct4x4_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct4x4_1_add vpx_idct4x4_1_add_neon
+
+void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct8x8_12_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_12_add vpx_idct8x8_12_add_neon
+
+void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct8x8_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_1_add vpx_idct8x8_1_add_neon
+
+void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+void vpx_idct8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_64_add vpx_idct8x8_64_add_neon
+
+void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c
+
+void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
+
+void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_c
+
+void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_horizontal_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_neon
+
+void vpx_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+void vpx_lpf_horizontal_4_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_neon
+
+void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_horizontal_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_neon
+
+void vpx_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_c
+
+void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+#define vpx_lpf_vertical_16 vpx_lpf_vertical_16_c
+
+void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+#define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_c
+
+void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_vertical_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_vertical_4 vpx_lpf_vertical_4_neon
+
+void vpx_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+void vpx_lpf_vertical_4_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_neon
+
+void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+void vpx_lpf_vertical_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_vertical_8 vpx_lpf_vertical_8_neon
+
+void vpx_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_c
+
+unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+unsigned int vpx_mse16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse16x16 vpx_mse16x16_neon
+
+unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse16x8 vpx_mse16x8_c
+
+unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse8x16 vpx_mse8x16_c
+
+unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse8x8 vpx_mse8x8_c
+
+void vpx_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vpx_quantize_b vpx_quantize_b_c
+
+void vpx_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vpx_quantize_b_32x32 vpx_quantize_b_32x32_c
+
+unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad16x16_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x16 vpx_sad16x16_neon
+
+unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x16_avg vpx_sad16x16_avg_c
+
+void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x3 vpx_sad16x16x3_c
+
+void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+void vpx_sad16x16x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x4d vpx_sad16x16x4d_neon
+
+void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x8 vpx_sad16x16x8_c
+
+unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x32 vpx_sad16x32_c
+
+unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x32_avg vpx_sad16x32_avg_c
+
+void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x32x4d vpx_sad16x32x4d_c
+
+unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad16x8_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x8 vpx_sad16x8_neon
+
+unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x8_avg vpx_sad16x8_avg_c
+
+void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x3 vpx_sad16x8x3_c
+
+void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x4d vpx_sad16x8x4d_c
+
+void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x8 vpx_sad16x8x8_c
+
+unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x16 vpx_sad32x16_c
+
+unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x16_avg vpx_sad32x16_avg_c
+
+void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x16x4d vpx_sad32x16x4d_c
+
+unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad32x32_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x32 vpx_sad32x32_neon
+
+unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x32_avg vpx_sad32x32_avg_c
+
+void vpx_sad32x32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x3 vpx_sad32x32x3_c
+
+void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+void vpx_sad32x32x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x4d vpx_sad32x32x4d_neon
+
+void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x8 vpx_sad32x32x8_c
+
+unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x64 vpx_sad32x64_c
+
+unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x64_avg vpx_sad32x64_avg_c
+
+void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x64x4d vpx_sad32x64x4d_c
+
+unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad4x4_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad4x4 vpx_sad4x4_neon
+
+unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad4x4_avg vpx_sad4x4_avg_c
+
+void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x3 vpx_sad4x4x3_c
+
+void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x4d vpx_sad4x4x4d_c
+
+void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x8 vpx_sad4x4x8_c
+
+unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad4x8 vpx_sad4x8_c
+
+unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad4x8_avg vpx_sad4x8_avg_c
+
+void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x8x4d vpx_sad4x8x4d_c
+
+void vpx_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x8x8 vpx_sad4x8x8_c
+
+unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad64x32 vpx_sad64x32_c
+
+unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad64x32_avg vpx_sad64x32_avg_c
+
+void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x32x4d vpx_sad64x32x4d_c
+
+unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad64x64_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad64x64 vpx_sad64x64_neon
+
+unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad64x64_avg vpx_sad64x64_avg_c
+
+void vpx_sad64x64x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x3 vpx_sad64x64x3_c
+
+void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+void vpx_sad64x64x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x4d vpx_sad64x64x4d_neon
+
+void vpx_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x8 vpx_sad64x64x8_c
+
+unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad8x16_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x16 vpx_sad8x16_neon
+
+unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x16_avg vpx_sad8x16_avg_c
+
+void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x3 vpx_sad8x16x3_c
+
+void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x4d vpx_sad8x16x4d_c
+
+void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x8 vpx_sad8x16x8_c
+
+unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x4 vpx_sad8x4_c
+
+unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x4_avg vpx_sad8x4_avg_c
+
+void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x4x4d vpx_sad8x4x4d_c
+
+void vpx_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x4x8 vpx_sad8x4x8_c
+
+unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+unsigned int vpx_sad8x8_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x8 vpx_sad8x8_neon
+
+unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x8_avg vpx_sad8x8_avg_c
+
+void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x3 vpx_sad8x8x3_c
+
+void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x4d vpx_sad8x8x4d_c
+
+void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x8 vpx_sad8x8x8_c
+
+void vpx_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_2d vpx_scaled_2d_c
+
+void vpx_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
+
+void vpx_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
+
+void vpx_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
+
+void vpx_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_horiz vpx_scaled_horiz_c
+
+void vpx_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_vert vpx_scaled_vert_c
+
+uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c
+
+uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c
+
+uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c
+
+uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c
+
+uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c
+
+uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c
+
+uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c
+
+uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c
+
+uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c
+
+uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_c
+
+uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c
+
+uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c
+
+uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c
+
+uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance16x16_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_neon
+
+uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_c
+
+uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_c
+
+uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_c
+
+uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance32x32_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_neon
+
+uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_c
+
+uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c
+
+uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c
+
+uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_c
+
+uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance64x64_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_neon
+
+uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_c
+
+uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_c
+
+uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+uint32_t vpx_sub_pixel_variance8x8_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_neon
+
+void vpx_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
+void vpx_subtract_block_neon(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
+#define vpx_subtract_block vpx_subtract_block_neon
+
+void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_neon
+
+void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_neon
+
+void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_neon
+
+void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_tm_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_neon
+
+void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_16x16 vpx_v_predictor_16x16_neon
+
+void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_32x32 vpx_v_predictor_32x32_neon
+
+void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_4x4 vpx_v_predictor_4x4_neon
+
+void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+void vpx_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_8x8 vpx_v_predictor_8x8_neon
+
+unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x16 vpx_variance16x16_neon
+
+unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x32 vpx_variance16x32_c
+
+unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance16x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x8 vpx_variance16x8_neon
+
+unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x16 vpx_variance32x16_c
+
+unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance32x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x32 vpx_variance32x32_neon
+
+unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance32x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x64 vpx_variance32x64_neon
+
+unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance4x4 vpx_variance4x4_c
+
+unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance4x8 vpx_variance4x8_c
+
+unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance64x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance64x32 vpx_variance64x32_neon
+
+unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance64x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance64x64 vpx_variance64x64_neon
+
+unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance8x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x16 vpx_variance8x16_neon
+
+unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x4 vpx_variance8x4_c
+
+unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+unsigned int vpx_variance8x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x8 vpx_variance8x8_neon
+
+uint32_t vpx_variance_halfpixvar16x16_h_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_h vpx_variance_halfpixvar16x16_h_c
+
+uint32_t vpx_variance_halfpixvar16x16_hv_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_hv vpx_variance_halfpixvar16x16_hv_c
+
+uint32_t vpx_variance_halfpixvar16x16_v_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_v vpx_variance_halfpixvar16x16_v_c
+
+void vpx_dsp_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/arm64/vpx_scale_rtcd.h b/third_party/libvpx/source/config/linux/arm64/vpx_scale_rtcd.h
new file mode 100644
index 0000000..a1564b7
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/arm64/vpx_scale_rtcd.h
@@ -0,0 +1,71 @@
+#ifndef VPX_SCALE_RTCD_H_
+#define VPX_SCALE_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
+
+void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
+
+void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
+
+void vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
+
+void vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
+
+void vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
+
+void vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
+
+void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
+
+void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
+#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
+
+void vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf);
+#define vpx_extend_frame_borders vpx_extend_frame_borders_c
+
+void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf);
+#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
+
+void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+#define vpx_yv12_copy_y vpx_yv12_copy_y_c
+
+void vpx_scale_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+#include "vpx_ports/arm.h"
+static void setup_rtcd_internal(void)
+{
+ int flags = arm_cpu_caps();
+
+ (void)flags;
+
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/generic/vp8_rtcd.h b/third_party/libvpx/source/config/linux/generic/vp8_rtcd.h
new file mode 100644
index 0000000..dc2834b
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/generic/vp8_rtcd.h
@@ -0,0 +1,205 @@
+#ifndef VP8_RTCD_H_
+#define VP8_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP8
+ */
+
+struct blockd;
+struct macroblockd;
+struct loop_filter_info;
+
+/* Encoder forward decls */
+struct block;
+struct macroblock;
+struct variance_vtable;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vp8_bilinear_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_c
+
+void vp8_bilinear_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_c
+
+void vp8_bilinear_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_c
+
+void vp8_bilinear_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_c
+
+void vp8_blend_b_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_b vp8_blend_b_c
+
+void vp8_blend_mb_inner_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_mb_inner vp8_blend_mb_inner_c
+
+void vp8_blend_mb_outer_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride);
+#define vp8_blend_mb_outer vp8_blend_mb_outer_c
+
+int vp8_block_error_c(short *coeff, short *dqcoeff);
+#define vp8_block_error vp8_block_error_c
+
+void vp8_build_intra_predictors_mbuv_s_c(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride);
+#define vp8_build_intra_predictors_mbuv_s vp8_build_intra_predictors_mbuv_s_c
+
+void vp8_build_intra_predictors_mby_s_c(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride);
+#define vp8_build_intra_predictors_mby_s vp8_build_intra_predictors_mby_s_c
+
+void vp8_clear_system_state_c();
+#define vp8_clear_system_state vp8_clear_system_state_c
+
+void vp8_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem16x16 vp8_copy_mem16x16_c
+
+void vp8_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem8x4 vp8_copy_mem8x4_c
+
+void vp8_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
+#define vp8_copy_mem8x8 vp8_copy_mem8x8_c
+
+void vp8_dc_only_idct_add_c(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
+#define vp8_dc_only_idct_add vp8_dc_only_idct_add_c
+
+int vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+#define vp8_denoiser_filter vp8_denoiser_filter_c
+
+int vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising);
+#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_c
+
+void vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *output, int stride);
+#define vp8_dequant_idct_add vp8_dequant_idct_add_c
+
+void vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs);
+#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_c
+
+void vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
+#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_c
+
+void vp8_dequantize_b_c(struct blockd*, short *dqc);
+#define vp8_dequantize_b vp8_dequantize_b_c
+
+int vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_diamond_search_sad vp8_diamond_search_sad_c
+
+void vp8_fast_quantize_b_c(struct block *, struct blockd *);
+#define vp8_fast_quantize_b vp8_fast_quantize_b_c
+
+void vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
+
+void vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
+
+void vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
+#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
+
+int vp8_full_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_full_search_sad vp8_full_search_sad_c
+
+void vp8_intra4x4_predict_c(unsigned char *Above, unsigned char *yleft, int left_stride, int b_mode, unsigned char *dst, int dst_stride, unsigned char top_left);
+#define vp8_intra4x4_predict vp8_intra4x4_predict_c
+
+void vp8_loop_filter_bh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_bh vp8_loop_filter_bh_c
+
+void vp8_loop_filter_bv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_bv vp8_loop_filter_bv_c
+
+void vp8_loop_filter_mbh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_mbh vp8_loop_filter_mbh_c
+
+void vp8_loop_filter_mbv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi);
+#define vp8_loop_filter_mbv vp8_loop_filter_mbv_c
+
+void vp8_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_c
+
+void vp8_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_c
+
+void vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_c
+
+void vp8_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
+#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_c
+
+int vp8_mbblock_error_c(struct macroblock *mb, int dc);
+#define vp8_mbblock_error vp8_mbblock_error_c
+
+void vp8_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
+#define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_c
+
+void vp8_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
+#define vp8_mbpost_proc_down vp8_mbpost_proc_down_c
+
+int vp8_mbuverror_c(struct macroblock *mb);
+#define vp8_mbuverror vp8_mbuverror_c
+
+void vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch);
+#define vp8_plane_add_noise vp8_plane_add_noise_c
+
+void vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
+#define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_row_c
+
+int vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv);
+#define vp8_refining_search_sad vp8_refining_search_sad_c
+
+void vp8_regular_quantize_b_c(struct block *, struct blockd *);
+#define vp8_regular_quantize_b vp8_regular_quantize_b_c
+
+void vp8_short_fdct4x4_c(short *input, short *output, int pitch);
+#define vp8_short_fdct4x4 vp8_short_fdct4x4_c
+
+void vp8_short_fdct8x4_c(short *input, short *output, int pitch);
+#define vp8_short_fdct8x4 vp8_short_fdct8x4_c
+
+void vp8_short_idct4x4llm_c(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
+#define vp8_short_idct4x4llm vp8_short_idct4x4llm_c
+
+void vp8_short_inv_walsh4x4_c(short *input, short *output);
+#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_c
+
+void vp8_short_inv_walsh4x4_1_c(short *input, short *output);
+#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
+
+void vp8_short_walsh4x4_c(short *input, short *output, int pitch);
+#define vp8_short_walsh4x4 vp8_short_walsh4x4_c
+
+void vp8_sixtap_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_c
+
+void vp8_sixtap_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_c
+
+void vp8_sixtap_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_c
+
+void vp8_sixtap_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
+#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_c
+
+void vp8_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+static void setup_rtcd_internal(void)
+{
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h b/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h
new file mode 100644
index 0000000..b50359b
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/generic/vp9_rtcd.h
@@ -0,0 +1,142 @@
+#ifndef VP9_RTCD_H_
+#define VP9_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP9
+ */
+
+#include "vpx/vpx_integer.h"
+#include "vp9/common/vp9_common.h"
+#include "vp9/common/vp9_enums.h"
+
+struct macroblockd;
+
+/* Encoder forward decls */
+struct macroblock;
+struct vp9_variance_vtable;
+struct search_site_config;
+struct mv;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+unsigned int vp9_avg_4x4_c(const uint8_t *, int p);
+#define vp9_avg_4x4 vp9_avg_4x4_c
+
+unsigned int vp9_avg_8x8_c(const uint8_t *, int p);
+#define vp9_avg_8x8 vp9_avg_8x8_c
+
+int64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
+#define vp9_block_error vp9_block_error_c
+
+int64_t vp9_block_error_fp_c(const int16_t *coeff, const int16_t *dqcoeff, int block_size);
+#define vp9_block_error_fp vp9_block_error_fp_c
+
+int vp9_denoiser_filter_c(const uint8_t *sig, int sig_stride, const uint8_t *mc_avg, int mc_avg_stride, uint8_t *avg, int avg_stride, int increase_denoising, BLOCK_SIZE bs, int motion_magnitude);
+#define vp9_denoiser_filter vp9_denoiser_filter_c
+
+int vp9_diamond_search_sad_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
+#define vp9_diamond_search_sad vp9_diamond_search_sad_c
+
+void vp9_fdct8x8_quant_c(const int16_t *input, int stride, tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_fdct8x8_quant vp9_fdct8x8_quant_c
+
+void vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht16x16 vp9_fht16x16_c
+
+void vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht4x4 vp9_fht4x4_c
+
+void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
+#define vp9_fht8x8 vp9_fht8x8_c
+
+void vp9_filter_by_weight16x16_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight);
+#define vp9_filter_by_weight16x16 vp9_filter_by_weight16x16_c
+
+void vp9_filter_by_weight8x8_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int src_weight);
+#define vp9_filter_by_weight8x8 vp9_filter_by_weight8x8_c
+
+int vp9_full_range_search_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
+#define vp9_full_range_search vp9_full_range_search_c
+
+int vp9_full_search_sad_c(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv, struct mv *best_mv);
+#define vp9_full_search_sad vp9_full_search_sad_c
+
+void vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define vp9_fwht4x4 vp9_fwht4x4_c
+
+void vp9_hadamard_16x16_c(int16_t const *src_diff, int src_stride, int16_t *coeff);
+#define vp9_hadamard_16x16 vp9_hadamard_16x16_c
+
+void vp9_hadamard_8x8_c(int16_t const *src_diff, int src_stride, int16_t *coeff);
+#define vp9_hadamard_8x8 vp9_hadamard_8x8_c
+
+void vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
+#define vp9_iht16x16_256_add vp9_iht16x16_256_add_c
+
+void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+#define vp9_iht4x4_16_add vp9_iht4x4_16_add_c
+
+void vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
+#define vp9_iht8x8_64_add vp9_iht8x8_64_add_c
+
+int16_t vp9_int_pro_col_c(uint8_t const *ref, const int width);
+#define vp9_int_pro_col vp9_int_pro_col_c
+
+void vp9_int_pro_row_c(int16_t *hbuf, uint8_t const *ref, const int ref_stride, const int height);
+#define vp9_int_pro_row vp9_int_pro_row_c
+
+void vp9_mbpost_proc_across_ip_c(uint8_t *src, int pitch, int rows, int cols, int flimit);
+#define vp9_mbpost_proc_across_ip vp9_mbpost_proc_across_ip_c
+
+void vp9_mbpost_proc_down_c(uint8_t *dst, int pitch, int rows, int cols, int flimit);
+#define vp9_mbpost_proc_down vp9_mbpost_proc_down_c
+
+void vp9_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
+#define vp9_minmax_8x8 vp9_minmax_8x8_c
+
+void vp9_plane_add_noise_c(uint8_t *Start, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int Height, int Pitch);
+#define vp9_plane_add_noise vp9_plane_add_noise_c
+
+void vp9_post_proc_down_and_across_c(const uint8_t *src_ptr, uint8_t *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, int flimit);
+#define vp9_post_proc_down_and_across vp9_post_proc_down_and_across_c
+
+void vp9_quantize_fp_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_quantize_fp vp9_quantize_fp_c
+
+void vp9_quantize_fp_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
+
+int16_t vp9_satd_c(const int16_t *coeff, int length);
+#define vp9_satd vp9_satd_c
+
+void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
+#define vp9_temporal_filter_apply vp9_temporal_filter_apply_c
+
+int vp9_vector_var_c(int16_t const *ref, int16_t const *src, const int bwl);
+#define vp9_vector_var vp9_vector_var_c
+
+void vp9_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+static void setup_rtcd_internal(void)
+{
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/generic/vpx_config.asm b/third_party/libvpx/source/config/linux/generic/vpx_config.asm
new file mode 100644
index 0000000..fe14db8
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/generic/vpx_config.asm
@@ -0,0 +1,91 @@
+@ This file was created from a .asm file
+@ using the ads2gas.pl script.
+ .equ DO1STROUNDING, 0
+.equ ARCH_ARM , 0
+.equ ARCH_MIPS , 0
+.equ ARCH_X86 , 0
+.equ ARCH_X86_64 , 0
+.equ HAVE_EDSP , 0
+.equ HAVE_MEDIA , 0
+.equ HAVE_NEON , 0
+.equ HAVE_NEON_ASM , 0
+.equ HAVE_MIPS32 , 0
+.equ HAVE_DSPR2 , 0
+.equ HAVE_MSA , 0
+.equ HAVE_MIPS64 , 0
+.equ HAVE_MMX , 0
+.equ HAVE_SSE , 0
+.equ HAVE_SSE2 , 0
+.equ HAVE_SSE3 , 0
+.equ HAVE_SSSE3 , 0
+.equ HAVE_SSE4_1 , 0
+.equ HAVE_AVX , 0
+.equ HAVE_AVX2 , 0
+.equ HAVE_VPX_PORTS , 1
+.equ HAVE_STDINT_H , 1
+.equ HAVE_PTHREAD_H , 1
+.equ HAVE_SYS_MMAN_H , 1
+.equ HAVE_UNISTD_H , 0
+.equ CONFIG_DEPENDENCY_TRACKING , 1
+.equ CONFIG_EXTERNAL_BUILD , 1
+.equ CONFIG_INSTALL_DOCS , 0
+.equ CONFIG_INSTALL_BINS , 1
+.equ CONFIG_INSTALL_LIBS , 1
+.equ CONFIG_INSTALL_SRCS , 0
+.equ CONFIG_USE_X86INC , 0
+.equ CONFIG_DEBUG , 0
+.equ CONFIG_GPROF , 0
+.equ CONFIG_GCOV , 0
+.equ CONFIG_RVCT , 0
+.equ CONFIG_GCC , 1
+.equ CONFIG_MSVS , 0
+.equ CONFIG_PIC , 1
+.equ CONFIG_BIG_ENDIAN , 0
+.equ CONFIG_CODEC_SRCS , 0
+.equ CONFIG_DEBUG_LIBS , 0
+.equ CONFIG_DEQUANT_TOKENS , 0
+.equ CONFIG_DC_RECON , 0
+.equ CONFIG_RUNTIME_CPU_DETECT , 0
+.equ CONFIG_POSTPROC , 1
+.equ CONFIG_VP9_POSTPROC , 1
+.equ CONFIG_MULTITHREAD , 1
+.equ CONFIG_INTERNAL_STATS , 0
+.equ CONFIG_VP8_ENCODER , 1
+.equ CONFIG_VP8_DECODER , 1
+.equ CONFIG_VP9_ENCODER , 1
+.equ CONFIG_VP9_DECODER , 1
+.equ CONFIG_VP10_ENCODER , 0
+.equ CONFIG_VP10_DECODER , 0
+.equ CONFIG_VP8 , 1
+.equ CONFIG_VP9 , 1
+.equ CONFIG_VP10 , 0
+.equ CONFIG_ENCODERS , 1
+.equ CONFIG_DECODERS , 1
+.equ CONFIG_STATIC_MSVCRT , 0
+.equ CONFIG_SPATIAL_RESAMPLING , 1
+.equ CONFIG_REALTIME_ONLY , 1
+.equ CONFIG_ONTHEFLY_BITPACKING , 0
+.equ CONFIG_ERROR_CONCEALMENT , 0
+.equ CONFIG_SHARED , 0
+.equ CONFIG_STATIC , 1
+.equ CONFIG_SMALL , 0
+.equ CONFIG_POSTPROC_VISUALIZER , 0
+.equ CONFIG_OS_SUPPORT , 1
+.equ CONFIG_UNIT_TESTS , 0
+.equ CONFIG_WEBM_IO , 1
+.equ CONFIG_LIBYUV , 1
+.equ CONFIG_DECODE_PERF_TESTS , 0
+.equ CONFIG_ENCODE_PERF_TESTS , 0
+.equ CONFIG_MULTI_RES_ENCODING , 1
+.equ CONFIG_TEMPORAL_DENOISING , 1
+.equ CONFIG_VP9_TEMPORAL_DENOISING , 1
+.equ CONFIG_COEFFICIENT_RANGE_CHECKING , 0
+.equ CONFIG_VP9_HIGHBITDEPTH , 0
+.equ CONFIG_EXPERIMENTAL , 0
+.equ CONFIG_SIZE_LIMIT , 1
+.equ CONFIG_SPATIAL_SVC , 0
+.equ CONFIG_FP_MB_STATS , 0
+.equ CONFIG_EMULATE_HARDWARE , 0
+.equ DECODE_WIDTH_LIMIT , 16384
+.equ DECODE_HEIGHT_LIMIT , 16384
+ .section .note.GNU-stack,"",%progbits
diff --git a/third_party/libvpx/source/config/linux/generic/vpx_config.c b/third_party/libvpx/source/config/linux/generic/vpx_config.c
new file mode 100644
index 0000000..2a18a45
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/generic/vpx_config.c
@@ -0,0 +1,10 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
+/* Use of this source code is governed by a BSD-style license */
+/* that can be found in the LICENSE file in the root of the source */
+/* tree. An additional intellectual property rights grant can be found */
+/* in the file PATENTS. All contributing project authors may */
+/* be found in the AUTHORS file in the root of the source tree. */
+#include "vpx/vpx_codec.h"
+static const char* const cfg = "--target=generic-gnu --enable-pic --enable-realtime-only --enable-external-build --enable-postproc --disable-install-srcs --enable-multi-res-encoding --enable-temporal-denoising --disable-unit-tests --disable-install-docs --disable-examples --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384";
+const char *vpx_codec_build_config(void) {return cfg;}
diff --git a/third_party/libvpx/source/config/linux/generic/vpx_config.h b/third_party/libvpx/source/config/linux/generic/vpx_config.h
new file mode 100644
index 0000000..08e4452
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/generic/vpx_config.h
@@ -0,0 +1,100 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
+/* Use of this source code is governed by a BSD-style license */
+/* that can be found in the LICENSE file in the root of the source */
+/* tree. An additional intellectual property rights grant can be found */
+/* in the file PATENTS. All contributing project authors may */
+/* be found in the AUTHORS file in the root of the source tree. */
+/* This file automatically generated by configure. Do not edit! */
+#ifndef VPX_CONFIG_H
+#define VPX_CONFIG_H
+#define RESTRICT
+#define INLINE inline
+#define ARCH_ARM 0
+#define ARCH_MIPS 0
+#define ARCH_X86 0
+#define ARCH_X86_64 0
+#define HAVE_EDSP 0
+#define HAVE_MEDIA 0
+#define HAVE_NEON 0
+#define HAVE_NEON_ASM 0
+#define HAVE_MIPS32 0
+#define HAVE_DSPR2 0
+#define HAVE_MSA 0
+#define HAVE_MIPS64 0
+#define HAVE_MMX 0
+#define HAVE_SSE 0
+#define HAVE_SSE2 0
+#define HAVE_SSE3 0
+#define HAVE_SSSE3 0
+#define HAVE_SSE4_1 0
+#define HAVE_AVX 0
+#define HAVE_AVX2 0
+#define HAVE_VPX_PORTS 1
+#define HAVE_STDINT_H 1
+#define HAVE_PTHREAD_H 1
+#define HAVE_SYS_MMAN_H 1
+#define HAVE_UNISTD_H 0
+#define CONFIG_DEPENDENCY_TRACKING 1
+#define CONFIG_EXTERNAL_BUILD 1
+#define CONFIG_INSTALL_DOCS 0
+#define CONFIG_INSTALL_BINS 1
+#define CONFIG_INSTALL_LIBS 1
+#define CONFIG_INSTALL_SRCS 0
+#define CONFIG_USE_X86INC 0
+#define CONFIG_DEBUG 0
+#define CONFIG_GPROF 0
+#define CONFIG_GCOV 0
+#define CONFIG_RVCT 0
+#define CONFIG_GCC 1
+#define CONFIG_MSVS 0
+#define CONFIG_PIC 1
+#define CONFIG_BIG_ENDIAN 0
+#define CONFIG_CODEC_SRCS 0
+#define CONFIG_DEBUG_LIBS 0
+#define CONFIG_DEQUANT_TOKENS 0
+#define CONFIG_DC_RECON 0
+#define CONFIG_RUNTIME_CPU_DETECT 0
+#define CONFIG_POSTPROC 1
+#define CONFIG_VP9_POSTPROC 1
+#define CONFIG_MULTITHREAD 1
+#define CONFIG_INTERNAL_STATS 0
+#define CONFIG_VP8_ENCODER 1
+#define CONFIG_VP8_DECODER 1
+#define CONFIG_VP9_ENCODER 1
+#define CONFIG_VP9_DECODER 1
+#define CONFIG_VP10_ENCODER 0
+#define CONFIG_VP10_DECODER 0
+#define CONFIG_VP8 1
+#define CONFIG_VP9 1
+#define CONFIG_VP10 0
+#define CONFIG_ENCODERS 1
+#define CONFIG_DECODERS 1
+#define CONFIG_STATIC_MSVCRT 0
+#define CONFIG_SPATIAL_RESAMPLING 1
+#define CONFIG_REALTIME_ONLY 1
+#define CONFIG_ONTHEFLY_BITPACKING 0
+#define CONFIG_ERROR_CONCEALMENT 0
+#define CONFIG_SHARED 0
+#define CONFIG_STATIC 1
+#define CONFIG_SMALL 0
+#define CONFIG_POSTPROC_VISUALIZER 0
+#define CONFIG_OS_SUPPORT 1
+#define CONFIG_UNIT_TESTS 0
+#define CONFIG_WEBM_IO 1
+#define CONFIG_LIBYUV 1
+#define CONFIG_DECODE_PERF_TESTS 0
+#define CONFIG_ENCODE_PERF_TESTS 0
+#define CONFIG_MULTI_RES_ENCODING 1
+#define CONFIG_TEMPORAL_DENOISING 1
+#define CONFIG_VP9_TEMPORAL_DENOISING 1
+#define CONFIG_COEFFICIENT_RANGE_CHECKING 0
+#define CONFIG_VP9_HIGHBITDEPTH 0
+#define CONFIG_EXPERIMENTAL 0
+#define CONFIG_SIZE_LIMIT 1
+#define CONFIG_SPATIAL_SVC 0
+#define CONFIG_FP_MB_STATS 0
+#define CONFIG_EMULATE_HARDWARE 0
+#define DECODE_WIDTH_LIMIT 16384
+#define DECODE_HEIGHT_LIMIT 16384
+#endif /* VPX_CONFIG_H */
diff --git a/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h b/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h
new file mode 100644
index 0000000..010cbe7
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/generic/vpx_dsp_rtcd.h
@@ -0,0 +1,660 @@
+#ifndef VPX_DSP_RTCD_H_
+#define VPX_DSP_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * DSP
+ */
+
+#include "vpx/vpx_integer.h"
+#include "vpx_dsp/vpx_dsp_common.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vpx_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride);
+#define vpx_comp_avg_pred vpx_comp_avg_pred_c
+
+void vpx_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8 vpx_convolve8_c
+
+void vpx_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg vpx_convolve8_avg_c
+
+void vpx_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg_horiz vpx_convolve8_avg_horiz_c
+
+void vpx_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_avg_vert vpx_convolve8_avg_vert_c
+
+void vpx_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_horiz vpx_convolve8_horiz_c
+
+void vpx_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve8_vert vpx_convolve8_vert_c
+
+void vpx_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve_avg vpx_convolve_avg_c
+
+void vpx_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_convolve_copy vpx_convolve_copy_c
+
+void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
+
+void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
+
+void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
+
+void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
+
+void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c
+
+void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c
+
+void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_c
+
+void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c
+
+void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c
+
+void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c
+
+void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c
+
+void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c
+
+void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c
+
+void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c
+
+void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c
+
+void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c
+
+void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_c
+
+void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_c
+
+void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_c
+
+void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_c
+
+void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c
+
+void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c
+
+void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c
+
+void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c
+
+void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_c
+
+void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_c
+
+void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_c
+
+void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_c
+
+void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_c
+
+void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_c
+
+void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_c
+
+void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_c
+
+void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_c
+
+void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_c
+
+void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_c
+
+void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_c
+
+void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_c
+
+void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_c
+
+void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_c
+
+void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_c
+
+void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct16x16 vpx_fdct16x16_c
+
+void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct16x16_1 vpx_fdct16x16_1_c
+
+void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32 vpx_fdct32x32_c
+
+void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32_1 vpx_fdct32x32_1_c
+
+void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct32x32_rd vpx_fdct32x32_rd_c
+
+void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct4x4 vpx_fdct4x4_c
+
+void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct4x4_1 vpx_fdct4x4_1_c
+
+void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct8x8 vpx_fdct8x8_c
+
+void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
+#define vpx_fdct8x8_1 vpx_fdct8x8_1_c
+
+void vpx_get16x16var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+#define vpx_get16x16var vpx_get16x16var_c
+
+unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
+#define vpx_get4x4sse_cs vpx_get4x4sse_cs_c
+
+void vpx_get8x8var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
+#define vpx_get8x8var vpx_get8x8var_c
+
+unsigned int vpx_get_mb_ss_c(const int16_t *);
+#define vpx_get_mb_ss vpx_get_mb_ss_c
+
+void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_16x16 vpx_h_predictor_16x16_c
+
+void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_32x32 vpx_h_predictor_32x32_c
+
+void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_4x4 vpx_h_predictor_4x4_c
+
+void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_h_predictor_8x8 vpx_h_predictor_8x8_c
+
+void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_10_add vpx_idct16x16_10_add_c
+
+void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_1_add vpx_idct16x16_1_add_c
+
+void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct16x16_256_add vpx_idct16x16_256_add_c
+
+void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_c
+
+void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_1_add vpx_idct32x32_1_add_c
+
+void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct32x32_34_add vpx_idct32x32_34_add_c
+
+void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct4x4_16_add vpx_idct4x4_16_add_c
+
+void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct4x4_1_add vpx_idct4x4_1_add_c
+
+void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_12_add vpx_idct8x8_12_add_c
+
+void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_1_add vpx_idct8x8_1_add_c
+
+void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_idct8x8_64_add vpx_idct8x8_64_add_c
+
+void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c
+
+void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
+#define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
+
+void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_c
+
+void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_c
+
+void vpx_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_c
+
+void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_c
+
+void vpx_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_c
+
+void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+#define vpx_lpf_vertical_16 vpx_lpf_vertical_16_c
+
+void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
+#define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_c
+
+void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_vertical_4 vpx_lpf_vertical_4_c
+
+void vpx_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_c
+
+void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
+#define vpx_lpf_vertical_8 vpx_lpf_vertical_8_c
+
+void vpx_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
+#define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_c
+
+unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse16x16 vpx_mse16x16_c
+
+unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse16x8 vpx_mse16x8_c
+
+unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse8x16 vpx_mse8x16_c
+
+unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
+#define vpx_mse8x8 vpx_mse8x8_c
+
+void vpx_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vpx_quantize_b vpx_quantize_b_c
+
+void vpx_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
+#define vpx_quantize_b_32x32 vpx_quantize_b_32x32_c
+
+unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x16 vpx_sad16x16_c
+
+unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x16_avg vpx_sad16x16_avg_c
+
+void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x3 vpx_sad16x16x3_c
+
+void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x4d vpx_sad16x16x4d_c
+
+void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x16x8 vpx_sad16x16x8_c
+
+unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x32 vpx_sad16x32_c
+
+unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x32_avg vpx_sad16x32_avg_c
+
+void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x32x4d vpx_sad16x32x4d_c
+
+unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad16x8 vpx_sad16x8_c
+
+unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad16x8_avg vpx_sad16x8_avg_c
+
+void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x3 vpx_sad16x8x3_c
+
+void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x4d vpx_sad16x8x4d_c
+
+void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad16x8x8 vpx_sad16x8x8_c
+
+unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x16 vpx_sad32x16_c
+
+unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x16_avg vpx_sad32x16_avg_c
+
+void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x16x4d vpx_sad32x16x4d_c
+
+unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x32 vpx_sad32x32_c
+
+unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x32_avg vpx_sad32x32_avg_c
+
+void vpx_sad32x32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x3 vpx_sad32x32x3_c
+
+void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x4d vpx_sad32x32x4d_c
+
+void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x32x8 vpx_sad32x32x8_c
+
+unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad32x64 vpx_sad32x64_c
+
+unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad32x64_avg vpx_sad32x64_avg_c
+
+void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad32x64x4d vpx_sad32x64x4d_c
+
+unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad4x4 vpx_sad4x4_c
+
+unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad4x4_avg vpx_sad4x4_avg_c
+
+void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x3 vpx_sad4x4x3_c
+
+void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x4d vpx_sad4x4x4d_c
+
+void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x4x8 vpx_sad4x4x8_c
+
+unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad4x8 vpx_sad4x8_c
+
+unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad4x8_avg vpx_sad4x8_avg_c
+
+void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x8x4d vpx_sad4x8x4d_c
+
+void vpx_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad4x8x8 vpx_sad4x8x8_c
+
+unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad64x32 vpx_sad64x32_c
+
+unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad64x32_avg vpx_sad64x32_avg_c
+
+void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x32x4d vpx_sad64x32x4d_c
+
+unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad64x64 vpx_sad64x64_c
+
+unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad64x64_avg vpx_sad64x64_avg_c
+
+void vpx_sad64x64x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x3 vpx_sad64x64x3_c
+
+void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x4d vpx_sad64x64x4d_c
+
+void vpx_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad64x64x8 vpx_sad64x64x8_c
+
+unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x16 vpx_sad8x16_c
+
+unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x16_avg vpx_sad8x16_avg_c
+
+void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x3 vpx_sad8x16x3_c
+
+void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x4d vpx_sad8x16x4d_c
+
+void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x16x8 vpx_sad8x16x8_c
+
+unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x4 vpx_sad8x4_c
+
+unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x4_avg vpx_sad8x4_avg_c
+
+void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x4x4d vpx_sad8x4x4d_c
+
+void vpx_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x4x8 vpx_sad8x4x8_c
+
+unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define vpx_sad8x8 vpx_sad8x8_c
+
+unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define vpx_sad8x8_avg vpx_sad8x8_avg_c
+
+void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x3 vpx_sad8x8x3_c
+
+void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x4d vpx_sad8x8x4d_c
+
+void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
+#define vpx_sad8x8x8 vpx_sad8x8x8_c
+
+void vpx_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_2d vpx_scaled_2d_c
+
+void vpx_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
+
+void vpx_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
+
+void vpx_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
+
+void vpx_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_horiz vpx_scaled_horiz_c
+
+void vpx_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
+#define vpx_scaled_vert vpx_scaled_vert_c
+
+uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c
+
+uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c
+
+uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c
+
+uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c
+
+uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c
+
+uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c
+
+uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c
+
+uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c
+
+uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c
+
+uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_c
+
+uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c
+
+uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c
+
+uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
+#define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c
+
+uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_c
+
+uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_c
+
+uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_c
+
+uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_c
+
+uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_c
+
+uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_c
+
+uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c
+
+uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c
+
+uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_c
+
+uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_c
+
+uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_c
+
+uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_c
+
+uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_c
+
+void vpx_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
+#define vpx_subtract_block vpx_subtract_block_c
+
+void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_c
+
+void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_c
+
+void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_c
+
+void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_c
+
+void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_16x16 vpx_v_predictor_16x16_c
+
+void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_32x32 vpx_v_predictor_32x32_c
+
+void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_4x4 vpx_v_predictor_4x4_c
+
+void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define vpx_v_predictor_8x8 vpx_v_predictor_8x8_c
+
+unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x16 vpx_variance16x16_c
+
+unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x32 vpx_variance16x32_c
+
+unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance16x8 vpx_variance16x8_c
+
+unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x16 vpx_variance32x16_c
+
+unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x32 vpx_variance32x32_c
+
+unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance32x64 vpx_variance32x64_c
+
+unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance4x4 vpx_variance4x4_c
+
+unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance4x8 vpx_variance4x8_c
+
+unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance64x32 vpx_variance64x32_c
+
+unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance64x64 vpx_variance64x64_c
+
+unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x16 vpx_variance8x16_c
+
+unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x4 vpx_variance8x4_c
+
+unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
+#define vpx_variance8x8 vpx_variance8x8_c
+
+uint32_t vpx_variance_halfpixvar16x16_h_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_h vpx_variance_halfpixvar16x16_h_c
+
+uint32_t vpx_variance_halfpixvar16x16_hv_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_hv vpx_variance_halfpixvar16x16_hv_c
+
+uint32_t vpx_variance_halfpixvar16x16_v_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse);
+#define vpx_variance_halfpixvar16x16_v vpx_variance_halfpixvar16x16_v_c
+
+void vpx_dsp_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+static void setup_rtcd_internal(void)
+{
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/generic/vpx_scale_rtcd.h b/third_party/libvpx/source/config/linux/generic/vpx_scale_rtcd.h
new file mode 100644
index 0000000..f419cc7
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/generic/vpx_scale_rtcd.h
@@ -0,0 +1,66 @@
+#ifndef VPX_SCALE_RTCD_H_
+#define VPX_SCALE_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
+
+void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
+
+void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
+#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
+
+void vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
+
+void vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
+
+void vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
+
+void vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
+#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
+
+void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
+
+void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
+#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
+
+void vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf);
+#define vpx_extend_frame_borders vpx_extend_frame_borders_c
+
+void vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf);
+#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
+
+void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+#define vpx_yv12_copy_y vpx_yv12_copy_y_c
+
+void vpx_scale_rtcd(void);
+
+#include "vpx_config.h"
+
+#ifdef RTCD_C
+static void setup_rtcd_internal(void)
+{
+}
+#endif
+
+#ifdef __cplusplus
+} // extern "C"
+#endif
+
+#endif
diff --git a/third_party/libvpx/source/config/linux/ia32/vp8_rtcd.h b/third_party/libvpx/source/config/linux/ia32/vp8_rtcd.h
new file mode 100644
index 0000000..d08f080
--- /dev/null
+++ b/third_party/libvpx/source/config/linux/ia32/vp8_rtcd.h
@@ -0,0 +1,430 @@
+#ifndef VP8_RTCD_H_
+#define VP8_RTCD_H_
+
+#ifdef RTCD_C
+#define RTCD_EXTERN
+#else
+#define RTCD_EXTERN extern
+#endif
+
+/*
+ * VP8
+ */
+
+struct blockd;
+struct macroblockd;
+struct loop_filter_info;
+
+/* Encoder forward decls */
+struct block;
+struct macroblock;
+struct variance_vtable;
+union int_mv;
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
+extern
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment