Remove unnecessary exports from various libraries

This reduces library size by about 10-15%

Test: build, run CTS
Change-Id: I9ecb3f08a8bd6128e601656125e3523c0c52ddb6
diff --git a/media/libmedia/Android.bp b/media/libmedia/Android.bp
index e7dc0fe..fd7400a 100644
--- a/media/libmedia/Android.bp
+++ b/media/libmedia/Android.bp
@@ -235,6 +235,8 @@
         "-Wall",
     ],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "unsigned-integer-overflow",
diff --git a/media/libmedia/exports.lds b/media/libmedia/exports.lds
new file mode 100644
index 0000000..b09fbce
--- /dev/null
+++ b/media/libmedia/exports.lds
@@ -0,0 +1,7 @@
+{
+    global:
+        *;
+    local:
+        _ZN7android13MidiIoWrapper*;
+        _ZTVN7android13MidiIoWrapperE;
+};
diff --git a/media/libstagefright/Android.bp b/media/libstagefright/Android.bp
index e16db00..c3d9c24 100644
--- a/media/libstagefright/Android.bp
+++ b/media/libstagefright/Android.bp
@@ -152,6 +152,8 @@
         "-Wall",
     ],
 
+    version_script: "exports.lds",
+
     product_variables: {
         debuggable: {
             // enable experiments only in userdebug and eng builds
diff --git a/media/libstagefright/codecs/aacdec/Android.bp b/media/libstagefright/codecs/aacdec/Android.bp
index abf3b1c..f1ff11b 100644
--- a/media/libstagefright/codecs/aacdec/Android.bp
+++ b/media/libstagefright/codecs/aacdec/Android.bp
@@ -58,6 +58,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/aacdec/exports.lds b/media/libstagefright/codecs/aacdec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/aacdec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/aacenc/Android.bp b/media/libstagefright/codecs/aacenc/Android.bp
index d734b9c..9342351 100644
--- a/media/libstagefright/codecs/aacenc/Android.bp
+++ b/media/libstagefright/codecs/aacenc/Android.bp
@@ -14,6 +14,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/aacenc/exports.lds b/media/libstagefright/codecs/aacenc/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/aacenc/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/amrnb/dec/Android.bp b/media/libstagefright/codecs/amrnb/dec/Android.bp
index b493e21..e4a2607 100644
--- a/media/libstagefright/codecs/amrnb/dec/Android.bp
+++ b/media/libstagefright/codecs/amrnb/dec/Android.bp
@@ -50,6 +50,8 @@
         "-Werror",
     ],
 
+    version_script: "exports.lds",
+
     //sanitize: {
     //    misc_undefined: [
     //        "signed-integer-overflow",
@@ -85,6 +87,8 @@
         "-Werror",
     ],
 
+    version_script: "exports.lds",
+
     //sanitize: {
     //    misc_undefined: [
     //        "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/amrnb/dec/exports.lds b/media/libstagefright/codecs/amrnb/dec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/amrnb/dec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/amrnb/enc/Android.bp b/media/libstagefright/codecs/amrnb/enc/Android.bp
index 1e8fd31..f844459 100644
--- a/media/libstagefright/codecs/amrnb/enc/Android.bp
+++ b/media/libstagefright/codecs/amrnb/enc/Android.bp
@@ -70,6 +70,8 @@
         "-Werror",
     ],
 
+    version_script: "exports.lds",
+
     //addressing b/25409744
     //sanitize: {
     //    misc_undefined: [
diff --git a/media/libstagefright/codecs/amrnb/enc/exports.lds b/media/libstagefright/codecs/amrnb/enc/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/amrnb/enc/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/amrwbenc/Android.bp b/media/libstagefright/codecs/amrwbenc/Android.bp
index b6f637f..ebe08c6 100644
--- a/media/libstagefright/codecs/amrwbenc/Android.bp
+++ b/media/libstagefright/codecs/amrwbenc/Android.bp
@@ -159,6 +159,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/amrwbenc/exports.lds b/media/libstagefright/codecs/amrwbenc/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/amrwbenc/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/avcdec/Android.bp b/media/libstagefright/codecs/avcdec/Android.bp
index 04e5dc1..d789096 100644
--- a/media/libstagefright/codecs/avcdec/Android.bp
+++ b/media/libstagefright/codecs/avcdec/Android.bp
@@ -13,6 +13,8 @@
         "-Werror",
     ],
 
