shithub: libvpx

Download patch

ref: 5948a021067bce9f87c97a86eb79dd13b5a626ed
parent: 441cac8ea6128d55bf973a60169a0e5f61202ee4
author: Attila Nagy <attilanagy@google.com>
date: Thu Apr 19 11:55:03 EDT 2012

Ports vpx_xcaler to new RTCD method

We can get rid of all remaining global initializers now:
 vp8_scale_machine_specific_config()
 vp8_initialize()
 vp8dx_initialize()

Change-Id: I2825cea5d1c01ad9f6c45df49a0f86d803bfeb69

--- a/vp8/common/postproc.c
+++ b/vp8/common/postproc.c
@@ -14,7 +14,6 @@
 #include "vpx_scale/yv12config.h"
 #include "postproc.h"
 #include "common.h"
-#include "vpx_scale/yv12extend.h"
 #include "vpx_scale/vpxscale.h"
 #include "systemdependent.h"
 
@@ -405,9 +404,6 @@
            (exp(-(x - mu) * (x - mu) / (2 * sigma * sigma)));
 }
 
-extern void (*vp8_clear_system_state)(void);
-
-
 static void fillrd(struct postproc_state *state, int q, int a)
 {
     char char_dist[300];
@@ -755,7 +751,7 @@
         if (((flags & VP8D_DEBLOCK) || (flags & VP8D_DEMACROBLOCK)) &&
             oci->post_proc_buffer_int_used)
         {
-            vp8_yv12_copy_frame_ptr(&oci->post_proc_buffer, &oci->post_proc_buffer_int);
+            vp8_yv12_copy_frame(&oci->post_proc_buffer, &oci->post_proc_buffer_int);
             if (flags & VP8D_DEMACROBLOCK)
             {
                 vp8_deblock_and_de_macro_block(&oci->post_proc_buffer_int, &oci->post_proc_buffer,
@@ -784,7 +780,7 @@
     }
     else
     {
-        vp8_yv12_copy_frame_ptr(oci->frame_to_show, &oci->post_proc_buffer);
+        vp8_yv12_copy_frame(oci->frame_to_show, &oci->post_proc_buffer);
         oci->postproc_state.last_base_qindex = oci->base_qindex;
     }
     oci->postproc_state.last_frame_valid = 1;
--- a/vp8/common/rtcd_defs.sh
+++ b/vp8/common/rtcd_defs.sh
@@ -502,3 +502,39 @@
 
 # End of encoder only functions
 fi
+
+# Scaler functions
+if [ "CONFIG_SPATIAL_RESAMPLING" != "yes" ]; then
+    prototype void vp8_horizontal_line_4_5_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"
+    prototype void vp8_vertical_band_4_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_last_vertical_band_4_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_horizontal_line_2_3_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"
+    prototype void vp8_vertical_band_2_3_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_last_vertical_band_2_3_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_horizontal_line_3_5_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"
+    prototype void vp8_vertical_band_3_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_last_vertical_band_3_5_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_horizontal_line_3_4_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"
+    prototype void vp8_vertical_band_3_4_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_last_vertical_band_3_4_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_horizontal_line_1_2_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"
+    prototype void vp8_vertical_band_1_2_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_last_vertical_band_1_2_scale "unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_horizontal_line_5_4_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"
+    prototype void vp8_vertical_band_5_4_scale "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_horizontal_line_5_3_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"
+    prototype void vp8_vertical_band_5_3_scale "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_horizontal_line_2_1_scale "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"
+    prototype void vp8_vertical_band_2_1_scale "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+    prototype void vp8_vertical_band_2_1_scale_i "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"
+fi
+
+prototype void vp8_yv12_extend_frame_borders "struct yv12_buffer_config *ybf"
+specialize vp8_yv12_extend_frame_borders neon
+
+prototype void vp8_yv12_copy_frame "struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc"
+specialize vp8_yv12_copy_frame neon
+
+prototype void vp8_yv12_copy_y "struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc"
+specialize vp8_yv12_copy_y neon
+
--- a/vp8/decoder/decodframe.c
+++ b/vp8/decoder/decodframe.c
@@ -21,7 +21,6 @@
 #include "vp8/common/entropymode.h"
 #include "vp8/common/quant_common.h"
 #include "vpx_scale/vpxscale.h"
-#include "vpx_scale/yv12extend.h"
 #include "vp8/common/setupintrarecon.h"
 
 #include "decodemv.h"
@@ -1135,7 +1134,7 @@
     {
         int i;
         vp8mt_decode_mb_rows(pbi, xd);
-        vp8_yv12_extend_frame_borders_ptr(&pc->yv12_fb[pc->new_fb_idx]);    /*cm->frame_to_show);*/
+        vp8_yv12_extend_frame_borders(&pc->yv12_fb[pc->new_fb_idx]);    /*cm->frame_to_show);*/
         for (i = 0; i < pbi->decoding_thread_count; ++i)
             corrupt_tokens |= pbi->mb_row_di[i].mbd.corrupted;
     }
--- a/vp8/decoder/onyxd_if.c
+++ b/vp8/decoder/onyxd_if.c
@@ -17,7 +17,6 @@
 #include "onyxd_int.h"
 #include "vpx_mem/vpx_mem.h"
 #include "vp8/common/alloccommon.h"
-#include "vpx_scale/yv12extend.h"
 #include "vp8/common/loopfilter.h"
 #include "vp8/common/swapyv12buffer.h"
 #include "vp8/common/threading.h"
@@ -42,19 +41,6 @@
 static int get_free_fb (VP8_COMMON *cm);
 static void ref_cnt_fb (int *buf, int *idx, int new_idx);
 
-
-void vp8dx_initialize()
-{
-    static int init_done = 0;
-
-    if (!init_done)
-    {
-        vp8_scale_machine_specific_config();
-        init_done = 1;
-    }
-}
-
-
 struct VP8D_COMP * vp8dx_create_decompressor(VP8D_CONFIG *oxcf)
 {
     VP8D_COMP *pbi = vpx_memalign(32, sizeof(VP8D_COMP));
@@ -72,7 +58,6 @@
     }
 
     pbi->common.error.setjmp = 1;
-    vp8dx_initialize();
 
     vp8_create_common(&pbi->common);
 
@@ -162,7 +147,7 @@
             "Incorrect buffer dimensions");
     }
     else
-        vp8_yv12_copy_frame_ptr(&cm->yv12_fb[ref_fb_idx], sd);
+        vp8_yv12_copy_frame(&cm->yv12_fb[ref_fb_idx], sd);
 
     return pbi->common.error.error_code;
 }
