shithub: libvpx

Download patch

ref: 3338af41092added3024a4ed4b9934262a578433
parent: e25bd474ad6d8a719c7cc82ddc1b41f901dc3a61
author: Jim Bankoski <jimbankoski@google.com>
date: Wed Nov 21 04:16:30 EST 2012

remove subpixel invoke functions

Removed the rtcd subpixel invoke functions.

Change-Id: I8b7618bd5813333fac66b2817bdf807616e0fb33

--- a/vp9/common/generic/systemdependent.c
+++ b/vp9/common/generic/systemdependent.c
@@ -35,36 +35,6 @@
   rtcd->idct.idct16x16    = vp9_short_idct16x16_c;
   rtcd->idct.idct10_16x16 = vp9_short_idct10_16x16_c;
 
-  rtcd->subpix.eighttap16x16       = vp9_eighttap_predict16x16_c;
-  rtcd->subpix.eighttap8x8         = vp9_eighttap_predict8x8_c;
-  rtcd->subpix.eighttap_avg16x16   = vp9_eighttap_predict_avg16x16_c;
-  rtcd->subpix.eighttap_avg8x8     = vp9_eighttap_predict_avg8x8_c;
-  rtcd->subpix.eighttap_avg4x4     = vp9_eighttap_predict_avg4x4_c;
-  rtcd->subpix.eighttap8x4         = vp9_eighttap_predict8x4_c;
-  rtcd->subpix.eighttap4x4         = vp9_eighttap_predict_c;
-  rtcd->subpix.eighttap16x16_sharp     = vp9_eighttap_predict16x16_sharp_c;
-  rtcd->subpix.eighttap8x8_sharp       = vp9_eighttap_predict8x8_sharp_c;
-  rtcd->subpix.eighttap_avg16x16_sharp = vp9_eighttap_predict_avg16x16_sharp_c;
-  rtcd->subpix.eighttap_avg8x8_sharp   = vp9_eighttap_predict_avg8x8_sharp_c;
-  rtcd->subpix.eighttap_avg4x4_sharp   = vp9_eighttap_predict_avg4x4_sharp_c;
-  rtcd->subpix.eighttap8x4_sharp       = vp9_eighttap_predict8x4_sharp_c;
-  rtcd->subpix.eighttap4x4_sharp       = vp9_eighttap_predict_sharp_c;
-
-  rtcd->subpix.sixtap16x16       = vp9_sixtap_predict16x16_c;
-  rtcd->subpix.sixtap8x8         = vp9_sixtap_predict8x8_c;
-  rtcd->subpix.sixtap_avg16x16   = vp9_sixtap_predict_avg16x16_c;
-  rtcd->subpix.sixtap_avg8x8     = vp9_sixtap_predict_avg8x8_c;
-  rtcd->subpix.sixtap8x4         = vp9_sixtap_predict8x4_c;
-  rtcd->subpix.sixtap4x4         = vp9_sixtap_predict_c;
-  rtcd->subpix.sixtap_avg4x4     = vp9_sixtap_predict_avg_c;
-  rtcd->subpix.bilinear16x16     = vp9_bilinear_predict16x16_c;
-  rtcd->subpix.bilinear8x8       = vp9_bilinear_predict8x8_c;
-  rtcd->subpix.bilinear_avg16x16 = vp9_bilinear_predict_avg16x16_c;
-  rtcd->subpix.bilinear_avg8x8   = vp9_bilinear_predict_avg8x8_c;
-  rtcd->subpix.bilinear8x4       = vp9_bilinear_predict8x4_c;
-  rtcd->subpix.bilinear4x4       = vp9_bilinear_predict4x4_c;
-  rtcd->subpix.bilinear_avg4x4   = vp9_bilinear_predict_avg4x4_c;
-
 #if CONFIG_POSTPROC || (CONFIG_VP9_ENCODER && CONFIG_INTERNAL_STATS)
   rtcd->postproc.down             = vp9_mbpost_proc_down_c;
   rtcd->postproc.across           = vp9_mbpost_proc_across_ip_c;