+    version_script: "exports.lds",
+
     include_dirs: [
         "external/libavc/decoder",
         "external/libavc/common",
diff --git a/media/libstagefright/codecs/avcdec/exports.lds b/media/libstagefright/codecs/avcdec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/avcdec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/avcenc/Android.bp b/media/libstagefright/codecs/avcenc/Android.bp
index 4a0411e..cefe77c 100644
--- a/media/libstagefright/codecs/avcenc/Android.bp
+++ b/media/libstagefright/codecs/avcenc/Android.bp
@@ -39,5 +39,8 @@
         "-Wno-unused-variable",
     ],
     ldflags: ["-Wl,-Bsymbolic"],
+
+    version_script: "exports.lds",
+
     compile_multilib: "32",
 }
diff --git a/media/libstagefright/codecs/avcenc/exports.lds b/media/libstagefright/codecs/avcenc/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/avcenc/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/flac/dec/Android.bp b/media/libstagefright/codecs/flac/dec/Android.bp
index 595cfdb..9af086b 100644
--- a/media/libstagefright/codecs/flac/dec/Android.bp
+++ b/media/libstagefright/codecs/flac/dec/Android.bp
@@ -18,6 +18,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/flac/dec/exports.lds b/media/libstagefright/codecs/flac/dec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/flac/dec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/flac/enc/Android.bp b/media/libstagefright/codecs/flac/enc/Android.bp
index 854f7ce..46b974d 100644
--- a/media/libstagefright/codecs/flac/enc/Android.bp
+++ b/media/libstagefright/codecs/flac/enc/Android.bp
@@ -10,6 +10,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/flac/enc/exports.lds b/media/libstagefright/codecs/flac/enc/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/flac/enc/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/g711/dec/Android.bp b/media/libstagefright/codecs/g711/dec/Android.bp
index 07e5052..3d97d8c 100644
--- a/media/libstagefright/codecs/g711/dec/Android.bp
+++ b/media/libstagefright/codecs/g711/dec/Android.bp
@@ -21,6 +21,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/g711/dec/exports.lds b/media/libstagefright/codecs/g711/dec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/g711/dec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/gsm/dec/Android.bp b/media/libstagefright/codecs/gsm/dec/Android.bp
index 0739ad4..1c3208b 100644
--- a/media/libstagefright/codecs/gsm/dec/Android.bp
+++ b/media/libstagefright/codecs/gsm/dec/Android.bp
@@ -15,6 +15,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/gsm/dec/exports.lds b/media/libstagefright/codecs/gsm/dec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/gsm/dec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/hevcdec/Android.bp b/media/libstagefright/codecs/hevcdec/Android.bp
index f19ba00..45920e6 100644
--- a/media/libstagefright/codecs/hevcdec/Android.bp
+++ b/media/libstagefright/codecs/hevcdec/Android.bp
@@ -14,6 +14,8 @@
         "-Wno-unused-variable",
     ],
 
+    version_script: "exports.lds",
+
     include_dirs: [
         "external/libhevc/decoder",
         "external/libhevc/common",
diff --git a/media/libstagefright/codecs/hevcdec/exports.lds b/media/libstagefright/codecs/hevcdec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/hevcdec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/m4v_h263/dec/Android.bp b/media/libstagefright/codecs/m4v_h263/dec/Android.bp
index e57bb78..ca70cc2 100644
--- a/media/libstagefright/codecs/m4v_h263/dec/Android.bp
+++ b/media/libstagefright/codecs/m4v_h263/dec/Android.bp
@@ -53,6 +53,8 @@
         "-Werror",
     ],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/m4v_h263/dec/exports.lds b/media/libstagefright/codecs/m4v_h263/dec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/m4v_h263/dec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/m4v_h263/enc/Android.bp b/media/libstagefright/codecs/m4v_h263/enc/Android.bp
index 8a3fe34..6be4036 100644
--- a/media/libstagefright/codecs/m4v_h263/enc/Android.bp
+++ b/media/libstagefright/codecs/m4v_h263/enc/Android.bp
@@ -30,6 +30,8 @@
         "-Werror",
     ],
 