@@ -202,7 +187,7 @@
 
         /* Manage the reference counters and copy image. */
         ref_cnt_fb (cm->fb_idx_ref_cnt, ref_fb_ptr, free_fb);
-        vp8_yv12_copy_frame_ptr(sd, &cm->yv12_fb[*ref_fb_ptr]);
+        vp8_yv12_copy_frame(sd, &cm->yv12_fb[*ref_fb_ptr]);
     }
 
    return pbi->common.error.error_code;
@@ -366,7 +351,7 @@
             const int prev_idx = cm->lst_fb_idx;
             cm->fb_idx_ref_cnt[prev_idx]--;
             cm->lst_fb_idx = get_free_fb(cm);
-            vp8_yv12_copy_frame_ptr(&cm->yv12_fb[prev_idx],
+            vp8_yv12_copy_frame(&cm->yv12_fb[prev_idx],
                                     &cm->yv12_fb[cm->lst_fb_idx]);
         }
         /* This is used to signal that we are missing frames.
@@ -485,7 +470,7 @@
             /* Apply the loop filter if appropriate. */
             vp8_loop_filter_frame(cm, &pbi->mb);
         }
-        vp8_yv12_extend_frame_borders_ptr(cm->frame_to_show);
+        vp8_yv12_extend_frame_borders(cm->frame_to_show);
     }
 
 
--- a/vp8/encoder/firstpass.c
+++ b/vp8/encoder/firstpass.c
@@ -8,23 +8,23 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "math.h"
-#include "limits.h"
+#include <math.h>
+#include <limits.h>
+#include <stdio.h>
+
 #include "block.h"
 #include "onyx_int.h"
 #include "vp8/common/variance.h"
 #include "encodeintra.h"
 #include "vp8/common/setupintrarecon.h"
+#include "vp8/common/systemdependent.h"
 #include "mcomp.h"
 #include "firstpass.h"
 #include "vpx_scale/vpxscale.h"
 #include "encodemb.h"
 #include "vp8/common/extend.h"
-#include "vp8/common/systemdependent.h"
-#include "vpx_scale/yv12extend.h"
 #include "vpx_mem/vpx_mem.h"
 #include "vp8/common/swapyv12buffer.h"
-#include <stdio.h>
 #include "rdopt.h"
 #include "vp8/common/quant_common.h"
 #include "encodemv.h"
@@ -828,7 +828,7 @@
         (cpi->twopass.this_frame_stats.pcnt_inter > 0.20) &&
         ((cpi->twopass.this_frame_stats.intra_error / cpi->twopass.this_frame_stats.coded_error) > 2.0))
     {
-        vp8_yv12_copy_frame_ptr(lst_yv12, gld_yv12);
+        vp8_yv12_copy_frame(lst_yv12, gld_yv12);
     }
 
     // swap frame pointers so last frame refers to the frame we just compressed
@@ -838,7 +838,7 @@
     // Special case for the first frame. Copy into the GF buffer as a second reference.
     if (cm->current_video_frame == 0)
     {
-        vp8_yv12_copy_frame_ptr(lst_yv12, gld_yv12);
+        vp8_yv12_copy_frame(lst_yv12, gld_yv12);
     }
 
 
--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -23,7 +23,6 @@
 #include "ratectrl.h"
 #include "vp8/common/quant_common.h"
 #include "segmentation.h"
-#include "vpx_scale/yv12extend.h"
 #if CONFIG_POSTPROC
 #include "vp8/common/postproc.h"
 #endif
@@ -211,17 +210,6 @@
     86,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100
 };
 
-void vp8_initialize()
-{
-    static int init_done = 0;
-
-    if (!init_done)
-    {
-        vp8_scale_machine_specific_config();
-
-        init_done = 1;
-    }
-}
 #ifdef PACKET_TESTING
 extern FILE *vpxlogc;
 #endif