--- a/vp9/common/onyxc_int.h
+++ b/vp9/common/onyxc_int.h
@@ -149,7 +149,6 @@
 typedef struct VP9_COMMON_RTCD {
 #if CONFIG_RUNTIME_CPU_DETECT
   vp9_idct_rtcd_vtable_t        idct;
-  vp9_subpix_rtcd_vtable_t      subpix;
 #if CONFIG_POSTPROC
   vp9_postproc_rtcd_vtable_t    postproc;
 #endif
--- a/vp9/common/reconinter.c
+++ b/vp9/common/reconinter.c
@@ -11,7 +11,6 @@
 
 #include "vpx_ports/config.h"
 #include "vpx/vpx_integer.h"
-#include "subpixel.h"
 #include "blockd.h"
 #include "reconinter.h"
 #include "vp9/common/reconintra.h"
@@ -23,66 +22,38 @@
                               INTERPOLATIONFILTERTYPE mcomp_filter_type,
                               VP9_COMMON *cm) {
   if (mcomp_filter_type == SIXTAP) {
-    xd->subpixel_predict        = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, sixtap4x4);
-    xd->subpixel_predict8x4     = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, sixtap8x4);
-    xd->subpixel_predict8x8     = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, sixtap8x8);
-    xd->subpixel_predict16x16   = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, sixtap16x16);
-    xd->subpixel_predict_avg    = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, sixtap_avg4x4);
-    xd->subpixel_predict_avg8x8 = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, sixtap_avg8x8);
-    xd->subpixel_predict_avg16x16 = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, sixtap_avg16x16);
+    xd->subpixel_predict        = vp9_sixtap_predict;
+    xd->subpixel_predict8x4     = vp9_sixtap_predict8x4;
+    xd->subpixel_predict8x8     = vp9_sixtap_predict8x8;
+    xd->subpixel_predict16x16   = vp9_sixtap_predict16x16;
+    xd->subpixel_predict_avg    = vp9_sixtap_predict_avg;
+    xd->subpixel_predict_avg8x8 = vp9_sixtap_predict_avg8x8;
+    xd->subpixel_predict_avg16x16 = vp9_sixtap_predict_avg16x16;
   } else if (mcomp_filter_type == EIGHTTAP || mcomp_filter_type == SWITCHABLE) {
-    xd->subpixel_predict        = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap4x4);
-    xd->subpixel_predict8x4     = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap8x4);
-    xd->subpixel_predict8x8     = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap8x8);
-    xd->subpixel_predict16x16   = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap16x16);
-    xd->subpixel_predict_avg    = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap_avg4x4);
-    xd->subpixel_predict_avg8x8 = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap_avg8x8);
-    xd->subpixel_predict_avg16x16 = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap_avg16x16);
+    xd->subpixel_predict        = vp9_eighttap_predict;
+    xd->subpixel_predict8x4     = vp9_eighttap_predict8x4;
+    xd->subpixel_predict8x8     = vp9_eighttap_predict8x8;
+    xd->subpixel_predict16x16   = vp9_eighttap_predict16x16;
+    xd->subpixel_predict_avg    = vp9_eighttap_predict_avg4x4;
+    xd->subpixel_predict_avg8x8 = vp9_eighttap_predict_avg8x8;
+    xd->subpixel_predict_avg16x16 = vp9_eighttap_predict_avg16x16;
   } else if (mcomp_filter_type == EIGHTTAP_SHARP) {
-    xd->subpixel_predict        = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap4x4_sharp);
-    xd->subpixel_predict8x4     = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap8x4_sharp);
-    xd->subpixel_predict8x8     = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap8x8_sharp);
-    xd->subpixel_predict16x16   = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap16x16_sharp);
-    xd->subpixel_predict_avg    = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap_avg4x4_sharp);
-    xd->subpixel_predict_avg8x8 = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap_avg8x8_sharp);
-    xd->subpixel_predict_avg16x16 = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, eighttap_avg16x16_sharp);
+    xd->subpixel_predict        = vp9_eighttap_predict_sharp;
+    xd->subpixel_predict8x4     = vp9_eighttap_predict8x4_sharp;
+    xd->subpixel_predict8x8     = vp9_eighttap_predict8x8_sharp;
+    xd->subpixel_predict16x16   = vp9_eighttap_predict16x16_sharp;
+    xd->subpixel_predict_avg    = vp9_eighttap_predict_avg4x4_sharp;
+    xd->subpixel_predict_avg8x8 = vp9_eighttap_predict_avg8x8_sharp;
+    xd->subpixel_predict_avg16x16 = vp9_eighttap_predict_avg16x16_sharp_c;
   }
   else {
-    xd->subpixel_predict        = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, bilinear4x4);
-    xd->subpixel_predict8x4     = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, bilinear8x4);
-    xd->subpixel_predict8x8     = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, bilinear8x8);
-    xd->subpixel_predict16x16   = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, bilinear16x16);
-    xd->subpixel_predict_avg    = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, bilinear_avg4x4);
-    xd->subpixel_predict_avg8x8 = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, bilinear_avg8x8);
-    xd->subpixel_predict_avg16x16 = SUBPIX_INVOKE(
-        &cm->rtcd.subpix, bilinear_avg16x16);
+    xd->subpixel_predict        = vp9_bilinear_predict4x4;
+    xd->subpixel_predict8x4     = vp9_bilinear_predict8x4;
+    xd->subpixel_predict8x8     = vp9_bilinear_predict8x8;
+    xd->subpixel_predict16x16   = vp9_bilinear_predict16x16;
+    xd->subpixel_predict_avg    = vp9_bilinear_predict_avg4x4;
+    xd->subpixel_predict_avg8x8 = vp9_bilinear_predict_avg8x8;
+    xd->subpixel_predict_avg16x16 = vp9_bilinear_predict_avg16x16;
   }
 }
 
