diff --git a/configure b/configure
index 2593a0e60c8efccd20c54d2b71e8b7f3edb912cf..e4b1aacd691688ad8cdbb2a2429e875475022cd0 100755
--- a/configure
+++ b/configure
@@ -217,7 +217,6 @@ HAVE_LIST="
 EXPERIMENT_LIST="
     csm
     featureupdates
-    sixteenth_subpel_uv
     comp_intra_pred
     superblocks
     pred_filter
diff --git a/vp8/common/filter.c b/vp8/common/filter.c
index 28027442240913499d0673c1fe8f86d3ba39d2b7..8b96c82a24bc6aa9933864b52b4c548ede3a09f2 100644
--- a/vp8/common/filter.c
+++ b/vp8/common/filter.c
@@ -14,7 +14,6 @@
 #include "vpx_ports/mem.h"
 
 DECLARE_ALIGNED(16, const short, vp8_bilinear_filters[SUBPEL_SHIFTS][2]) = {
-#if SUBPEL_SHIFTS==16
   { 128,   0 },
   { 120,   8 },
   { 112,  16 },
@@ -31,22 +30,11 @@ DECLARE_ALIGNED(16, const short, vp8_bilinear_filters[SUBPEL_SHIFTS][2]) = {
   {  24, 104 },
   {  16, 112 },
   {   8, 120 }
-#else
-  { 128,   0 },
-  { 112,  16 },
-  {  96,  32 },
-  {  80,  48 },
-  {  64,  64 },
-  {  48,  80 },
-  {  32,  96 },
-  {  16, 112 }
-#endif  /* SUBPEL_SHIFTS==16 */
 };
 
 #define FILTER_ALPHA       0
 #define FILTER_ALPHA_SHARP 1
 DECLARE_ALIGNED(16, const short, vp8_sub_pel_filters_8[SUBPEL_SHIFTS][8]) = {
-#if SUBPEL_SHIFTS==16
 #if FILTER_ALPHA == 0
   /* Lagrangian interpolation filter */
   { 0,   0,   0, 128,   0,   0,   0,  0},
@@ -90,32 +78,9 @@ DECLARE_ALIGNED(16, const short, vp8_sub_pel_filters_8[SUBPEL_SHIFTS][8]) = {
   { 0,   2,  -6,  18, 122, -10,   2,  0},
   { 0,   1,  -3,   8, 126,  -5,   1,  0}
 #endif  /* FILTER_ALPHA */
-#else   /* SUBPEL_SHIFTS==16 */
-#if FILTER_ALPHA == 0
-  { 0,   0,   0, 128,   0,   0,   0,   0},
-  { -1,   3, -10, 122,  18,  -6,   2,   0},
-  { -1,   4, -16, 112,  37, -11,   4,  -1},
-  { -1,   5, -19,  97,  58, -16,   5,  -1},
-  { -1,   6, -19,  78,  78, -19,   6,  -1},
-  { -1,   5, -16,  58,  97, -19,   5,  -1},
-  { -1,   4, -11,  37, 112, -16,   4,  -1},
-  { 0,   2,  -6,  18, 122, -10,   3,  -1},
-#elif FILTER_ALPHA == 50
-  /* alpha = 0.50 */
-  { 0,   0,   0, 128,   0,   0,   0,  0},
-  { 0,   2, -10, 122,  18,  -6,   2,  0},
-  { -1,   4, -16, 112,  37, -11,   3,  0},
-  { -1,   5, -18,  96,  58, -16,   5, -1},
-  { -1,   5, -18,  78,  78, -18,   5, -1},
-  { -1,   5, -16,  58,  96, -18,   5, -1},
-  { 0,   3, -11,  37, 112, -16,   4, -1},
-  { 0,   2,  -6,  18, 122, -10,   2,  0}
-#endif  /* FILTER_ALPHA */
-#endif  /* SUBPEL_SHIFTS==16 */
 };
 
 DECLARE_ALIGNED(16, const short, vp8_sub_pel_filters_8s[SUBPEL_SHIFTS][8]) = {
-#if SUBPEL_SHIFTS==16
 #if FILTER_ALPHA_SHARP == 1
   /* dct based filter */
   {0,   0,   0, 128,   0,   0,   0, 0},
@@ -152,62 +117,10 @@ DECLARE_ALIGNED(16, const short, vp8_sub_pel_filters_8s[SUBPEL_SHIFTS][8]) = {
   {-2,   5, -10,  28, 119, -16,   6, -2},
   {-1,   3,  -7,  18, 123, -11,   4, -1},
   {-1,   2,  -3,   9, 126,  -6,   2, -1}
-#elif FILTER_ALPHA_SHARP == 65
-  /* alpha = 0.65 */
-  { 0,   0,   0, 128,   0,   0,   0,  0},
-  { 0,   2,  -6, 126,   8,  -3,   1,  0},
-  { -1,   3, -10, 123,  18,  -6,   2, -1},
-  { -1,   5, -14, 118,  27, -10,   4, -1},
-  { -1,   5, -17, 112,  38, -13,   5, -1},
-  { -2,   6, -19, 106,  48, -15,   5, -1},
-  { -2,   7, -21,  98,  59, -17,   6, -2},
-  { -2,   7, -21,  89,  69, -19,   7, -2},
-  { -2,   7, -20,  79,  79, -20,   7, -2},
-  { -2,   7, -19,  69,  89, -21,   7, -2},
-  { -2,   6, -17,  59,  98, -21,   7, -2},
-  { -1,   5, -15,  48, 106, -19,   6, -2},
-  { -1,   5, -13,  38, 112, -17,   5, -1},
-  { -1,   4, -10,  27, 118, -14,   5, -1},
-  { -1,   2,  -6,  18, 123, -10,   3, -1},
-  { 0,   1,  -3,   8, 126,  -6,   2,  0}
-#endif  /* FILTER_ALPHA_SHARP */
-#else   /* SUBPEL_SHIFTS==16 */
-#if FILTER_ALPHA_SHARP == 1
-  /* dct based filter */
-  {0,   0,   0, 128,   0,   0,   0, 0},
-  {-2,   5, -13, 125,  17,  -6,   3, -1},
-  {-4,   9, -20, 115,  37, -13,   6, -2},
-  {-4,  10, -24, 100,  59, -19,   9, -3},
-  {-4,  10, -23,  81,  81, -23,  10, -4},
-  {-3,   9, -19,  59, 100, -24,  10, -4},
-  {-2,   6, -13,  37, 115, -20,   9, -4},
-  {-1,   3,  -6,  17, 125, -13,   5, -2}
-#elif FILTER_ALPHA_SHARP == 75
-  /* alpha = 0.75 */
-  {0,   0,   0, 128,   0,   0,   0, 0},
-  {-1,   4, -11, 123,  18,  -7,   3, -1},
-  {-2,   7, -19, 113,  38, -13,   6, -2},
-  {-3,   9, -22,  99,  59, -19,   8, -3},
-  {-3,   9, -22,  80,  80, -22,   9, -3},
-  {-3,   8, -19,  59,  99, -22,   9, -3},
-  {-2,   6, -13,  38, 113, -19,   7, -2},
-  {-1,   3,  -7,  18, 123, -11,   4, -1}
-#elif FILTER_ALPHA_SHARP == 65
-  /* alpha = 0.65 */
-  { 0,   0,   0, 128,   0,   0,   0, 0},
-  { -1,   3, -10, 123,  18,  -6,   2, -1},
-  { -1,   5, -17, 112,  38, -13,   5, -1},
-  { -2,   7, -21,  98,  59, -17,   6, -2},
-  { -2,   7, -20,  79,  79, -20,   7, -2},
-  { -2,   6, -17,  59,  98, -21,   7, -2},
-  { -1,   5, -13,  38, 112, -17,   5, -1},
-  { -1,   2,  -6,  18, 123, -10,   3, -1}
 #endif  /* FILTER_ALPHA_SHARP */
-#endif  /* SUBPEL_SHIFTS==16 */
 };
 
 DECLARE_ALIGNED(16, const short, vp8_sub_pel_filters_6[SUBPEL_SHIFTS][6]) = {
-#if SUBPEL_SHIFTS==16
   {0,   0, 128,   0,   0, 0},
   {1,  -5, 125,   8,  -2, 1},
   {1,  -8, 122,  17,  -5, 1},
@@ -224,16 +137,6 @@ DECLARE_ALIGNED(16, const short, vp8_sub_pel_filters_6[SUBPEL_SHIFTS][6]) = {
   {2,  -8,  27, 116, -11, 2},
   {1,  -5,  17, 122,  -8, 1},
   {1,  -2,   8, 125,  -5, 1}
-#else
-  { 0,  0,  128,    0,   0,  0 },         /* note that 1/8 pel positions are just as per alpha -0.5 bicubic */
-  { 0, -6,  123,   12,  -1,  0 },
-  { 2, -11, 108,   36,  -8,  1 },         /* New 1/4 pel 6 tap filter */
-  { 0, -9,   93,   50,  -6,  0 },
-  { 3, -16,  77,   77, -16,  3 },         /* New 1/2 pel 6 tap filter */
-  { 0, -6,   50,   93,  -9,  0 },
-  { 1, -8,   36,  108, -11,  2 },         /* New 1/4 pel 6 tap filter */
-  { 0, -1,   12,  123,  -6,  0 },
-#endif  /* SUBPEL_SHIFTS==16 */
 };
 
 static void filter_block2d_first_pass_6
@@ -255,8 +158,8 @@ static void filter_block2d_first_pass_6
              ((int)src_ptr[-1 * (int)pixel_step] * vp8_filter[1]) +
              ((int)src_ptr[0]                    * vp8_filter[2]) +
              ((int)src_ptr[pixel_step]           * vp8_filter[3]) +
-             ((int)src_ptr[2 * pixel_step]         * vp8_filter[4]) +
-             ((int)src_ptr[3 * pixel_step]         * vp8_filter[5]) +
+             ((int)src_ptr[2 * pixel_step]       * vp8_filter[4]) +
+             ((int)src_ptr[3 * pixel_step]       * vp8_filter[5]) +
              (VP8_FILTER_WEIGHT >> 1);      /* Rounding */
 
       /* Normalize back to 0-255 */
diff --git a/vp8/common/filter.h b/vp8/common/filter.h
index db97d1afc58fe066564241554ddce4a8ce187185..fdae128e8e501424b8656a3ac27f9b3c5129abaa 100644
--- a/vp8/common/filter.h
+++ b/vp8/common/filter.h
@@ -18,11 +18,7 @@
 #define VP8_FILTER_WEIGHT 128
 #define VP8_FILTER_SHIFT  7
 
-#if CONFIG_SIXTEENTH_SUBPEL_UV
 #define SUBPEL_SHIFTS 16
-#else
-#define SUBPEL_SHIFTS 8
-#endif
 
 extern const short vp8_bilinear_filters[SUBPEL_SHIFTS][2];
 extern const short vp8_sub_pel_filters_6[SUBPEL_SHIFTS][6];
diff --git a/vp8/common/reconinter.c b/vp8/common/reconinter.c
index 4a828cda0120c7bb2cb9f65456cdb0f2cebd6257..ce7ebbeb94b49a6fec111c085ae54d02010404b7 100644
--- a/vp8/common/reconinter.c
+++ b/vp8/common/reconinter.c
@@ -241,11 +241,7 @@ void vp8_build_inter_predictors_b(BLOCKD *d, int pitch, vp8_subpix_fn_t sppf) {
 
   if (mv.as_mv.row & 7 || mv.as_mv.col & 7) {
     ptr = ptr_base + d->pre + (mv.as_mv.row >> 3) * d->pre_stride + (mv.as_mv.col >> 3);
-#if CONFIG_SIXTEENTH_SUBPEL_UV
     sppf(ptr, d->pre_stride, (mv.as_mv.col & 7) << 1, (mv.as_mv.row & 7) << 1, pred_ptr, pitch);
-#else
-    sppf(ptr, d->pre_stride, mv.as_mv.col & 7, mv.as_mv.row & 7, pred_ptr, pitch);
-#endif
   } else {
     ptr_base += d->pre + (mv.as_mv.row >> 3) * d->pre_stride + (mv.as_mv.col >> 3);
     ptr = ptr_base;
@@ -283,11 +279,7 @@ void vp8_build_2nd_inter_predictors_b(BLOCKD *d, int pitch, vp8_subpix_fn_t sppf
 
   if (mv.as_mv.row & 7 || mv.as_mv.col & 7) {
     ptr = ptr_base + d->pre + (mv.as_mv.row >> 3) * d->pre_stride + (mv.as_mv.col >> 3);
-#if CONFIG_SIXTEENTH_SUBPEL_UV
     sppf(ptr, d->pre_stride, (mv.as_mv.col & 7) << 1, (mv.as_mv.row & 7) << 1, pred_ptr, pitch);
-#else
-    sppf(ptr, d->pre_stride, mv.as_mv.col & 7, mv.as_mv.row & 7, pred_ptr, pitch);
-#endif
   } else {
     ptr_base += d->pre + (mv.as_mv.row >> 3) * d->pre_stride + (mv.as_mv.col >> 3);
     ptr = ptr_base;
@@ -314,11 +306,7 @@ static void build_inter_predictors4b(MACROBLOCKD *x, BLOCKD *d, int pitch) {
   ptr = ptr_base + d->pre + (mv.as_mv.row >> 3) * d->pre_stride + (mv.as_mv.col >> 3);
 
   if (mv.as_mv.row & 7 || mv.as_mv.col & 7) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
     x->subpixel_predict8x8(ptr, d->pre_stride, (mv.as_mv.col & 7) << 1, (mv.as_mv.row & 7) << 1, pred_ptr, pitch);
-#else
-    x->subpixel_predict8x8(ptr, d->pre_stride, mv.as_mv.col & 7, mv.as_mv.row & 7, pred_ptr, pitch);
-#endif
   } else {
     RECON_INVOKE(&x->rtcd->recon, copy8x8)(ptr, d->pre_stride, pred_ptr, pitch);
   }
@@ -341,11 +329,7 @@ static void build_2nd_inter_predictors4b(MACROBLOCKD *x, BLOCKD *d, int pitch) {
   ptr = ptr_base + d->pre + (mv.as_mv.row >> 3) * d->pre_stride + (mv.as_mv.col >> 3);
 
   if (mv.as_mv.row & 7 || mv.as_mv.col & 7) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
     x->subpixel_predict_avg8x8(ptr, d->pre_stride, (mv.as_mv.col & 7) << 1, (mv.as_mv.row & 7) << 1, pred_ptr, pitch);
-#else
-    x->subpixel_predict_avg8x8(ptr, d->pre_stride, mv.as_mv.col & 7, mv.as_mv.row & 7, pred_ptr, pitch);
-#endif
   } else {
     RECON_INVOKE(&x->rtcd->recon, avg8x8)(ptr, d->pre_stride, pred_ptr, pitch);
   }
@@ -362,11 +346,7 @@ static void build_inter_predictors2b(MACROBLOCKD *x, BLOCKD *d, int pitch) {
   ptr = ptr_base + d->pre + (mv.as_mv.row >> 3) * d->pre_stride + (mv.as_mv.col >> 3);
 
   if (mv.as_mv.row & 7 || mv.as_mv.col & 7) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
     x->subpixel_predict8x4(ptr, d->pre_stride, (mv.as_mv.col & 7) << 1, (mv.as_mv.row & 7) << 1, pred_ptr, pitch);
-#else
-    x->subpixel_predict8x4(ptr, d->pre_stride, mv.as_mv.col & 7, mv.as_mv.row & 7, pred_ptr, pitch);
-#endif
   } else {
     RECON_INVOKE(&x->rtcd->recon, copy8x4)(ptr, d->pre_stride, pred_ptr, pitch);
   }
@@ -542,7 +522,6 @@ void vp8_build_inter16x16_predictors_mbuv(MACROBLOCKD *xd) {
 
     // U & V
     for (i = 0; i < 2; i++) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
       if ((omv_row | omv_col) & 15) {
         // Copy extended MB into Temp array, applying the spatial filter
         filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
@@ -551,19 +530,7 @@ void vp8_build_inter16x16_predictors_mbuv(MACROBLOCKD *xd) {
         // Sub-pel interpolation
         xd->subpixel_predict8x8(pTemp, len, omv_col & 15,
                                 omv_row & 15, pDst, 8);
-      }
-#else   /* CONFIG_SIXTEENTH_SUBPEL_UV */
-      if ((mv_row | mv_col) & 7) {
-        // Copy extended MB into Temp array, applying the spatial filter
-        filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
-                  Temp, len, len, len);
-
-        // Sub-pel interpolation
-        xd->subpixel_predict8x8(pTemp, len, mv_col & 7,
-                                mv_row & 7, pDst, 8);
-      }
-#endif  /* CONFIG_SIXTEENTH_SUBPEL_UV */
-      else {
+      } else {
         // Apply prediction filter as we copy from source to destination
         filter_mb(pSrc, pre_stride, pDst, 8, 8, 8);
       }
@@ -574,18 +541,10 @@ void vp8_build_inter16x16_predictors_mbuv(MACROBLOCKD *xd) {
     }
   } else
 #endif
-#if CONFIG_SIXTEENTH_SUBPEL_UV
     if ((omv_row | omv_col) & 15) {
       xd->subpixel_predict8x8(uptr, pre_stride, omv_col & 15, omv_row & 15, upred_ptr, 8);
       xd->subpixel_predict8x8(vptr, pre_stride, omv_col & 15, omv_row & 15, vpred_ptr, 8);
-    }
-#else   /* CONFIG_SIXTEENTH_SUBPEL_UV */
-    if ((mv_row | mv_col) & 7) {
-      xd->subpixel_predict8x8(uptr, pre_stride, mv_col & 7, mv_row & 7, upred_ptr, 8);
-      xd->subpixel_predict8x8(vptr, pre_stride, mv_col & 7, mv_row & 7, vpred_ptr, 8);
-    }
-#endif  /* CONFIG_SIXTEENTH_SUBPEL_UV */
-    else {
+    } else {
       RECON_INVOKE(&xd->rtcd->recon, copy8x8)(uptr, pre_stride, upred_ptr, 8);
       RECON_INVOKE(&xd->rtcd->recon, copy8x8)(vptr, pre_stride, vpred_ptr, 8);
     }
@@ -708,13 +667,8 @@ void vp8_build_inter16x16_predictors_mby(MACROBLOCKD *xd) {
                 Temp, len, len, len);
 
       // Sub-pel interpolation
-#if CONFIG_SIXTEENTH_SUBPEL_UV
       xd->subpixel_predict16x16(pTemp, len, (mv_col & 7) << 1,
                                 (mv_row & 7) << 1, pred_ptr, 16);
-#else
-      xd->subpixel_predict16x16(pTemp, len, mv_col & 7,
-                                mv_row & 7, pred_ptr, 16);
-#endif
     } else {
       // Apply spatial filter to create the prediction directly
       filter_mb(ptr, pre_stride, pred_ptr, 16, 16, 16);
@@ -722,13 +676,8 @@ void vp8_build_inter16x16_predictors_mby(MACROBLOCKD *xd) {
   } else
 #endif
     if ((mv_row | mv_col) & 7) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
       xd->subpixel_predict16x16(ptr, pre_stride, (mv_col & 7) << 1,
                                 (mv_row & 7) << 1, pred_ptr, 16);
-#else
-      xd->subpixel_predict16x16(ptr, pre_stride, mv_col & 7,
-                                mv_row & 7, pred_ptr, 16);
-#endif
     } else {
       RECON_INVOKE(&xd->rtcd->recon, copy16x16)(ptr, pre_stride, pred_ptr, 16);
     }
@@ -808,17 +757,10 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
                 Temp, len, len, len);
 
       // Sub-pel filter
-#if CONFIG_SIXTEENTH_SUBPEL_UV
       x->subpixel_predict16x16(pTemp, len,
                                (_16x16mv.as_mv.col & 7) << 1,
                                (_16x16mv.as_mv.row & 7) << 1,
                                dst_y, dst_ystride);
-#else
-      x->subpixel_predict16x16(pTemp, len,
-                               _16x16mv.as_mv.col & 7,
-                               _16x16mv.as_mv.row & 7,
-                               dst_y, dst_ystride);
-#endif
     } else {
       // Apply spatial filter to create the prediction directly
       filter_mb(ptr, pre_stride, dst_y, dst_ystride, 16, 16);
@@ -826,14 +768,9 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
   } else
 #endif
     if (_16x16mv.as_int & 0x00070007) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
       x->subpixel_predict16x16(ptr, pre_stride, (_16x16mv.as_mv.col & 7) << 1,
                                (_16x16mv.as_mv.row & 7) << 1,
                                dst_y, dst_ystride);
-#else
-      x->subpixel_predict16x16(ptr, pre_stride, _16x16mv.as_mv.col & 7,
-                               _16x16mv.as_mv.row & 7, dst_y, dst_ystride);
-#endif
     } else {
       RECON_INVOKE(&x->rtcd->recon, copy16x16)(ptr, pre_stride, dst_y,
                                                dst_ystride);
@@ -873,7 +810,6 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
 
     // U & V
     for (i = 0; i < 2; i++) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
       if (_o16x16mv.as_int & 0x000f000f) {
         // Copy extended MB into Temp array, applying the spatial filter
         filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
@@ -884,21 +820,7 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
                                _o16x16mv.as_mv.col & 15,
                                _o16x16mv.as_mv.row & 15,
                                pDst, dst_uvstride);
-      }
-#else  /* CONFIG_SIXTEENTH_SUBPEL_UV */
-      if (_16x16mv.as_int & 0x00070007) {
-        // Copy extended MB into Temp array, applying the spatial filter
-        filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
-                  Temp, len, len, len);
-
-        // Sub-pel filter
-        x->subpixel_predict8x8(pTemp, len,
-                               _16x16mv.as_mv.col & 7,
-                               _16x16mv.as_mv.row & 7,
-                               pDst, dst_uvstride);
-      }
-#endif  /* CONFIG_SIXTEENTH_SUBPEL_UV */
-      else {
+      } else {
         filter_mb(pSrc, pre_stride, pDst, dst_uvstride, 8, 8);
       }
 
@@ -908,18 +830,10 @@ void vp8_build_inter16x16_predictors_mb(MACROBLOCKD *x,
     }
   } else
 #endif
-#if CONFIG_SIXTEENTH_SUBPEL_UV
     if (_o16x16mv.as_int & 0x000f000f) {
       x->subpixel_predict8x8(uptr, pre_stride, _o16x16mv.as_mv.col & 15,  _o16x16mv.as_mv.row & 15, dst_u, dst_uvstride);
       x->subpixel_predict8x8(vptr, pre_stride, _o16x16mv.as_mv.col & 15,  _o16x16mv.as_mv.row & 15, dst_v, dst_uvstride);
-    }
-#else  /* CONFIG_SIXTEENTH_SUBPEL_UV */
-    if (_16x16mv.as_int & 0x00070007) {
-      x->subpixel_predict8x8(uptr, pre_stride, _16x16mv.as_mv.col & 7,  _16x16mv.as_mv.row & 7, dst_u, dst_uvstride);
-      x->subpixel_predict8x8(vptr, pre_stride, _16x16mv.as_mv.col & 7,  _16x16mv.as_mv.row & 7, dst_v, dst_uvstride);
-    }
-#endif  /* CONFIG_SIXTEENTH_SUBPEL_UV */
-    else {
+    } else {
       RECON_INVOKE(&x->rtcd->recon, copy8x8)(uptr, pre_stride, dst_u, dst_uvstride);
       RECON_INVOKE(&x->rtcd->recon, copy8x8)(vptr, pre_stride, dst_v, dst_uvstride);
     }
@@ -983,13 +897,8 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
                 Temp, len, len, len);
 
       // Sub-pel filter
-#if CONFIG_SIXTEENTH_SUBPEL_UV
       x->subpixel_predict_avg16x16(pTemp, len, (mv_col & 7) << 1,
                                    (mv_row & 7) << 1, dst_y, dst_ystride);
-#else
-      x->subpixel_predict_avg16x16(pTemp, len, mv_col & 7,
-                                   mv_row & 7, dst_y, dst_ystride);
-#endif
     } else {
       // TODO Needs to AVERAGE with the dst_y
       // For now, do not apply the prediction filter in these cases!
@@ -1000,13 +909,8 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
 #endif  // CONFIG_PRED_FILTER
   {
     if ((mv_row | mv_col) & 7) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
       x->subpixel_predict_avg16x16(ptr, pre_stride, (mv_col & 7) << 1,
                                    (mv_row & 7) << 1, dst_y, dst_ystride);
-#else
-      x->subpixel_predict_avg16x16(ptr, pre_stride, mv_col & 7,
-                                   mv_row & 7, dst_y, dst_ystride);
-#endif
     } else {
       RECON_INVOKE(&x->rtcd->recon, avg16x16)(ptr, pre_stride, dst_y,
                                               dst_ystride);
@@ -1038,7 +942,6 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
 
     // U & V
     for (i = 0; i < 2; i++) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
       if ((omv_row | omv_col) & 15) {
         // Copy extended MB into Temp array, applying the spatial filter
         filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
@@ -1047,19 +950,7 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
         // Sub-pel filter
         x->subpixel_predict_avg8x8(pTemp, len, omv_col & 15,
                                    omv_row & 15, pDst, dst_uvstride);
-      }
-#else  /* CONFIG_SIXTEENTH_SUBPEL_UV */
-      if ((mv_row | mv_col) & 7) {
-        // Copy extended MB into Temp array, applying the spatial filter
-        filter_mb(pSrc - (INTERP_EXTEND - 1) * (pre_stride + 1), pre_stride,
-                  Temp, len, len, len);
-
-        // Sub-pel filter
-        x->subpixel_predict_avg8x8(pTemp, len, mv_col & 7, mv_row & 7,
-                                   pDst, dst_uvstride);
-      }
-#endif  /* CONFIG_SIXTEENTH_SUBPEL_UV */
-      else {
+      } else {
         // TODO Needs to AVERAGE with the dst_[u|v]
         // For now, do not apply the prediction filter here!
         RECON_INVOKE(&x->rtcd->recon, avg8x8)(pSrc, pre_stride, pDst,
@@ -1072,18 +963,10 @@ void vp8_build_2nd_inter16x16_predictors_mb(MACROBLOCKD *x,
     }
   } else
 #endif  // CONFIG_PRED_FILTER
-#if CONFIG_SIXTEENTH_SUBPEL_UV
     if ((omv_row | omv_col) & 15) {
       x->subpixel_predict_avg8x8(uptr, pre_stride, omv_col & 15, omv_row & 15, dst_u, dst_uvstride);
       x->subpixel_predict_avg8x8(vptr, pre_stride, omv_col & 15, omv_row & 15, dst_v, dst_uvstride);
-    }
-#else  /* CONFIG_SIXTEENTH_SUBPEL_UV */
-    if ((mv_row | mv_col) & 7) {
-      x->subpixel_predict_avg8x8(uptr, pre_stride, mv_col & 7, mv_row & 7, dst_u, dst_uvstride);
-      x->subpixel_predict_avg8x8(vptr, pre_stride, mv_col & 7, mv_row & 7, dst_v, dst_uvstride);
-    }
-#endif  /* CONFIG_SIXTEENTH_SUBPEL_UV */
-    else {
+    } else {
       RECON_INVOKE(&x->rtcd->recon, avg8x8)(uptr, pre_stride, dst_u, dst_uvstride);
       RECON_INVOKE(&x->rtcd->recon, avg8x8)(vptr, pre_stride, dst_v, dst_uvstride);
     }
diff --git a/vp8/common/x86/subpixel_ssse3.asm b/vp8/common/x86/subpixel_ssse3.asm
index 39f4f7b88781a970b5d16c0b3a7213ecf4017036..0789797b812d006feb3007008af574596a8b3c76 100644
--- a/vp8/common/x86/subpixel_ssse3.asm
+++ b/vp8/common/x86/subpixel_ssse3.asm
@@ -1495,7 +1495,6 @@ k2_k4:
     times 8 db  36,  -11
     times 8 db  12,   -6
 align 16
-%if CONFIG_SIXTEENTH_SUBPEL_UV
 vp8_bilinear_filters_ssse3:
     times 8 db 128, 0
     times 8 db 120, 8
@@ -1513,15 +1512,4 @@ vp8_bilinear_filters_ssse3:
     times 8 db 24,  104
     times 8 db 16,  112
     times 8 db 8,   120
-%else
-vp8_bilinear_filters_ssse3:
-    times 8 db 128, 0
-    times 8 db 112, 16
-    times 8 db 96,  32
-    times 8 db 80,  48
-    times 8 db 64,  64
-    times 8 db 48,  80
-    times 8 db 32,  96
-    times 8 db 16,  112
-%endif
 
diff --git a/vp8/common/x86/vp8_asm_stubs.c b/vp8/common/x86/vp8_asm_stubs.c
index 4df4f808d46bb1fae8bf3e7fee3d171d4dc8338f..f39941258fab11834b89dfacdf618bd36c85f0dc 100644
--- a/vp8/common/x86/vp8_asm_stubs.c
+++ b/vp8/common/x86/vp8_asm_stubs.c
@@ -13,15 +13,8 @@
 #include "vpx_ports/mem.h"
 #include "vp8/common/subpixel.h"
 
-#if CONFIG_SIXTEENTH_SUBPEL_UV
 extern const short vp8_six_tap_mmx[16][6 * 8];
 extern const short vp8_bilinear_filters_mmx[16][2 * 8];
-#else
-extern const short vp8_six_tap_mmx[8][6 * 8];
-extern const short vp8_bilinear_filters_mmx[8][2 * 8];
-#endif
-
-// #define ANNOUNCE_FUNCTION
 
 extern void vp8_filter_block1d_h6_mmx
 (
diff --git a/vp8/encoder/arm/variance_arm.c b/vp8/encoder/arm/variance_arm.c
index b268f3e19657b30bcaf909d15175dcfd4b0c0de0..e11d7bbb30d4e514bbe66ec4a24e04b7beca791d 100644
--- a/vp8/encoder/arm/variance_arm.c
+++ b/vp8/encoder/arm/variance_arm.c
@@ -13,11 +13,7 @@
 #include "vp8/common/filter.h"
 #include "vp8/common/arm/bilinearfilter_arm.h"
 
-#if CONFIG_SIXTEENTH_SUBPEL_UV
 #define HALFNDX 8
-#else
-#define HALFNDX 4
-#endif
 
 #if HAVE_ARMV6
 
diff --git a/vp8/encoder/mcomp.c b/vp8/encoder/mcomp.c
index 5a105595a2d8f7ec7d511b7e17db0ba50ef37518..58500800239e57a039140121002f1fc6cf13cf10 100644
--- a/vp8/encoder/mcomp.c
+++ b/vp8/encoder/mcomp.c
@@ -205,22 +205,14 @@ void vp8_init3smotion_compensation(MACROBLOCK *x, int stride) {
  */
 
 #define PRE(r,c) (y + (((r)>>2) * y_stride + ((c)>>2) -(offset))) // pointer to predictor base of a motionvector
-#if CONFIG_SIXTEENTH_SUBPEL_UV
 #define SP(x) (((x)&3)<<2) // convert motion vector component to offset for svf calc
-#else
-#define SP(x) (((x)&3)<<1) // convert motion vector component to offset for svf calc
-#endif  /* CONFIG_SIXTEENTH_SUBPEL_UV */
 #define MVC(r,c) (mvcost ? ((mvcost[0][(r)-rr] + mvcost[1][(c)-rc]) * error_per_bit + 128 )>>8 : 0) // estimated cost of a motion vector (r,c)
 #define DIST(r,c) vfp->svf( PRE(r,c), y_stride, SP(c),SP(r), z,b->src_stride,&sse) // returns subpixel variance error function.
 #define ERR(r,c) (MVC(r,c)+DIST(r,c)) // returns distortion + motion vector cost
 #define IFMVCV(r,c,s,e) if ( c >= minc && c <= maxc && r >= minr && r <= maxr) s else e;
 
 #define PREHP(r,c) (y + (((r)>>3) * y_stride + ((c)>>3) -(offset))) // pointer to predictor base of a motionvector
-#if CONFIG_SIXTEENTH_SUBPEL_UV
 #define SPHP(x) (((x)&7)<<1) // convert motion vector component to offset for svf calc
-#else /* CONFIG_SIXTEENTH_SUBPEL_UV */
-#define SPHP(x) ((x)&7) // convert motion vector component to offset for svf calc
-#endif  /* CONFIG_SIXTEENTH_SUBPEL_UV */
 #define DISTHP(r,c) vfp->svf( PREHP(r,c), y_stride, SPHP(c),SPHP(r), z,b->src_stride,&sse) // returns subpixel variance error function.
 #define ERRHP(r,c) (MVC(r,c)+DISTHP(r,c)) // returns distortion + motion vector cost
 #define CHECK_BETTER(v,r,c) IFMVCV(r,c,{thismse = ((xd->allow_high_precision_mv)?DISTHP(r,c):DIST(r,c)); if((v = (MVC(r,c)+thismse)) < besterr) { besterr = v; br=r; bc=c; *distortion = thismse; *sse1 = sse; }}, v=INT_MAX;)// checks if (r,c) has better score than previous best
@@ -444,11 +436,7 @@ int vp8_find_best_sub_pixel_step_iteratively(MACROBLOCK *x, BLOCK *b, BLOCKD *d,
 #undef DISTHP
 #undef ERRHP
 
-#if CONFIG_SIXTEENTH_SUBPEL_UV
 #define SP(x) (((x)&7)<<1) // convert motion vector component to offset for svf calc
-#else
-#define SP(x) ((x)&7) // convert motion vector component to offset for svf calc
-#endif  /* CONFIG_SIXTEENTH_SUBPEL_UV */
 int vp8_find_best_sub_pixel_step(MACROBLOCK *x, BLOCK *b, BLOCKD *d,
                                  int_mv *bestmv, int_mv *ref_mv,
                                  int error_per_bit,
diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c
index 1a325161d787925d477bc0e6f640904d83fc47a8..878d344766f7c1b3c25fad412d929809759530ee 100644
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -518,17 +518,10 @@ int VP8_UVSSE(MACROBLOCK *x, const vp8_variance_rtcd_vtable_t *rtcd) {
   vptr = x->e_mbd.pre.v_buffer + offset;
 
   if ((mv_row | mv_col) & 7) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
     VARIANCE_INVOKE(rtcd, subpixvar8x8)(uptr, pre_stride,
                                         (mv_col & 7) << 1, (mv_row & 7) << 1, upred_ptr, uv_stride, &sse2);
     VARIANCE_INVOKE(rtcd, subpixvar8x8)(vptr, pre_stride,
                                         (mv_col & 7) << 1, (mv_row & 7) << 1, vpred_ptr, uv_stride, &sse1);
-#else
-    VARIANCE_INVOKE(rtcd, subpixvar8x8)(uptr, pre_stride,
-                                        mv_col & 7, mv_row & 7, upred_ptr, uv_stride, &sse2);
-    VARIANCE_INVOKE(rtcd, subpixvar8x8)(vptr, pre_stride,
-                                        mv_col & 7, mv_row & 7, vpred_ptr, uv_stride, &sse1);
-#endif
     sse2 += sse1;
   } else {
     VARIANCE_INVOKE(rtcd, var8x8)(uptr, pre_stride,
diff --git a/vp8/encoder/temporal_filter.c b/vp8/encoder/temporal_filter.c
index 964f4c85625ba7436f90a5cdda480979cb1a1f68..0e86a0ca42c0b56e5797c9fc96b254e61a2a0db3 100644
--- a/vp8/encoder/temporal_filter.c
+++ b/vp8/encoder/temporal_filter.c
@@ -56,13 +56,8 @@ static void vp8_temporal_filter_predictors_mb_c
   yptr = y_mb_ptr + (mv_row >> 3) * stride + (mv_col >> 3);
 
   if ((mv_row | mv_col) & 7) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
     x->subpixel_predict16x16(yptr, stride,
                              (mv_col & 7) << 1, (mv_row & 7) << 1, &pred[0], 16);
-#else
-    x->subpixel_predict16x16(yptr, stride,
-                             mv_col & 7, mv_row & 7, &pred[0], 16);
-#endif
   } else {
     RECON_INVOKE(&x->rtcd->recon, copy16x16)(yptr, stride, &pred[0], 16);
   }
@@ -77,21 +72,12 @@ static void vp8_temporal_filter_predictors_mb_c
   uptr = u_mb_ptr + offset;
   vptr = v_mb_ptr + offset;
 
-#if CONFIG_SIXTEENTH_SUBPEL_UV
   if ((omv_row | omv_col) & 15) {
     x->subpixel_predict8x8(uptr, stride,
                            (omv_col & 15), (omv_row & 15), &pred[256], 8);
     x->subpixel_predict8x8(vptr, stride,
                            (omv_col & 15), (omv_row & 15), &pred[320], 8);
   }
-#else
-  if ((mv_row | mv_col) & 7) {
-    x->subpixel_predict8x8(uptr, stride,
-                           mv_col & 7, mv_row & 7, &pred[256], 8);
-    x->subpixel_predict8x8(vptr, stride,
-                           mv_col & 7, mv_row & 7, &pred[320], 8);
-  }
-#endif
   else {
     RECON_INVOKE(&x->rtcd->recon, copy8x8)(uptr, stride, &pred[256], 8);
     RECON_INVOKE(&x->rtcd->recon, copy8x8)(vptr, stride, &pred[320], 8);
diff --git a/vp8/encoder/variance_c.c b/vp8/encoder/variance_c.c
index 9444ed87da8d3fb532e4ecd81981bdb6c0b9dd3e..0b9d569b018e1312b7511ce16e9b6d302a2084c4 100644
--- a/vp8/encoder/variance_c.c
+++ b/vp8/encoder/variance_c.c
@@ -341,13 +341,8 @@ unsigned int vp8_variance_halfpixvar16x16_h_c(
   const unsigned char *ref_ptr,
   int  recon_stride,
   unsigned int *sse) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
   return vp8_sub_pixel_variance16x16_c(src_ptr, source_stride, 8, 0,
                                        ref_ptr, recon_stride, sse);
-#else
-  return vp8_sub_pixel_variance16x16_c(src_ptr, source_stride, 4, 0,
-                                       ref_ptr, recon_stride, sse);
-#endif
 }
 
 
@@ -357,13 +352,8 @@ unsigned int vp8_variance_halfpixvar16x16_v_c(
   const unsigned char *ref_ptr,
   int  recon_stride,
   unsigned int *sse) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
   return vp8_sub_pixel_variance16x16_c(src_ptr, source_stride, 0, 8,
                                        ref_ptr, recon_stride, sse);
-#else
-  return vp8_sub_pixel_variance16x16_c(src_ptr, source_stride, 0, 4,
-                                       ref_ptr, recon_stride, sse);
-#endif
 }
 
 
@@ -373,13 +363,8 @@ unsigned int vp8_variance_halfpixvar16x16_hv_c(
   const unsigned char *ref_ptr,
   int  recon_stride,
   unsigned int *sse) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
   return vp8_sub_pixel_variance16x16_c(src_ptr, source_stride, 8, 8,
                                        ref_ptr, recon_stride, sse);
-#else
-  return vp8_sub_pixel_variance16x16_c(src_ptr, source_stride, 4, 4,
-                                       ref_ptr, recon_stride, sse);
-#endif
 }
 
 
diff --git a/vp8/encoder/x86/variance_impl_sse2.asm b/vp8/encoder/x86/variance_impl_sse2.asm
index b13beee6e909d401755ad59d988fbe9937fdf441..823c2f7bf042fa602e635abdf3f3f3cd3087aa3e 100644
--- a/vp8/encoder/x86/variance_impl_sse2.asm
+++ b/vp8/encoder/x86/variance_impl_sse2.asm
@@ -1348,7 +1348,6 @@ align 16
 xmm_bi_rd:
     times 8 dw 64
 align 16
-%if CONFIG_SIXTEENTH_SUBPEL_UV
 vp8_bilinear_filters_sse2:
     dw 128, 128, 128, 128, 128, 128, 128, 128,  0,  0,  0,  0,  0,  0,  0,  0
     dw 120, 120, 120, 120, 120, 120, 120, 120,  8,  8,  8,  8,  8,  8,  8,  8
@@ -1366,14 +1365,3 @@ vp8_bilinear_filters_sse2:
     dw 24, 24, 24, 24, 24, 24, 24, 24, 104, 104, 104, 104, 104, 104, 104, 104
     dw 16, 16, 16, 16, 16, 16, 16, 16, 112, 112, 112, 112, 112, 112, 112, 112
     dw 8, 8, 8, 8, 8, 8, 8, 8, 120, 120, 120, 120, 120, 120, 120, 120
-%else
-vp8_bilinear_filters_sse2:
-    dw 128, 128, 128, 128, 128, 128, 128, 128,  0,  0,  0,  0,  0,  0,  0,  0
-    dw 112, 112, 112, 112, 112, 112, 112, 112, 16, 16, 16, 16, 16, 16, 16, 16
-    dw 96, 96, 96, 96, 96, 96, 96, 96, 32, 32, 32, 32, 32, 32, 32, 32
-    dw 80, 80, 80, 80, 80, 80, 80, 80, 48, 48, 48, 48, 48, 48, 48, 48
-    dw 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64
-    dw 48, 48, 48, 48, 48, 48, 48, 48, 80, 80, 80, 80, 80, 80, 80, 80
-    dw 32, 32, 32, 32, 32, 32, 32, 32, 96, 96, 96, 96, 96, 96, 96, 96
-    dw 16, 16, 16, 16, 16, 16, 16, 16, 112, 112, 112, 112, 112, 112, 112, 112
-%endif
diff --git a/vp8/encoder/x86/variance_impl_ssse3.asm b/vp8/encoder/x86/variance_impl_ssse3.asm
index d60d53daae612f582feca1ddd9ba2532293a8edf..33ba51a9164fe567c358ec1dbf29ea7bb1ae2781 100644
--- a/vp8/encoder/x86/variance_impl_ssse3.asm
+++ b/vp8/encoder/x86/variance_impl_ssse3.asm
@@ -353,7 +353,6 @@ align 16
 xmm_bi_rd:
     times 8 dw 64
 align 16
-%if CONFIG_SIXTEENTH_SUBPEL_UV
 vp8_bilinear_filters_ssse3:
     times 8 db 128, 0
     times 8 db 120, 8
@@ -371,14 +370,3 @@ vp8_bilinear_filters_ssse3:
     times 8 db  24, 104
     times 8 db  16, 112
     times 8 db   8, 120
-%else
-vp8_bilinear_filters_ssse3:
-    times 8 db 128, 0
-    times 8 db 112, 16
-    times 8 db 96,  32
-    times 8 db 80,  48
-    times 8 db 64,  64
-    times 8 db 48,  80
-    times 8 db 32,  96
-    times 8 db 16,  112
-%endif
diff --git a/vp8/encoder/x86/variance_mmx.c b/vp8/encoder/x86/variance_mmx.c
index 19264489dfdd287457b2191a9360a2d4a09032a3..7e63acf9b4c932f35c7652455d047cbdf0f9e0a2 100644
--- a/vp8/encoder/x86/variance_mmx.c
+++ b/vp8/encoder/x86/variance_mmx.c
@@ -198,7 +198,6 @@ unsigned int vp8_variance8x16_mmx(
 // the mmx function that does the bilinear filtering and var calculation //
 // int one pass                                                          //
 ///////////////////////////////////////////////////////////////////////////
-#if CONFIG_SIXTEENTH_SUBPEL_UV
 DECLARE_ALIGNED(16, const short, vp8_vp7_bilinear_filters_mmx[16][8]) = {
   { 128, 128, 128, 128,  0,  0,  0,  0 },
   { 120, 120, 120, 120,  8,  8,  8,  8 },
@@ -217,18 +216,6 @@ DECLARE_ALIGNED(16, const short, vp8_vp7_bilinear_filters_mmx[16][8]) = {
   {  16, 16, 16, 16, 112, 112, 112, 112 },
   {   8,  8,  8,  8, 120, 120, 120, 120 }
 };
-#else
-DECLARE_ALIGNED(16, const short, vp8_vp7_bilinear_filters_mmx[8][8]) = {
-  { 128, 128, 128, 128,  0,  0,  0,  0 },
-  { 112, 112, 112, 112, 16, 16, 16, 16 },
-  {  96, 96, 96, 96, 32, 32, 32, 32 },
-  {  80, 80, 80, 80, 48, 48, 48, 48 },
-  {  64, 64, 64, 64, 64, 64, 64, 64 },
-  {  48, 48, 48, 48, 80, 80, 80, 80 },
-  {  32, 32, 32, 32, 96, 96, 96, 96 },
-  {  16, 16, 16, 16, 112, 112, 112, 112 }
-};
-#endif
 
 unsigned int vp8_sub_pixel_variance4x4_mmx
 (
@@ -392,13 +379,8 @@ unsigned int vp8_variance_halfpixvar16x16_h_mmx(
   const unsigned char *ref_ptr,
   int  recon_stride,
   unsigned int *sse) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
   return vp8_sub_pixel_variance16x16_mmx(src_ptr, source_stride, 8, 0,
                                          ref_ptr, recon_stride, sse);
-#else
-  return vp8_sub_pixel_variance16x16_mmx(src_ptr, source_stride, 4, 0,
-                                         ref_ptr, recon_stride, sse);
-#endif
 }
 
 
@@ -408,13 +390,8 @@ unsigned int vp8_variance_halfpixvar16x16_v_mmx(
   const unsigned char *ref_ptr,
   int  recon_stride,
   unsigned int *sse) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
   return vp8_sub_pixel_variance16x16_mmx(src_ptr, source_stride, 0, 8,
                                          ref_ptr, recon_stride, sse);
-#else
-  return vp8_sub_pixel_variance16x16_mmx(src_ptr, source_stride, 0, 4,
-                                         ref_ptr, recon_stride, sse);
-#endif
 }
 
 
@@ -424,11 +401,6 @@ unsigned int vp8_variance_halfpixvar16x16_hv_mmx(
   const unsigned char *ref_ptr,
   int  recon_stride,
   unsigned int *sse) {
-#if CONFIG_SIXTEENTH_SUBPEL_UV
   return vp8_sub_pixel_variance16x16_mmx(src_ptr, source_stride, 8, 8,
                                          ref_ptr, recon_stride, sse);
-#else
-  return vp8_sub_pixel_variance16x16_mmx(src_ptr, source_stride, 4, 4,
-                                         ref_ptr, recon_stride, sse);
-#endif
 }
diff --git a/vp8/encoder/x86/variance_sse2.c b/vp8/encoder/x86/variance_sse2.c
index 0d6b2372e6612872d16ef5976c42b6bbbfec119f..6dbc70b80b9f1c5ce8fa0dfeab72d1df8eb5cda8 100644
--- a/vp8/encoder/x86/variance_sse2.c
+++ b/vp8/encoder/x86/variance_sse2.c
@@ -13,11 +13,7 @@
 #include "vp8/common/pragmas.h"
 #include "vpx_ports/mem.h"
 
-#if CONFIG_SIXTEENTH_SUBPEL_UV
 #define HALFNDX 8
-#else
-#define HALFNDX 4
-#endif
 
 extern void filter_block1d_h6_mmx(const unsigned char *src_ptr, unsigned short *output_ptr, unsigned int src_pixels_per_line, unsigned int pixel_step, unsigned int output_height, unsigned int output_width, short *vp7_filter);
 extern void filter_block1d_v6_mmx(const short *src_ptr, unsigned char *output_ptr, unsigned int pixels_per_line, unsigned int pixel_step, unsigned int output_height, unsigned int output_width, short *vp7_filter);
@@ -141,11 +137,7 @@ void vp8_half_vert_variance16x_h_sse2
   unsigned int *sumsquared
 );
 
-#if CONFIG_SIXTEENTH_SUBPEL_UV
 DECLARE_ALIGNED(16, extern short, vp8_vp7_bilinear_filters_mmx[16][8]);
-#else
-DECLARE_ALIGNED(16, extern short, vp8_vp7_bilinear_filters_mmx[8][8]);
-#endif
 
 unsigned int vp8_variance4x4_wmt(
   const unsigned char *src_ptr,
diff --git a/vp8/encoder/x86/variance_ssse3.c b/vp8/encoder/x86/variance_ssse3.c
index fc3b313f65bafe6d80df35dc29bc5622366c198c..2e85017f142d666585d49b656afd69853d694ca9 100644
--- a/vp8/encoder/x86/variance_ssse3.c
+++ b/vp8/encoder/x86/variance_ssse3.c
@@ -13,11 +13,7 @@
 #include "vp8/common/pragmas.h"
 #include "vpx_ports/mem.h"
 
-#if CONFIG_SIXTEENTH_SUBPEL_UV
 #define HALFNDX 8
-#else
-#define HALFNDX 4
-#endif
 
 extern unsigned int vp8_get16x16var_sse2
 (