@@ -589,7 +577,7 @@
 #define GOOD(x) (x+1)
 #define RT(x) (x+7)
 
-static int speed_map(int speed, int *map)
+static int speed_map(int speed, const int *map)
 {
     int res;
 
@@ -600,73 +588,73 @@
     return res;
 }
 
-static int thresh_mult_map_znn[] = {
+static const int thresh_mult_map_znn[] = {
     /* map common to zero, nearest, and near */
     0, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(2), 2000, INT_MAX
 };
 
-static int thresh_mult_map_vhpred[] = {
+static const int thresh_mult_map_vhpred[] = {
     1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 1000, RT(1), 2000,
     RT(7), INT_MAX, INT_MAX
 };
 
-static int thresh_mult_map_bpred[] = {
+static const int thresh_mult_map_bpred[] = {
     2000, GOOD(0), 2500, GOOD(2), 5000, GOOD(3), 7500, RT(0), 2500, RT(1), 5000,
     RT(6), INT_MAX, INT_MAX
 };
 
-static int thresh_mult_map_tm[] = {
+static const int thresh_mult_map_tm[] = {
     1000, GOOD(2), 1500, GOOD(3), 2000, RT(0), 0, RT(1), 1000, RT(2), 2000,
     RT(7), INT_MAX, INT_MAX
 };
 
-static int thresh_mult_map_new1[] = {
+static const int thresh_mult_map_new1[] = {
     1000, GOOD(2), 2000, RT(0), 2000, INT_MAX
 };
 
-static int thresh_mult_map_new2[] = {
+static const int thresh_mult_map_new2[] = {
     1000, GOOD(2), 2000, GOOD(3), 2500, GOOD(5), 4000, RT(0), 2000, RT(2), 2500,
     RT(5), 4000, INT_MAX
 };
 
-static int thresh_mult_map_split1[] = {
+static const int thresh_mult_map_split1[] = {
     2500, GOOD(0), 1700, GOOD(2), 10000, GOOD(3), 25000, GOOD(4), INT_MAX,
     RT(0), 5000, RT(1), 10000, RT(2), 25000, RT(3), INT_MAX, INT_MAX
 };
 
-static int thresh_mult_map_split2[] = {
+static const int thresh_mult_map_split2[] = {
     5000, GOOD(0), 4500, GOOD(2), 20000, GOOD(3), 50000, GOOD(4), INT_MAX,
     RT(0), 10000, RT(1), 20000, RT(2), 50000, RT(3), INT_MAX, INT_MAX
 };
 
-static int mode_check_freq_map_zn2[] = {
+static const int mode_check_freq_map_zn2[] = {
     /* {zero,nearest}{2,3} */
     0, RT(10), 1<<1, RT(11), 1<<2, RT(12), 1<<3, INT_MAX
 };
 
-static int mode_check_freq_map_vhbpred[] = {
+static const int mode_check_freq_map_vhbpred[] = {
     0, GOOD(5), 2, RT(0), 0, RT(3), 2, RT(5), 4, INT_MAX
 };
 
-static int mode_check_freq_map_near2[] = {
+static const int mode_check_freq_map_near2[] = {
     0, GOOD(5), 2, RT(0), 0, RT(3), 2, RT(10), 1<<2, RT(11), 1<<3, RT(12), 1<<4,
     INT_MAX
 };
 
-static int mode_check_freq_map_new1[] = {
+static const int mode_check_freq_map_new1[] = {
     0, RT(10), 1<<1, RT(11), 1<<2, RT(12), 1<<3, INT_MAX
 };
 
-static int mode_check_freq_map_new2[] = {
+static const int mode_check_freq_map_new2[] = {
     0, GOOD(5), 4, RT(0), 0, RT(3), 4, RT(10), 1<<3, RT(11), 1<<4, RT(12), 1<<5,
     INT_MAX
 };
 
-static int mode_check_freq_map_split1[] = {
+static const int mode_check_freq_map_split1[] = {
     0, GOOD(2), 2, GOOD(3), 7, RT(1), 2, RT(2), 7, INT_MAX
 };
 
-static int mode_check_freq_map_split2[] = {
+static const int mode_check_freq_map_split2[] = {
     0, GOOD(1), 2, GOOD(2), 4, GOOD(3), 15, RT(1), 4, RT(2), 15, INT_MAX
 };
 
@@ -2505,7 +2493,7 @@
     else
         return -1;
 
-    vp8_yv12_copy_frame_ptr(&cm->yv12_fb[ref_fb_idx], sd);
+    vp8_yv12_copy_frame(&cm->yv12_fb[ref_fb_idx], sd);
 
     return 0;
 }
@@ -2524,7 +2512,7 @@
     else
         return -1;
 
-    vp8_yv12_copy_frame_ptr(sd, &cm->yv12_fb[ref_fb_idx]);
+    vp8_yv12_copy_frame(sd, &cm->yv12_fb[ref_fb_idx]);
 
     return 0;
 }
@@ -3142,7 +3130,7 @@
         vp8_loop_filter_frame(cm, &cpi->mb.e_mbd);
     }
 
-    vp8_yv12_extend_frame_borders_ptr(cm->frame_to_show);
+    vp8_yv12_extend_frame_borders(cm->frame_to_show);
 #if CONFIG_TEMPORAL_DENOISING
     if (cpi->oxcf.noise_sensitivity)
     {
--- a/vp8/encoder/picklpf.c
+++ b/vp8/encoder/picklpf.c
@@ -13,7 +13,6 @@
 #include "onyx_int.h"
 #include "quantize.h"
 #include "vpx_mem/vpx_mem.h"
-#include "vpx_scale/yv12extend.h"
 #include "vpx_scale/vpxscale.h"
 #include "vp8/common/alloccommon.h"
 #include "vp8/common/loopfilter.h"
@@ -304,7 +303,7 @@
     // Get baseline error score
 
     /* Copy the unfiltered / processed recon buffer to the new buffer */
-    vp8_yv12_copy_y_ptr(saved_frame, cm->frame_to_show);
+    vp8_yv12_copy_y(saved_frame, cm->frame_to_show);
 
     vp8cx_set_alt_lf_level(cpi, filt_mid);
     vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_mid);
@@ -331,7 +330,7 @@
             if(ss_err[filt_low] == 0)
             {
                 // Get Low filter error score
-                vp8_yv12_copy_y_ptr(saved_frame, cm->frame_to_show);
+                vp8_yv12_copy_y(saved_frame, cm->frame_to_show);
                 vp8cx_set_alt_lf_level(cpi, filt_low);
                 vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_low);
 
@@ -357,7 +356,7 @@
         {
             if(ss_err[filt_high] == 0)
             {
-                vp8_yv12_copy_y_ptr(saved_frame, cm->frame_to_show);
+                vp8_yv12_copy_y(saved_frame, cm->frame_to_show);
                 vp8cx_set_alt_lf_level(cpi, filt_high);
                 vp8_loop_filter_frame_yonly(cm, &cpi->mb.e_mbd, filt_high);
 
--- a/vp8/encoder/temporal_filter.c
+++ b/vp8/encoder/temporal_filter.c
@@ -22,7 +22,6 @@
 #include "ratectrl.h"
 #include "vp8/common/quant_common.h"
 #include "segmentation.h"
-#include "vpx_scale/yv12extend.h"
 #include "vpx_mem/vpx_mem.h"
 #include "vp8/common/swapyv12buffer.h"
 #include "vp8/common/threading.h"
--- a/vp8/vp8_cx_iface.c
+++ b/vp8/vp8_cx_iface.c
@@ -628,8 +628,6 @@
 
         priv->deprecated_mode = NO_MODE_SET;
 
-        vp8_initialize();
-
         res = validate_config(priv, &priv->cfg, &priv->vp8_cfg, 0);
 
         if (!res)
--- a/vp8/vp8_dx_iface.c
+++ b/vp8/vp8_dx_iface.c
@@ -391,8 +391,6 @@
             VP8D_CONFIG oxcf;
             struct VP8D_COMP* optr;
 
-            vp8dx_initialize();
-
             oxcf.Width = ctx->si.w;
             oxcf.Height = ctx->si.h;
             oxcf.Version = 9;
--- a/vpx_scale/arm/scalesystemdependent.c
+++ /dev/null
@@ -1,30 +1,0 @@
-/*
- *  Copyright (c) 2010 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_config.h"
-#include "vpx_ports/arm.h"
-#include "vpx_scale/vpxscale.h"
-#include "vpx_scale/yv12extend.h"
-
-void vp8_arch_arm_vpx_scale_init()
-{
-#if HAVE_NEON
-#if CONFIG_RUNTIME_CPU_DETECT
-    int flags = arm_cpu_caps();
-    if (flags & HAS_NEON)
-#endif
-    {
-        vp8_yv12_extend_frame_borders_ptr = vp8_yv12_extend_frame_borders_neon;
-        vp8_yv12_copy_y_ptr               = vp8_yv12_copy_y_neon;
-        vp8_yv12_copy_frame_ptr           = vp8_yv12_copy_frame_neon;
-    }
-#endif
-}
--- a/vpx_scale/arm/yv12extend_arm.h
+++ /dev/null
@@ -1,28 +1,0 @@
-/*
- *  Copyright (c) 2010 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.
- */
-
-
-#ifndef YV12_EXTEND_ARM_H
-#define YV12_EXTEND_ARM_H
-
-#include "vpx_config.h"
-#include "vpx_scale/yv12config.h"
-
-#if HAVE_NEON
-    void vp8_yv12_extend_frame_borders_neon(YV12_BUFFER_CONFIG *ybf);
-
-    /* Copy Y,U,V buffer data from src to dst, filling border of dst as well. */
-    void vp8_yv12_copy_frame_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc);
-
-    /* Copy Y buffer data from src_ybc to dst_ybc without filling border data */
-    void vp8_yv12_copy_y_neon(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc);
-#endif
-
-#endif /* YV12_EXTEND_ARM_H */
--- a/vpx_scale/generic/gen_scalers.c
+++ b/vpx_scale/generic/gen_scalers.c
@@ -17,7 +17,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_horizontal_line_4_5_scale_c
+ *  ROUTINE       : vp8_horizontal_line_4_5_scale_c
  *
  *  INPUTS        : const unsigned char *source : Pointer to source data.
  *                  unsigned int source_width    : Stride of source.
@@ -34,7 +34,7 @@
  *  SPECIAL NOTES : None.
  *
  ****************************************************************************/
-void vp8cx_horizontal_line_4_5_scale_c
+void vp8_horizontal_line_4_5_scale_c
 (
     const unsigned char *source,
     unsigned int source_width,
@@ -80,7 +80,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_vertical_band_4_5_scale_c
+ *  ROUTINE       : vp8_vertical_band_4_5_scale_c
  *
  *  INPUTS        : unsigned char *dest    : Pointer to destination data.
  *                  unsigned int dest_pitch : Stride of destination data.
@@ -97,7 +97,7 @@
  *                  the current band.
  *
  ****************************************************************************/
-void vp8cx_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+void vp8_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
 {
     unsigned int i;
     unsigned int a, b, c, d;
@@ -126,7 +126,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_last_vertical_band_4_5_scale_c
+ *  ROUTINE       : vp8_last_vertical_band_4_5_scale_c
  *
  *  INPUTS        : unsigned char *dest    : Pointer to destination data.
  *                  unsigned int dest_pitch : Stride of destination data.
@@ -144,7 +144,7 @@
  *                  last band.
  *
  ****************************************************************************/
-void vp8cx_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+void vp8_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
 {
     unsigned int i;
     unsigned int a, b, c, d;
@@ -172,7 +172,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_horizontal_line_2_3_scale_c
+ *  ROUTINE       : vp8_horizontal_line_2_3_scale_c
  *
  *  INPUTS        : const unsigned char *source : Pointer to source data.
  *                  unsigned int source_width    : Stride of source.
@@ -190,7 +190,7 @@
  *
  *
  ****************************************************************************/
-void vp8cx_horizontal_line_2_3_scale_c
+void vp8_horizontal_line_2_3_scale_c
 (
     const unsigned char *source,
     unsigned int source_width,
@@ -229,7 +229,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_vertical_band_2_3_scale_c
+ *  ROUTINE       : vp8_vertical_band_2_3_scale_c
  *
  *  INPUTS        : unsigned char *dest    : Pointer to destination data.
  *                  unsigned int dest_pitch : Stride of destination data.
@@ -246,7 +246,7 @@
  *                  the current band.
  *
  ****************************************************************************/
-void vp8cx_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+void vp8_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
 {
     unsigned int i;
     unsigned int a, b, c;
@@ -266,7 +266,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_last_vertical_band_2_3_scale_c
+ *  ROUTINE       : vp8_last_vertical_band_2_3_scale_c
  *
  *  INPUTS        : unsigned char *dest    : Pointer to destination data.
  *                  unsigned int dest_pitch : Stride of destination data.
@@ -284,7 +284,7 @@
  *                  last band.
  *
  ****************************************************************************/
-void vp8cx_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+void vp8_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
 {
     unsigned int i;
     unsigned int a, b;
@@ -303,7 +303,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_horizontal_line_3_5_scale_c
+ *  ROUTINE       : vp8_horizontal_line_3_5_scale_c
  *
  *  INPUTS        : const unsigned char *source : Pointer to source data.
  *                  unsigned int source_width    : Stride of source.
@@ -321,7 +321,7 @@
  *
  *
  ****************************************************************************/
-void vp8cx_horizontal_line_3_5_scale_c
+void vp8_horizontal_line_3_5_scale_c
 (
     const unsigned char *source,
     unsigned int source_width,
@@ -368,7 +368,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_vertical_band_3_5_scale_c
+ *  ROUTINE       : vp8_vertical_band_3_5_scale_c
  *
  *  INPUTS        : unsigned char *dest    : Pointer to destination data.
  *                  unsigned int dest_pitch : Stride of destination data.
@@ -385,7 +385,7 @@
  *                  the current band.
  *
  ****************************************************************************/
-void vp8cx_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+void vp8_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
 {
     unsigned int i;
     unsigned int a, b, c;
@@ -411,7 +411,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_last_vertical_band_3_5_scale_c
+ *  ROUTINE       : vp8_last_vertical_band_3_5_scale_c
  *
  *  INPUTS        : unsigned char *dest    : Pointer to destination data.
  *                  unsigned int dest_pitch : Stride of destination data.
@@ -429,7 +429,7 @@
  *                  last band.
  *
  ****************************************************************************/
-void vp8cx_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+void vp8_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
 {
     unsigned int i;
     unsigned int a, b, c;
@@ -455,7 +455,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_horizontal_line_3_4_scale_c
+ *  ROUTINE       : vp8_horizontal_line_3_4_scale_c
  *
  *  INPUTS        : const unsigned char *source : Pointer to source data.
  *                  unsigned int source_width    : Stride of source.
@@ -473,7 +473,7 @@
  *
  *
  ****************************************************************************/
-void vp8cx_horizontal_line_3_4_scale_c
+void vp8_horizontal_line_3_4_scale_c
 (
     const unsigned char *source,
     unsigned int source_width,
@@ -517,7 +517,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_vertical_band_3_4_scale_c
+ *  ROUTINE       : vp8_vertical_band_3_4_scale_c
  *
  *  INPUTS        : unsigned char *dest    : Pointer to destination data.
  *                  unsigned int dest_pitch : Stride of destination data.
@@ -534,7 +534,7 @@
  *                  the current band.
  *
  ****************************************************************************/
-void vp8cx_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+void vp8_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
 {
     unsigned int i;
     unsigned int a, b, c;
@@ -559,7 +559,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_last_vertical_band_3_4_scale_c
+ *  ROUTINE       : vp8_last_vertical_band_3_4_scale_c
  *
  *  INPUTS        : unsigned char *dest    : Pointer to destination data.
  *                  unsigned int dest_pitch : Stride of destination data.
@@ -577,7 +577,7 @@
  *                  last band.
  *
  ****************************************************************************/
-void vp8cx_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+void vp8_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
 {
     unsigned int i;
     unsigned int a, b, c;
@@ -602,7 +602,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_horizontal_line_1_2_scale_c
+ *  ROUTINE       : vp8_horizontal_line_1_2_scale_c
  *
  *  INPUTS        : const unsigned char *source : Pointer to source data.
  *                  unsigned int source_width    : Stride of source.
@@ -619,7 +619,7 @@
  *  SPECIAL NOTES : None.
  *
  ****************************************************************************/
-void vp8cx_horizontal_line_1_2_scale_c
+void vp8_horizontal_line_1_2_scale_c
 (
     const unsigned char *source,
     unsigned int source_width,
@@ -651,7 +651,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_vertical_band_1_2_scale_c
+ *  ROUTINE       : vp8_vertical_band_1_2_scale_c
  *
  *  INPUTS        : unsigned char *dest    : Pointer to destination data.
  *                  unsigned int dest_pitch : Stride of destination data.
@@ -668,7 +668,7 @@
  *                  the current band.
  *
  ****************************************************************************/
-void vp8cx_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+void vp8_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
 {
     unsigned int i;
     unsigned int a, b;
@@ -687,7 +687,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_last_vertical_band_1_2_scale_c
+ *  ROUTINE       : vp8_last_vertical_band_1_2_scale_c
  *
  *  INPUTS        : unsigned char *dest    : Pointer to destination data.
  *                  unsigned int dest_pitch : Stride of destination data.
@@ -705,7 +705,7 @@
  *                  last band.
  *
  ****************************************************************************/
-void vp8cx_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+void vp8_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
 {
     unsigned int i;
     unsigned char *des = dest;
@@ -723,7 +723,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_horizontal_line_4_5_scale_c
+ *  ROUTINE       : vp8_horizontal_line_4_5_scale_c
  *
  *  INPUTS        : const unsigned char *source : Pointer to source data.
  *                  unsigned int source_width    : Stride of source.
@@ -740,7 +740,7 @@
  *  SPECIAL NOTES : None.
  *
  ****************************************************************************/
-void vp8cx_horizontal_line_5_4_scale_c
+void vp8_horizontal_line_5_4_scale_c
 (
     const unsigned char *source,
     unsigned int source_width,
@@ -776,7 +776,7 @@
 
 
 
-void vp8cx_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+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)
 {
     unsigned int i;
     unsigned int a, b, c, d, e;
@@ -806,7 +806,7 @@
 
 /*7***************************************************************************
  *
- *  ROUTINE       : vp8cx_horizontal_line_3_5_scale_c
+ *  ROUTINE       : vp8_horizontal_line_3_5_scale_c
  *
  *  INPUTS        : const unsigned char *source : Pointer to source data.
  *                  unsigned int source_width    : Stride of source.
@@ -824,7 +824,7 @@
  *
  *
  ****************************************************************************/
-void vp8cx_horizontal_line_5_3_scale_c
+void vp8_horizontal_line_5_3_scale_c
 (
     const unsigned char *source,
     unsigned int source_width,
@@ -857,7 +857,7 @@
 
 }
 
-void vp8cx_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+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)
 {
     unsigned int i;
     unsigned int a, b, c, d, e;
@@ -885,7 +885,7 @@
 
 /****************************************************************************
  *
- *  ROUTINE       : vp8cx_horizontal_line_1_2_scale_c
+ *  ROUTINE       : vp8_horizontal_line_1_2_scale_c
  *
  *  INPUTS        : const unsigned char *source : Pointer to source data.
  *                  unsigned int source_width    : Stride of source.
@@ -902,7 +902,7 @@
  *  SPECIAL NOTES : None.
  *
  ****************************************************************************/
-void vp8cx_horizontal_line_2_1_scale_c
+void vp8_horizontal_line_2_1_scale_c
 (
     const unsigned char *source,
     unsigned int source_width,
@@ -928,7 +928,7 @@
 
 
 }
-void vp8cx_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width)
+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)
 {
     (void) dest_pitch;
     (void) src_pitch;
@@ -935,7 +935,7 @@
     vpx_memcpy(dest, source, dest_width);
 }
 
-void vp8cx_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)
+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)
 {
     int i;
     int temp;
--- a/vpx_scale/generic/scalesystemdependent.c
+++ /dev/null
@@ -1,74 +1,0 @@
-/*
- *  Copyright (c) 2010 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_config.h"
-#include "vpx_scale/vpxscale.h"
-#include "vpx_scale/yv12extend.h"
-
-void (*vp8_yv12_extend_frame_borders_ptr)(YV12_BUFFER_CONFIG *ybf);
-void (*vp8_yv12_copy_frame_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc);
-void (*vp8_yv12_copy_y_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc);
-
-extern void vp8_arch_arm_vpx_scale_init();
-
-/****************************************************************************
- *
- *  ROUTINE       : vp8_scale_machine_specific_config
- *
- *  INPUTS        : UINT32 Version : Codec version number.
- *
- *  OUTPUTS       : None.
- *
- *  RETURNS       : void
- *
- *  FUNCTION      : Checks for machine specifc features such as MMX support
- *                  sets appropriate flags and function pointers.
- *
- *  SPECIAL NOTES : None.
- *
- ****************************************************************************/
-void vp8_scale_machine_specific_config()
-{
-#if CONFIG_SPATIAL_RESAMPLING
-    vp8_horizontal_line_1_2_scale        = vp8cx_horizontal_line_1_2_scale_c;
-    vp8_vertical_band_1_2_scale          = vp8cx_vertical_band_1_2_scale_c;
-    vp8_last_vertical_band_1_2_scale      = vp8cx_last_vertical_band_1_2_scale_c;
-    vp8_horizontal_line_3_5_scale        = vp8cx_horizontal_line_3_5_scale_c;
-    vp8_vertical_band_3_5_scale          = vp8cx_vertical_band_3_5_scale_c;
-    vp8_last_vertical_band_3_5_scale      = vp8cx_last_vertical_band_3_5_scale_c;
-    vp8_horizontal_line_3_4_scale        = vp8cx_horizontal_line_3_4_scale_c;
-    vp8_vertical_band_3_4_scale          = vp8cx_vertical_band_3_4_scale_c;
-    vp8_last_vertical_band_3_4_scale      = vp8cx_last_vertical_band_3_4_scale_c;
-    vp8_horizontal_line_2_3_scale        = vp8cx_horizontal_line_2_3_scale_c;
-    vp8_vertical_band_2_3_scale          = vp8cx_vertical_band_2_3_scale_c;
-    vp8_last_vertical_band_2_3_scale      = vp8cx_last_vertical_band_2_3_scale_c;
-    vp8_horizontal_line_4_5_scale        = vp8cx_horizontal_line_4_5_scale_c;
-    vp8_vertical_band_4_5_scale          = vp8cx_vertical_band_4_5_scale_c;
-    vp8_last_vertical_band_4_5_scale      = vp8cx_last_vertical_band_4_5_scale_c;
-
-
-    vp8_vertical_band_5_4_scale           = vp8cx_vertical_band_5_4_scale_c;
-    vp8_vertical_band_5_3_scale           = vp8cx_vertical_band_5_3_scale_c;
-    vp8_vertical_band_2_1_scale           = vp8cx_vertical_band_2_1_scale_c;
-    vp8_vertical_band_2_1_scale_i         = vp8cx_vertical_band_2_1_scale_i_c;
-    vp8_horizontal_line_2_1_scale         = vp8cx_horizontal_line_2_1_scale_c;
-    vp8_horizontal_line_5_3_scale         = vp8cx_horizontal_line_5_3_scale_c;
-    vp8_horizontal_line_5_4_scale         = vp8cx_horizontal_line_5_4_scale_c;
-#endif
-
-    vp8_yv12_extend_frame_borders_ptr     = vp8_yv12_extend_frame_borders;
-    vp8_yv12_copy_y_ptr                   = vp8_yv12_copy_y_c;
-    vp8_yv12_copy_frame_ptr               = vp8_yv12_copy_frame;
-
-#if ARCH_ARM
-    vp8_arch_arm_vpx_scale_init();
-#endif
-}
--- a/vpx_scale/generic/vpxscale.c
+++ b/vpx_scale/generic/vpxscale.c
@@ -20,36 +20,10 @@
 /****************************************************************************
 *  Header Files
 ****************************************************************************/
+#include "vpx_rtcd.h"
 #include "vpx_mem/vpx_mem.h"
 #include "vpx_scale/yv12config.h"
 #include "vpx_scale/scale_mode.h"
-
-/****************************************************************************
-*  Exports
-****************************************************************************/
-void (*vp8_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_last_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_last_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_last_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_last_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_horizontal_line_1_2_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0;
-void (*vp8_horizontal_line_3_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0;
-void (*vp8_horizontal_line_3_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0;
-void (*vp8_horizontal_line_2_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0;
-void (*vp8_horizontal_line_4_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0;
-void (*vp8_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_last_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-
-void (*vp8_vertical_band_5_4_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_vertical_band_5_3_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_vertical_band_2_1_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_vertical_band_2_1_scale_i)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width) = 0;
-void (*vp8_horizontal_line_2_1_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0;
-void (*vp8_horizontal_line_5_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0;
-void (*vp8_horizontal_line_5_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width) = 0;
 
 typedef struct
 {
--- a/vpx_scale/generic/yv12extend.c
+++ b/vpx_scale/generic/yv12extend.c
@@ -21,7 +21,7 @@
  *
  ****************************************************************************/
 void
-vp8_yv12_extend_frame_borders(YV12_BUFFER_CONFIG *ybf)
+vp8_yv12_extend_frame_borders_c(YV12_BUFFER_CONFIG *ybf)
 {
     int i;
     unsigned char *src_ptr1, *src_ptr2;
@@ -146,7 +146,7 @@
 
 
 static void
-extend_frame_borders_yonly(YV12_BUFFER_CONFIG *ybf)
+extend_frame_borders_yonly_c(YV12_BUFFER_CONFIG *ybf)
 {
     int i;
     unsigned char *src_ptr1, *src_ptr2;
@@ -221,7 +221,7 @@
  *
  ****************************************************************************/
 void
-vp8_yv12_copy_frame(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc)
+vp8_yv12_copy_frame_c(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc)
 {
     int row;
     unsigned char *source, *dest;
@@ -256,7 +256,7 @@
         dest   += dst_ybc->uv_stride;
     }
 
-    vp8_yv12_extend_frame_borders_ptr(dst_ybc);
+    vp8_yv12_extend_frame_borders_c(dst_ybc);
 }
 
 void vp8_yv12_copy_y_c(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc)
--- a/vpx_scale/vpx_scale.mk
+++ b/vpx_scale/vpx_scale.mk
@@ -1,6 +1,5 @@
 SCALE_SRCS-yes += vpx_scale.mk
 SCALE_SRCS-yes += scale_mode.h
-SCALE_SRCS-yes += yv12extend.h
 SCALE_SRCS-yes += yv12config.h
 SCALE_SRCS-yes += vpxscale.h
 SCALE_SRCS-yes += generic/vpxscale.c
@@ -7,12 +6,7 @@
 SCALE_SRCS-yes += generic/yv12config.c
 SCALE_SRCS-yes += generic/yv12extend.c
 SCALE_SRCS-yes += generic/yv12extend_generic.h
-SCALE_SRCS-yes += generic/scalesystemdependent.c
 SCALE_SRCS-$(CONFIG_SPATIAL_RESAMPLING) += generic/gen_scalers.c
-
-#arm
-SCALE_SRCS-$(ARCH_ARM)    += arm/yv12extend_arm.h
-SCALE_SRCS-$(ARCH_ARM)    += arm/scalesystemdependent.c
 
 #neon
 SCALE_SRCS-$(HAVE_NEON)  += arm/neon/vp8_vpxyv12_copyframe_func_neon$(ASM)
--- a/vpx_scale/vpxscale.h
+++ b/vpx_scale/vpxscale.h
@@ -13,54 +13,7 @@
 #define VPXSCALE_H
 
 #include "vpx_scale/yv12config.h"
-#include "vpx_scale/yv12extend.h"
-void vp8cx_horizontal_line_4_5_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-void vp8cx_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_horizontal_line_2_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-void vp8cx_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_horizontal_line_3_5_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-void vp8cx_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_horizontal_line_3_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-void vp8cx_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_horizontal_line_1_2_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-void vp8cx_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-void vp8cx_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-void vp8cx_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-void vp8cx_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-void vp8cx_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);
 
-
-extern void (*vp8_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_last_vertical_band_4_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_last_vertical_band_2_3_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_last_vertical_band_3_5_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_last_vertical_band_3_4_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_horizontal_line_1_2_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-extern void (*vp8_horizontal_line_3_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-extern void (*vp8_horizontal_line_3_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-extern void (*vp8_horizontal_line_2_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-extern void (*vp8_horizontal_line_4_5_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-extern void (*vp8_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_last_vertical_band_1_2_scale)(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_vertical_band_5_4_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_vertical_band_5_3_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_vertical_band_2_1_scale)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_vertical_band_2_1_scale_i)(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
-extern void (*vp8_horizontal_line_2_1_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-extern void (*vp8_horizontal_line_5_3_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-extern void (*vp8_horizontal_line_5_4_scale)(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
-
 extern void vp8_yv12_scale_or_center
 (
     YV12_BUFFER_CONFIG *src_yuv_config,
@@ -85,6 +38,5 @@
     unsigned int vratio,
     unsigned int interlaced
 );
-extern void vp8_scale_machine_specific_config(void);
 
 #endif
--- a/vpx_scale/yv12extend.h
+++ /dev/null
@@ -1,40 +1,0 @@
-/*
- *  Copyright (c) 2010 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.
- */
-
-
-#ifndef YV12_EXTEND_H
-#define YV12_EXTEND_H
-
-#include "vpx_config.h"
-#include "vpx_scale/yv12config.h"
-#include "vpx_scale/generic/yv12extend_generic.h"
-
-#if HAVE_NEON
-#include "vpx_scale/arm/yv12extend_arm.h"
-#endif
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-    extern void (*vp8_yv12_extend_frame_borders_ptr)(YV12_BUFFER_CONFIG *ybf);
-
-    /* Copy Y,U,V buffer data from src to dst, filling border of dst as well. */
-    extern void (*vp8_yv12_copy_frame_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc);
-
-    /* Copy Y buffer data from src_ybc to dst_ybc without filling border data */
-    extern void (*vp8_yv12_copy_y_ptr)(YV12_BUFFER_CONFIG *src_ybc, YV12_BUFFER_CONFIG *dst_ybc);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
--