--- a/vp9/common/rtcd_defs.sh
+++ b/vp9/common/rtcd_defs.sh
@@ -227,6 +227,90 @@
 prototype unsigned int vp9_sad3x16 "const unsigned char *src_ptr, int  src_stride, const unsigned char *ref_ptr, int ref_stride, int max_sad"
 specialize vp9_sad3x16 sse2
 
+prototype void vp9_eighttap_predict16x16 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict16x16
+
+prototype void vp9_eighttap_predict8x8 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict8x8
+
+prototype void vp9_eighttap_predict_avg16x16 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict_avg16x16
+
+prototype void vp9_eighttap_predict_avg8x8 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict_avg8x8
+
+prototype void vp9_eighttap_predict_avg4x4 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict_avg4x4
+
+prototype void vp9_eighttap_predict8x4 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict8x4
+
+prototype void vp9_eighttap_predict "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict
+
+prototype void vp9_eighttap_predict16x16_sharp "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict16x16_sharp
+
+prototype void vp9_eighttap_predict8x8_sharp "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict8x8_sharp
+
+prototype void vp9_eighttap_predict_avg16x16_sharp "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict_avg16x16_sharp
+
+prototype void vp9_eighttap_predict_avg8x8_sharp "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict_avg8x8_sharp
+
+prototype void vp9_eighttap_predict_avg4x4_sharp "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict_avg4x4_sharp
+
+prototype void vp9_eighttap_predict8x4_sharp "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict8x4_sharp
+
+prototype void vp9_eighttap_predict_sharp "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_eighttap_predict_sharp
+
+prototype void vp9_sixtap_predict16x16 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_sixtap_predict16x16
+
+prototype void vp9_sixtap_predict8x8 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_sixtap_predict8x8
+
+prototype void vp9_sixtap_predict_avg16x16 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_sixtap_predict_avg16x16
+
+prototype void vp9_sixtap_predict_avg8x8 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_sixtap_predict_avg8x8
+
+prototype void vp9_sixtap_predict8x4 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_sixtap_predict8x4
+
+prototype void vp9_sixtap_predict "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_sixtap_predict
+
+prototype void vp9_sixtap_predict_avg "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_sixtap_predict_avg
+
+prototype void vp9_bilinear_predict16x16 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_bilinear_predict16x16 mmx sse2
+
+prototype void vp9_bilinear_predict8x8 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_bilinear_predict8x8 mmx sse2
+
+prototype void vp9_bilinear_predict_avg16x16 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_bilinear_predict_avg16x16
+
+prototype void vp9_bilinear_predict_avg8x8 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_bilinear_predict_avg8x8
+
+prototype void vp9_bilinear_predict8x4 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_bilinear_predict8x4 mmx
+
+prototype void vp9_bilinear_predict4x4 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_bilinear_predict4x4 mmx
+
+prototype void vp9_bilinear_predict_avg4x4 "unsigned char *src_ptr, int  src_pixels_per_line, int  xoffset, int  yoffset, unsigned char *dst_ptr, int  dst_pitch"
+specialize vp9_bilinear_predict_avg4x4
+
 if [ "$CONFIG_SUPERBLOCKS" = "yes" ]; then
 
 prototype unsigned int vp9_sad32x3 "const unsigned char *src_ptr, int  src_stride, const unsigned char *ref_ptr, int ref_stride, int max_sad"