+    version_script: "exports.lds",
+
     include_dirs: [
         "frameworks/av/media/libstagefright/include",
         "frameworks/native/include/media/openmax",
diff --git a/media/libstagefright/codecs/m4v_h263/enc/exports.lds b/media/libstagefright/codecs/m4v_h263/enc/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/m4v_h263/enc/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/mp3dec/Android.bp b/media/libstagefright/codecs/mp3dec/Android.bp
index 5a0e282..e6eb32b 100644
--- a/media/libstagefright/codecs/mp3dec/Android.bp
+++ b/media/libstagefright/codecs/mp3dec/Android.bp
@@ -96,6 +96,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/mp3dec/exports.lds b/media/libstagefright/codecs/mp3dec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/mp3dec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/mpeg2dec/Android.bp b/media/libstagefright/codecs/mpeg2dec/Android.bp
index 9b8a188..fb0db8f 100644
--- a/media/libstagefright/codecs/mpeg2dec/Android.bp
+++ b/media/libstagefright/codecs/mpeg2dec/Android.bp
@@ -14,6 +14,8 @@
         "-Wno-unused-variable",
     ],
 
+    version_script: "exports.lds",
+
     include_dirs: [
         "external/libmpeg2/decoder",
         "external/libmpeg2/common",
diff --git a/media/libstagefright/codecs/mpeg2dec/exports.lds b/media/libstagefright/codecs/mpeg2dec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/mpeg2dec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/on2/dec/Android.bp b/media/libstagefright/codecs/on2/dec/Android.bp
index a4eed8c..8a9399a 100644
--- a/media/libstagefright/codecs/on2/dec/Android.bp
+++ b/media/libstagefright/codecs/on2/dec/Android.bp
@@ -23,6 +23,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/on2/dec/exports.lds b/media/libstagefright/codecs/on2/dec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/on2/dec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/on2/enc/Android.bp b/media/libstagefright/codecs/on2/enc/Android.bp
index b21ffa1..3d9feeb 100644
--- a/media/libstagefright/codecs/on2/enc/Android.bp
+++ b/media/libstagefright/codecs/on2/enc/Android.bp
@@ -13,6 +13,8 @@
 
     cflags: ["-Wall", "-Werror"],
 
+    version_script: "exports.lds",
+
     include_dirs: [
         "frameworks/av/media/libstagefright/include",
         "frameworks/native/include/media/openmax",
diff --git a/media/libstagefright/codecs/on2/enc/exports.lds b/media/libstagefright/codecs/on2/enc/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/on2/enc/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/opus/dec/Android.bp b/media/libstagefright/codecs/opus/dec/Android.bp
index 32a4f32..43318f2 100644
--- a/media/libstagefright/codecs/opus/dec/Android.bp
+++ b/media/libstagefright/codecs/opus/dec/Android.bp
@@ -22,6 +22,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/opus/dec/exports.lds b/media/libstagefright/codecs/opus/dec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/opus/dec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/raw/Android.bp b/media/libstagefright/codecs/raw/Android.bp
index f21d46f..c8d7d00 100644
--- a/media/libstagefright/codecs/raw/Android.bp
+++ b/media/libstagefright/codecs/raw/Android.bp
@@ -14,6 +14,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/raw/exports.lds b/media/libstagefright/codecs/raw/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/raw/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/codecs/vorbis/dec/Android.bp b/media/libstagefright/codecs/vorbis/dec/Android.bp
index b7a6c1c..a9265cb 100644
--- a/media/libstagefright/codecs/vorbis/dec/Android.bp
+++ b/media/libstagefright/codecs/vorbis/dec/Android.bp
@@ -22,6 +22,8 @@
 
     cflags: ["-Werror"],
 
+    version_script: "exports.lds",
+
     sanitize: {
         misc_undefined: [
             "signed-integer-overflow",
diff --git a/media/libstagefright/codecs/vorbis/dec/exports.lds b/media/libstagefright/codecs/vorbis/dec/exports.lds
new file mode 100644
index 0000000..e24f3fa
--- /dev/null
+++ b/media/libstagefright/codecs/vorbis/dec/exports.lds
@@ -0,0 +1,5 @@
+{
+    global:
+        _Z22createSoftOMXComponentPKcPK16OMX_CALLBACKTYPEPvPP17OMX_COMPONENTTYPE;
+    local: *;
+};
diff --git a/media/libstagefright/exports.lds b/media/libstagefright/exports.lds
new file mode 100644
index 0000000..59dfc49
--- /dev/null
+++ b/media/libstagefright/exports.lds
@@ -0,0 +1,508 @@
+{
+    global:
+        *;
+    local:
+        _ZN7android4ESDS*;
+        _ZNK7android4ESDS*;
+        _ZN7android14ColorConverter*;
+        _ZNK7android14ColorConverter*;
+        _ZN7android16SoftwareRenderer*;
+        ABGRToARGB;
+        ABGRToI420;
+        ABGRToUVRow_Any_NEON;
+        ABGRToUVRow_C;
+        ABGRToUVRow_NEON;
+        ABGRToYRow_Any_NEON;
+        ABGRToYRow_C;
+        ABGRToYRow_NEON;
+        Android420ToI420;
+        ARGB1555ToARGB;
+        ARGB1555ToARGBRow_Any_NEON;
+        ARGB1555ToARGBRow_C;
+        ARGB1555ToARGBRow_NEON;
+        ARGB1555ToI420;
+        ARGB1555ToUVRow_Any_NEON;
+        ARGB1555ToUVRow_C;
+        ARGB1555ToUVRow_NEON;
+        ARGB1555ToYRow_Any_NEON;
+        ARGB1555ToYRow_C;
+        ARGB1555ToYRow_NEON;
+        ARGB4444ToARGB;
+        ARGB4444ToARGBRow_Any_NEON;
+        ARGB4444ToARGBRow_C;
+        ARGB4444ToARGBRow_NEON;
+        ARGB4444ToI420;
+        ARGB4444ToUVRow_Any_NEON;
+        ARGB4444ToUVRow_C;
+        ARGB4444ToUVRow_NEON;
+        ARGB4444ToYRow_Any_NEON;
+        ARGB4444ToYRow_C;
+        ARGB4444ToYRow_NEON;
+        ARGBAdd;
+        ARGBAddRow_Any_NEON;
+        ARGBAddRow_C;
+        ARGBAddRow_NEON;
+        ARGBAffineRow_C;
+        ARGBAttenuate;
+        ARGBAttenuateRow_Any_NEON;
+        ARGBAttenuateRow_C;
+        ARGBAttenuateRow_NEON;
+        ARGBBlend;
+        ARGBBlendRow_C;
+        ARGBBlendRow_NEON;
+        ARGBBlur;
+        ARGBColorMatrix;
+        ARGBColorMatrixRow_C;
+        ARGBColorMatrixRow_NEON;
+        ARGBColorTable;
+        ARGBColorTableRow_C;
+        ARGBComputeCumulativeSum;
+        ARGBCopy;
+        ARGBCopyAlpha;
+        ARGBCopyAlphaRow_C;
+        ARGBCopyYToAlpha;
+        ARGBCopyYToAlphaRow_C;
+        ARGBExtractAlpha;
+        ARGBExtractAlphaRow_Any_NEON;
+        ARGBExtractAlphaRow_C;
+        ARGBExtractAlphaRow_NEON;
+        ARGBGray;
+        ARGBGrayRow_C;
+        ARGBGrayRow_NEON;
+        ARGBGrayTo;
+        ARGBInterpolate;
+        ARGBLumaColorTable;
+        ARGBLumaColorTableRow_C;
+        ARGBMirror;
+        ARGBMirrorRow_Any_NEON;
+        ARGBMirrorRow_C;
+        ARGBMirrorRow_NEON;
+        ARGBMultiply;
+        ARGBMultiplyRow_Any_NEON;
+        ARGBMultiplyRow_C;
+        ARGBMultiplyRow_NEON;
+        ARGBPolynomial;
+        ARGBPolynomialRow_C;
+        ARGBQuantize;
+        ARGBQuantizeRow_C;
+        ARGBQuantizeRow_NEON;
+        ARGBRect;
+        ARGBSepia;
+        ARGBSepiaRow_C;
+        ARGBSepiaRow_NEON;
+        ARGBSetRow_Any_NEON;
+        ARGBSetRow_C;
+        ARGBSetRow_NEON;
+        ARGBShade;
+        ARGBShadeRow_C;
+        ARGBShadeRow_NEON;
+        ARGBShuffle;
+        ARGBShuffleRow_Any_NEON;
+        ARGBShuffleRow_C;
+        ARGBShuffleRow_NEON;
+        ARGBSobel;
+        ARGBSobelToPlane;
+        ARGBSobelXY;
+        ARGBSubtract;
+        ARGBSubtractRow_Any_NEON;
+        ARGBSubtractRow_C;
+        ARGBSubtractRow_NEON;
+        ARGBToABGR;
+        ARGBToARGB1555Row_Any_NEON;
+        ARGBToARGB1555Row_C;
+        ARGBToARGB1555Row_NEON;
+        ARGBToARGB4444Row_Any_NEON;
+        ARGBToARGB4444Row_C;
+        ARGBToARGB4444Row_NEON;
+        ARGBToBGRA;
+        ARGBToI420;
+        ARGBToRAWRow_Any_NEON;
+        ARGBToRAWRow_C;
+        ARGBToRAWRow_NEON;
+        ARGBToRGB24Row_Any_NEON;
+        ARGBToRGB24Row_C;
+        ARGBToRGB24Row_NEON;
+        ARGBToRGB565DitherRow_Any_NEON;
+        ARGBToRGB565DitherRow_C;
+        ARGBToRGB565DitherRow_NEON;
+        ARGBToRGB565Row_Any_NEON;
+        ARGBToRGB565Row_C;
+        ARGBToRGB565Row_NEON;
+        ARGBToUV444Row_Any_NEON;
+        ARGBToUV444Row_C;
+        ARGBToUV444Row_NEON;
+        ARGBToUVJRow_Any_NEON;
+        ARGBToUVJRow_C;
+        ARGBToUVJRow_NEON;
+        ARGBToUVRow_Any_NEON;
+        ARGBToUVRow_C;
+        ARGBToUVRow_NEON;
+        ARGBToYJRow_Any_NEON;
+        ARGBToYJRow_C;
+        ARGBToYJRow_NEON;
+        ARGBToYRow_Any_NEON;
+        ARGBToYRow_C;
+        ARGBToYRow_NEON;
+        ARGBUnattenuate;
+        ARGBUnattenuateRow_C;
+        ArmCpuCaps;
+        BGRAToARGB;
+        BGRAToI420;
+        BGRAToUVRow_Any_NEON;
+        BGRAToUVRow_C;
+        BGRAToUVRow_NEON;
+        BGRAToYRow_Any_NEON;
+        BGRAToYRow_C;
+        BGRAToYRow_NEON;
+        BlendPlane;
+        BlendPlaneRow_C;
+        CanonicalFourCC;
+        ComputeCumulativeSumRow_C;
+        ConvertFromI420;
+        CopyPlane;
+        CopyPlane_16;
+        CopyRow_16_C;
+        CopyRow_Any_NEON;
+        CopyRow_C;
+        CopyRow_NEON;
+        CpuId;
+        cpu_info_;
+        CumulativeSumToAverageRow_C;
+        FixedDiv1_C;
+        FixedDiv_C;
+        fixed_invtbl8;
+        GetARGBBlend;
+        H420ToABGR;
+        H420ToARGB;
+        H422ToABGR;
+        H422ToARGB;
+        HalfFloat1Row_Any_NEON;
+        HalfFloat1Row_NEON;
+        HalfFloatPlane;
+        HalfFloatRow_Any_NEON;
+        HalfFloatRow_C;
+        HalfFloatRow_NEON;
+        I400Copy;
+        I400Mirror;
+        I400ToARGB;
+        I400ToARGBRow_Any_NEON;
+        I400ToARGBRow_C;
+        I400ToARGBRow_NEON;
+        I400ToI400;
+        I400ToI420;
+        I420AlphaToABGR;
+        I420AlphaToARGB;
+        I420Blend;
+        I420Copy;
+        I420Interpolate;
+        I420Mirror;
+        I420Rect;
+        I420Scale;
+        I420Scale_16;
+        I420ToABGR;
+        I420ToARGB;
+        I420ToARGB1555;
+        I420ToARGB4444;
+        I420ToBGRA;
+        I420ToI400;
+        I420ToI422;
+        I420ToI444;
+        I420ToNV12;
+        I420ToNV21;
+        I420ToRAW;
+        I420ToRGB24;
+        I420ToRGB565;
+        I420ToRGB565Dither;
+        I420ToRGBA;
+        I420ToUYVY;
+        I420ToYUY2;
+        I422AlphaToARGBRow_Any_NEON;
+        I422AlphaToARGBRow_C;
+        I422AlphaToARGBRow_NEON;
+        I422Copy;
+        I422ToABGR;
+        I422ToARGB;
+        I422ToARGB1555Row_Any_NEON;
+        I422ToARGB1555Row_C;
+        I422ToARGB1555Row_NEON;
+        I422ToARGB4444Row_Any_NEON;
+        I422ToARGB4444Row_C;
+        I422ToARGB4444Row_NEON;
+        I422ToARGBRow_Any_NEON;
+        I422ToARGBRow_C;
+        I422ToARGBRow_NEON;
+        I422ToBGRA;
+        I422ToI420;
+        I422ToRGB24Row_Any_NEON;
+        I422ToRGB24Row_C;
+        I422ToRGB24Row_NEON;
+        I422ToRGB565;
+        I422ToRGB565Row_Any_NEON;
+        I422ToRGB565Row_C;
+        I422ToRGB565Row_NEON;
+        I422ToRGBA;
+        I422ToRGBARow_Any_NEON;
+        I422ToRGBARow_C;
+        I422ToRGBARow_NEON;
+        I422ToUYVY;
+        I422ToUYVYRow_Any_NEON;
+        I422ToUYVYRow_C;
+        I422ToUYVYRow_NEON;
+        I422ToYUY2;
+        I422ToYUY2Row_Any_NEON;
+        I422ToYUY2Row_C;
+        I422ToYUY2Row_NEON;
+        I444Copy;
+        I444ToABGR;
+        I444ToARGB;
+        I444ToARGBRow_Any_NEON;
+        I444ToARGBRow_C;
+        I444ToARGBRow_NEON;
+        I444ToI420;
+        InitCpuFlags;
+        InterpolatePlane;
+        InterpolateRow_16_C;
+        InterpolateRow_Any_NEON;
+        InterpolateRow_C;
+        InterpolateRow_NEON;
+        J400ToARGB;
+        J400ToARGBRow_Any_NEON;
+        J400ToARGBRow_C;
+        J400ToARGBRow_NEON;
+        J420ToABGR;
+        J420ToARGB;
+        J422ToABGR;
+        J422ToARGB;
+        J444ToARGB;
+        kYuvH709Constants;
+        kYuvI601Constants;
+        kYuvJPEGConstants;
+        kYvuH709Constants;
+        kYvuI601Constants;
+        kYvuJPEGConstants;
+        M420ToARGB;
+        M420ToI420;
+        MaskCpuFlags;
+        MergeUVPlane;
+        MergeUVRow_Any_NEON;
+        MergeUVRow_C;
+        MergeUVRow_NEON;
+        MipsCpuCaps;
+        MirrorPlane;
+        MirrorRow_Any_NEON;
+        MirrorRow_C;
+        MirrorRow_NEON;
+        MirrorUVRow_C;
+        MirrorUVRow_NEON;
+        NV12ToARGBRow_Any_NEON;
+        NV12ToARGBRow_C;
+        NV12ToARGBRow_NEON;
+        NV12ToI420;
+        NV12ToRGB565;
+        NV12ToRGB565Row_Any_NEON;
+        NV12ToRGB565Row_C;
+        NV12ToRGB565Row_NEON;
+        NV21ToARGB;
+        NV21ToARGBRow_Any_NEON;
+        NV21ToARGBRow_C;
+        NV21ToARGBRow_NEON;
+        NV21ToI420;
+        RAWToARGB;
+        RAWToARGBRow_Any_NEON;
+        RAWToARGBRow_C;
+        RAWToARGBRow_NEON;
+        RAWToI420;
+        RAWToRGB24;
+        RAWToRGB24Row_Any_NEON;
+        RAWToRGB24Row_C;
+        RAWToRGB24Row_NEON;
+        RAWToUVRow_Any_NEON;
+        RAWToUVRow_C;
+        RAWToUVRow_NEON;
+        RAWToYRow_Any_NEON;
+        RAWToYRow_C;
+        RAWToYRow_NEON;
+        RGB24ToARGB;
+        RGB24ToARGBRow_Any_NEON;
+        RGB24ToARGBRow_C;
+        RGB24ToARGBRow_NEON;
+        RGB24ToI420;
+        RGB24ToUVRow_Any_NEON;
+        RGB24ToUVRow_C;
+        RGB24ToUVRow_NEON;
+        RGB24ToYRow_Any_NEON;
+        RGB24ToYRow_C;
+        RGB24ToYRow_NEON;
+        RGB565ToARGB;
+        RGB565ToARGBRow_Any_NEON;
+        RGB565ToARGBRow_C;
+        RGB565ToARGBRow_NEON;
+        RGB565ToI420;
+        RGB565ToUVRow_Any_NEON;
+        RGB565ToUVRow_C;
+        RGB565ToUVRow_NEON;
+        RGB565ToYRow_Any_NEON;
+        RGB565ToYRow_C;
+        RGB565ToYRow_NEON;
+        RGBAToARGB;
+        RGBAToI420;
+        RGBAToUVRow_Any_NEON;
+        RGBAToUVRow_C;
+        RGBAToUVRow_NEON;
+        RGBAToYRow_Any_NEON;
+        RGBAToYRow_C;
+        RGBAToYRow_NEON;
+        RGBColorMatrix;
+        RGBColorTable;
+        RGBColorTableRow_C;
+        Scale;
+        ScaleAddRow_16_C;
+        ScaleAddRow_C;
+        ScaleAddRows_NEON;
+        ScaleARGBCols64_C;
+        ScaleARGBCols_Any_NEON;
+        ScaleARGBCols_C;
+        ScaleARGBCols_NEON;
+        ScaleARGBColsUp2_C;
+        ScaleARGBFilterCols64_C;
+        ScaleARGBFilterCols_Any_NEON;
+        ScaleARGBFilterCols_C;
+        ScaleARGBFilterCols_NEON;
+        ScaleARGBRowDown2_Any_NEON;
+        ScaleARGBRowDown2Box_Any_NEON;
+        ScaleARGBRowDown2Box_C;
+        ScaleARGBRowDown2Box_NEON;
+        ScaleARGBRowDown2_C;
+        ScaleARGBRowDown2Linear_Any_NEON;
+        ScaleARGBRowDown2Linear_C;
+        ScaleARGBRowDown2Linear_NEON;
+        ScaleARGBRowDown2_NEON;
+        ScaleARGBRowDownEven_Any_NEON;
+        ScaleARGBRowDownEvenBox_Any_NEON;
+        ScaleARGBRowDownEvenBox_C;
+        ScaleARGBRowDownEvenBox_NEON;
+        ScaleARGBRowDownEven_C;
+        ScaleARGBRowDownEven_NEON;
+        ScaleCols_16_C;
+        ScaleCols_C;
+        ScaleColsUp2_16_C;
+        ScaleColsUp2_C;
+        ScaleFilterCols_16_C;
+        ScaleFilterCols64_16_C;
+        ScaleFilterCols64_C;
+        ScaleFilterCols_Any_NEON;
+        ScaleFilterCols_C;
+        ScaleFilterCols_NEON;
+        ScaleFilterReduce;
+        ScaleFilterRows_NEON;
+        ScaleOffset;
+        ScalePlane;
+        ScalePlane_16;
+        ScalePlaneBilinearDown;
+        ScalePlaneBilinearDown_16;
+        ScalePlaneBilinearUp;
+        ScalePlaneBilinearUp_16;
+        ScalePlaneVertical;
+        ScalePlaneVertical_16;
+        ScaleRowDown2_16_C;
+        ScaleRowDown2_Any_NEON;
+        ScaleRowDown2Box_16_C;
+        ScaleRowDown2Box_Any_NEON;
+        ScaleRowDown2Box_C;
+        ScaleRowDown2Box_NEON;
+        ScaleRowDown2Box_Odd_C;
+        ScaleRowDown2Box_Odd_NEON;
+        ScaleRowDown2_C;
+        ScaleRowDown2Linear_16_C;
+        ScaleRowDown2Linear_Any_NEON;
+        ScaleRowDown2Linear_C;
+        ScaleRowDown2Linear_NEON;
+        ScaleRowDown2_NEON;
+        ScaleRowDown34_0_Box_16_C;
+        ScaleRowDown34_0_Box_Any_NEON;
+        ScaleRowDown34_0_Box_C;
+        ScaleRowDown34_0_Box_NEON;
+        ScaleRowDown34_16_C;
+        ScaleRowDown34_1_Box_16_C;
+        ScaleRowDown34_1_Box_Any_NEON;
+        ScaleRowDown34_1_Box_C;
+        ScaleRowDown34_1_Box_NEON;
+        ScaleRowDown34_Any_NEON;
+        ScaleRowDown34_C;
+        ScaleRowDown34_NEON;
+        ScaleRowDown38_16_C;
+        ScaleRowDown38_2_Box_16_C;
+        ScaleRowDown38_2_Box_Any_NEON;
+        ScaleRowDown38_2_Box_C;
+        ScaleRowDown38_2_Box_NEON;
+        ScaleRowDown38_3_Box_16_C;
+        ScaleRowDown38_3_Box_Any_NEON;
+        ScaleRowDown38_3_Box_C;
+        ScaleRowDown38_3_Box_NEON;
+        ScaleRowDown38_Any_NEON;
+        ScaleRowDown38_C;
+        ScaleRowDown38_NEON;
+        ScaleRowDown4_16_C;
+        ScaleRowDown4_Any_NEON;
+        ScaleRowDown4Box_16_C;
+        ScaleRowDown4Box_Any_NEON;
+        ScaleRowDown4Box_C;
+        ScaleRowDown4Box_NEON;
+        ScaleRowDown4_C;
+        ScaleRowDown4_NEON;
+        ScaleSlope;
+        SetPlane;
+        SetRow_Any_NEON;
+        SetRow_C;
+        SetRow_NEON;
+        SobelRow_Any_NEON;
+        SobelRow_C;
+        SobelRow_NEON;
+        SobelToPlaneRow_Any_NEON;
+        SobelToPlaneRow_C;
+        SobelToPlaneRow_NEON;
+        SobelXRow_C;
+        SobelXRow_NEON;
+        SobelXYRow_Any_NEON;
+        SobelXYRow_C;
+        SobelXYRow_NEON;
+        SobelYRow_C;
+        SobelYRow_NEON;
+        SplitUVPlane;
+        SplitUVRow_Any_NEON;
+        SplitUVRow_C;
+        SplitUVRow_NEON;
+        UYVYToARGB;
+        UYVYToARGBRow_Any_NEON;
+        UYVYToARGBRow_C;
+        UYVYToARGBRow_NEON;
+        UYVYToI420;
+        UYVYToI422;
+        UYVYToNV12;
+        UYVYToUV422Row_Any_NEON;
+        UYVYToUV422Row_C;
+        UYVYToUV422Row_NEON;
+        UYVYToUVRow_Any_NEON;
+        UYVYToUVRow_C;
+        UYVYToUVRow_NEON;
+        UYVYToYRow_Any_NEON;
+        UYVYToYRow_C;
+        UYVYToYRow_NEON;
+        YUY2ToARGB;
+        YUY2ToARGBRow_Any_NEON;
+        YUY2ToARGBRow_C;
+        YUY2ToARGBRow_NEON;
+        YUY2ToI420;
+        YUY2ToI422;
+        YUY2ToNV12;
+        YUY2ToUV422Row_Any_NEON;
+        YUY2ToUV422Row_C;
+        YUY2ToUV422Row_NEON;
+        YUY2ToUVRow_Any_NEON;
+        YUY2ToUVRow_C;
+        YUY2ToUVRow_NEON;
+        YUY2ToY;
+        YUY2ToYRow_Any_NEON;
+        YUY2ToYRow_C;
+        YUY2ToYRow_NEON;
+};