shithub: libvpx

Download patch

ref: b72ab88d75868c2ff7aaf1c32cabb88f55e73a64
parent: 1335ac307186e739ce48e868d9131669bfc3d83c
parent: 57d521a09585dc4ddd8ca280339450e1f3eaf70c
author: Deb Mukherjee <debargha@google.com>
date: Tue Jan 31 11:40:41 EST 2012

Merge "Refining the 8-tap interpolation filters." into experimental

--- a/vp8/common/filter.c
+++ b/vp8/common/filter.c
@@ -26,17 +26,37 @@
 };
 
 #if CONFIG_ENHANCED_INTERP
-#define FILTER_ALPHA 75
+#define FILTER_ALPHA 90
 DECLARE_ALIGNED(16, const short, vp8_sub_pel_filters[8][2*INTERP_EXTEND]) =
 {
     /* Generated using MATLAB:
-     * alpha = 0.75;
+     * alpha = 0.9;
      * b=intfilt(8,4,alpha);
      * bi=round(128*b);
      * ba=flipud(reshape([bi 0], 8, 8));
      * disp(num2str(ba, '%d,'))
      */
-#if FILTER_ALPHA == 75
+#if FILTER_ALPHA == 90
+    /* alpha = 0.90 */
+    { 0,   0,   0, 128,   0,   0,   0,  0},
+    {-3,   6, -13, 125,  18,  -8,   5, -2},
+    {-5,  11, -21, 115,  39, -15,   9, -5},
+    {-7,  14, -25, 100,  61, -21,  13, -7},
+    {-7,  14, -25,  82,  82, -25,  14, -7},
+    {-7,  13, -21,  61, 100, -25,  14, -7},
+    {-5,   9, -15,  39, 115, -21,  11, -5},
+    {-2,   5,  -8,  18, 125, -13,   6, -3}
+#elif FILTER_ALPHA == 85
+    /* alpha = 0.85 */
+    { 0,   0,   0, 128,   0,   0,   0,  0},
+    {-2,   5, -12, 124,  18,  -7,   4, -2},
+    {-4,  10, -20, 114,  39, -15,   8, -4},
+    {-5,  12, -24, 100,  60, -21,  11, -5},
+    {-5,  12, -24,  81,  81, -24,  12, -5},
+    {-5,  11, -21,  60, 100, -24,  12, -5},
+    {-4,   8, -15,  39, 114, -20,  10, -4},
+    {-2,   4,  -7,  18, 124, -12,   5, -2}
+#elif FILTER_ALPHA == 75
     /* alpha = 0.75 */
     { 0,   0,   0, 128,   0,   0,   0,   0},
     {-1,   4, -11, 123,  18,  -7,   3,  -1},
@@ -46,26 +66,6 @@
     {-3,   8, -19,  59,  98, -22,   9,  -3},
     {-2,   6, -14,  38, 113, -19,   7,  -2},
     {-1,   3,  -7,  18, 123, -11,   4,  -1}
-#elif FILTER_ALPHA == 625
-    /* alpha = 0.625 */
-    { 0,   0,   0, 128,   0,   0,   0,   0},
-    {-1,   3, -10, 123,  18,  -6,   2,  -1},
-    {-1,   5, -17, 112,  38, -12,   4,  -1},
-    {-1,   6, -20,  97,  58, -17,   6,  -1},
-    {-2,   7, -20,  79,  79, -20,   7,  -2},
-    {-1,   6, -17,  58,  97, -20,   6,  -1},
-    {-1,   4, -12,  38, 112, -17,   5,  -1},
-    {-1,   2,  -6,  18, 123, -10,   3,  -1}
-#elif FILTER_ALPHA == 50
-    /* alpha = 0.5 */
-    { 0,   0,   0, 128,   0,   0,   0,   0},
-    { 0,   2, -10, 122,  18,  -6,   2,   0},
-    {-1,   4, -16, 112,  37, -11,   3,  -1},
-    {-1,   5, -18,  96,  58, -16,   4,  -1},
-    {-1,   5, -18,  78,  78, -18,   5,  -1},
-    {-1,   4, -16,  58,  96, -18,   5,  -1},
-    {-1,   3, -11,  37, 112, -16,   4,  -1},
-    { 0,   2,  -6,  18, 122, -10,   2,   0}
 #endif
 };
 #else