--- a/vp9/common/subpixel.h
+++ b/vp9/common/subpixel.h
@@ -16,189 +16,6 @@
   void sym(unsigned char *src, int src_pitch, int xofst, int yofst, \
            unsigned char *dst, int dst_pitch)
 
-#if ARCH_X86 || ARCH_X86_64
-#include "x86/subpixel_x86.h"
-#endif
-
-#if ARCH_ARM
-#include "arm/subpixel_arm.h"
-#endif
-
-#ifndef vp9_subpix_sixtap16x16
-#define vp9_subpix_sixtap16x16 vp9_sixtap_predict16x16_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_sixtap16x16);
-
-#ifndef vp9_subpix_sixtap8x8
-#define vp9_subpix_sixtap8x8 vp9_sixtap_predict8x8_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_sixtap8x8);
-
-#ifndef vp9_subpix_sixtap_avg16x16
-#define vp9_subpix_sixtap_avg16x16 vp9_sixtap_predict_avg16x16_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_sixtap_avg16x16);
-
-#ifndef vp9_subpix_sixtap_avg8x8
-#define vp9_subpix_sixtap_avg8x8 vp9_sixtap_predict_avg8x8_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_sixtap_avg8x8);
-#ifndef vp9_subpix_sixtap8x4
-#define vp9_subpix_sixtap8x4 vp9_sixtap_predict8x4_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_sixtap8x4);
-
-#ifndef vp9_subpix_sixtap4x4
-#define vp9_subpix_sixtap4x4 vp9_sixtap_predict_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_sixtap4x4);
-
-#ifndef vp9_subpix_sixtap_avg4x4
-#define vp9_subpix_sixtap_avg4x4 vp9_sixtap_predict_avg_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_sixtap_avg4x4);
-
-#ifndef vp9_subpix_eighttap16x16
-#define vp9_subpix_eighttap16x16 vp9_eighttap_predict16x16_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap16x16);
-
-#ifndef vp9_subpix_eighttap8x8
-#define vp9_subpix_eighttap8x8 vp9_eighttap_predict8x8_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap8x8);
-
-#ifndef vp9_subpix_eighttap_avg16x16
-#define vp9_subpix_eighttap_avg16x16 vp9_eighttap_predict_avg16x16_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap_avg16x16);
-
-#ifndef vp9_subpix_eighttap_avg8x8
-#define vp9_subpix_eighttap_avg8x8 vp9_eighttap_predict_avg8x8_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap_avg8x8);
-
-#ifndef vp9_subpix_eighttap8x4
-#define vp9_subpix_eighttap8x4 vp9_eighttap_predict8x4_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap8x4);
-
-#ifndef vp9_subpix_eighttap4x4
-#define vp9_subpix_eighttap4x4 vp9_eighttap_predict_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap4x4);
-
-#ifndef vp9_subpix_eighttap_avg4x4
-#define vp9_subpix_eighttap_avg4x4 vp9_eighttap_predict_avg4x4_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap_avg4x4);
-
-#ifndef vp9_subpix_eighttap16x16_sharp
-#define vp9_subpix_eighttap16x16_sharp vp9_eighttap_predict16x16_sharp_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap16x16_sharp);
-
-#ifndef vp9_subpix_eighttap8x8_sharp
-#define vp9_subpix_eighttap8x8_sharp vp9_eighttap_predict8x8_sharp_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap8x8_sharp);
-
-#ifndef vp9_subpix_eighttap_avg16x16_sharp
-#define vp9_subpix_eighttap_avg16x16_sharp vp9_eighttap_predict_avg16x16_sharp_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap_avg16x16_sharp);
-
-#ifndef vp9_subpix_eighttap_avg8x8_sharp
-#define vp9_subpix_eighttap_avg8x8_sharp vp9_eighttap_predict_avg8x8_sharp_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap_avg8x8_sharp);
-
-#ifndef vp9_subpix_eighttap8x4_sharp
-#define vp9_subpix_eighttap8x4_sharp vp9_eighttap_predict8x4_sharp_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap8x4_sharp);
-
-#ifndef vp9_subpix_eighttap4x4_sharp
-#define vp9_subpix_eighttap4x4_sharp vp9_eighttap_predict_sharp_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap4x4_sharp);
-
-#ifndef vp9_subpix_eighttap_avg4x4_sharp
-#define vp9_subpix_eighttap_avg4x4_sharp vp9_eighttap_predict_avg4x4_sharp_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_eighttap_avg4x4_sharp);
-
-#ifndef vp9_subpix_bilinear16x16
-#define vp9_subpix_bilinear16x16 vp9_bilinear_predict16x16_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_bilinear16x16);
-
-#ifndef vp9_subpix_bilinear8x8
-#define vp9_subpix_bilinear8x8 vp9_bilinear_predict8x8_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_bilinear8x8);
-
-#ifndef vp9_subpix_bilinear_avg16x16
-#define vp9_subpix_bilinear_avg16x16 vp9_bilinear_predict_avg16x16_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_bilinear_avg16x16);
-
-#ifndef vp9_subpix_bilinear_avg8x8
-#define vp9_subpix_bilinear_avg8x8 vp9_bilinear_predict_avg8x8_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_bilinear_avg8x8);
-
-#ifndef vp9_subpix_bilinear8x4
-#define vp9_subpix_bilinear8x4 vp9_bilinear_predict8x4_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_bilinear8x4);
-
-#ifndef vp9_subpix_bilinear4x4
-#define vp9_subpix_bilinear4x4 vp9_bilinear_predict4x4_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_bilinear4x4);
-
-#ifndef vp9_subpix_bilinear_avg4x4
-#define vp9_subpix_bilinear_avg4x4 vp9_bilinear_predict_avg4x4_c
-#endif
-extern prototype_subpixel_predict(vp9_subpix_bilinear_avg4x4);
-
 typedef prototype_subpixel_predict((*vp9_subpix_fn_t));
-typedef struct {
-  vp9_subpix_fn_t  eighttap16x16;
-  vp9_subpix_fn_t  eighttap8x8;
-  vp9_subpix_fn_t  eighttap_avg16x16;
-  vp9_subpix_fn_t  eighttap_avg8x8;
-  vp9_subpix_fn_t  eighttap_avg4x4;
-  vp9_subpix_fn_t  eighttap8x4;
-  vp9_subpix_fn_t  eighttap4x4;
-  vp9_subpix_fn_t  eighttap16x16_sharp;
-  vp9_subpix_fn_t  eighttap8x8_sharp;
-  vp9_subpix_fn_t  eighttap_avg16x16_sharp;
-  vp9_subpix_fn_t  eighttap_avg8x8_sharp;
-  vp9_subpix_fn_t  eighttap_avg4x4_sharp;
-  vp9_subpix_fn_t  eighttap8x4_sharp;
-  vp9_subpix_fn_t  eighttap4x4_sharp;
-  vp9_subpix_fn_t  sixtap16x16;
-  vp9_subpix_fn_t  sixtap8x8;
-  vp9_subpix_fn_t  sixtap_avg16x16;
-  vp9_subpix_fn_t  sixtap_avg8x8;
-  vp9_subpix_fn_t  sixtap8x4;
-  vp9_subpix_fn_t  sixtap4x4;
-  vp9_subpix_fn_t  sixtap_avg4x4;
-  vp9_subpix_fn_t  bilinear16x16;
-  vp9_subpix_fn_t  bilinear8x8;
-  vp9_subpix_fn_t  bilinear_avg16x16;
-  vp9_subpix_fn_t  bilinear_avg8x8;
-  vp9_subpix_fn_t  bilinear8x4;
-  vp9_subpix_fn_t  bilinear4x4;
-  vp9_subpix_fn_t  bilinear_avg4x4;
-} vp9_subpix_rtcd_vtable_t;
-
-#if CONFIG_RUNTIME_CPU_DETECT
-#define SUBPIX_INVOKE(ctx,fn) (ctx)->fn
-#else
-#define SUBPIX_INVOKE(ctx,fn) vp9_subpix_##fn
-#endif
 
 #endif
--- a/vp9/common/x86/x86_systemdependent.c
+++ b/vp9/common/x86/x86_systemdependent.c
@@ -10,7 +10,6 @@
 
 #include "vpx_config.h"
 #include "vpx_ports/x86.h"
-#include "vp9/common/subpixel.h"
 #include "vp9/common/loopfilter.h"
 #include "vp9/common/idct.h"
 #include "vp9/common/pragmas.h"
@@ -38,17 +37,6 @@
     // rtcd->idct.iwalsh16     = vp9_short_inv_walsh4x4_mmx;
     // rtcd->idct.iwalsh1     = vp9_short_inv_walsh4x4_1_mmx;
 
-    /* Disabled due to unsupported enhanced interpolation/high_prec mv
-    rtcd->subpix.sixtap16x16   = vp9_sixtap_predict16x16_mmx;
-    rtcd->subpix.sixtap8x8     = vp9_sixtap_predict8x8_mmx;
-    rtcd->subpix.sixtap8x4     = vp9_sixtap_predict8x4_mmx;
-    rtcd->subpix.sixtap4x4     = vp9_sixtap_predict4x4_mmx;
-    */
-    rtcd->subpix.bilinear16x16 = vp9_bilinear_predict16x16_mmx;
-    rtcd->subpix.bilinear8x8   = vp9_bilinear_predict8x8_mmx;
-    rtcd->subpix.bilinear8x4   = vp9_bilinear_predict8x4_mmx;
-    rtcd->subpix.bilinear4x4   = vp9_bilinear_predict4x4_mmx;
-
 #if CONFIG_POSTPROC
     rtcd->postproc.down        = vp9_mbpost_proc_down_mmx;
     /*rtcd->postproc.across      = vp9_mbpost_proc_across_ip_c;*/
@@ -65,14 +53,6 @@
 
     // rtcd->idct.iwalsh16     = vp9_short_inv_walsh4x4_sse2;
 
-    /* Disabled due to unsupported enhanced interpolation/high_prec mv
-    rtcd->subpix.sixtap16x16   = vp9_sixtap_predict16x16_sse2;
-    rtcd->subpix.sixtap8x8     = vp9_sixtap_predict8x8_sse2;
-    rtcd->subpix.sixtap8x4     = vp9_sixtap_predict8x4_sse2;
-    */
-    rtcd->subpix.bilinear16x16 = vp9_bilinear_predict16x16_sse2;
-    rtcd->subpix.bilinear8x8   = vp9_bilinear_predict8x8_sse2;
-
 #if CONFIG_POSTPROC
     rtcd->postproc.down        = vp9_mbpost_proc_down_xmm;
     rtcd->postproc.across      = vp9_mbpost_proc_across_ip_xmm;
@@ -86,14 +66,6 @@
 #if HAVE_SSSE3
 
   if (flags & HAS_SSSE3) {
-    /* Disabled due to unsupported enhanced interpolation/high_prec mv
-    rtcd->subpix.sixtap16x16   = vp9_sixtap_predict16x16_ssse3;
-    rtcd->subpix.sixtap8x8     = vp9_sixtap_predict8x8_ssse3;
-    rtcd->subpix.sixtap8x4     = vp9_sixtap_predict8x4_ssse3;
-    rtcd->subpix.sixtap4x4     = vp9_sixtap_predict4x4_ssse3;
-    rtcd->subpix.bilinear16x16 = vp9_bilinear_predict16x16_ssse3;
-    rtcd->subpix.bilinear8x8   = vp9_bilinear_predict8x8_ssse3;
-    */
 
     /* these are disable because of unsupported diagonal pred modes
     rtcd->recon.build_intra_predictors_mbuv =
--- a/vp9/encoder/encodeframe.c
+++ b/vp9/encoder/encodeframe.c
@@ -33,7 +33,6 @@
 #include <stdio.h>
 #include <math.h>
 #include <limits.h>
-#include "vp9/common/subpixel.h"
 #include "vpx_ports/vpx_timer.h"
 #include "vp9/common/pred_common.h"
 #include "vp9/common/mvref_common.h"