Commit c5840a8d authored by Deb Mukherjee's avatar Deb Mukherjee Committed by Gerrit Code Review
Browse files

Merge "Reoptimizing the interpolation filters" into experimental

Showing with 45 additions and 21 deletions
...@@ -34,8 +34,9 @@ DECLARE_ALIGNED(256, const int16_t, vp9_bilinear_filters[SUBPEL_SHIFTS][8]) = { ...@@ -34,8 +34,9 @@ DECLARE_ALIGNED(256, const int16_t, vp9_bilinear_filters[SUBPEL_SHIFTS][8]) = {
{ 0, 0, 0, 8, 120, 0, 0, 0 } { 0, 0, 0, 8, 120, 0, 0, 0 }
}; };
#define FILTER_ALPHA 0 #define FILTER_ALPHA 0
#define FILTER_ALPHA_SHARP 1 #define FILTER_ALPHA_SHARP 0
#define FILTER_ALPHA_SMOOTH 50
DECLARE_ALIGNED(256, const int16_t, vp9_sub_pel_filters_8[SUBPEL_SHIFTS][8]) DECLARE_ALIGNED(256, const int16_t, vp9_sub_pel_filters_8[SUBPEL_SHIFTS][8])
= { = {
#if FILTER_ALPHA == 0 #if FILTER_ALPHA == 0
...@@ -81,12 +82,13 @@ DECLARE_ALIGNED(256, const int16_t, vp9_sub_pel_filters_8[SUBPEL_SHIFTS][8]) ...@@ -81,12 +82,13 @@ DECLARE_ALIGNED(256, const int16_t, vp9_sub_pel_filters_8[SUBPEL_SHIFTS][8])
{ 0, 3, -9, 27, 118, -13, 3, -1}, { 0, 3, -9, 27, 118, -13, 3, -1},
{ 0, 2, -6, 18, 122, -10, 2, 0}, { 0, 2, -6, 18, 122, -10, 2, 0},
{ 0, 1, -3, 8, 126, -5, 1, 0} { 0, 1, -3, 8, 126, -5, 1, 0}
#endif /* FILTER_ALPHA */ #endif /* FILTER_ALPHA */
}; };
DECLARE_ALIGNED(256, const int16_t, vp9_sub_pel_filters_8s[SUBPEL_SHIFTS][8]) DECLARE_ALIGNED(256, const int16_t, vp9_sub_pel_filters_8s[SUBPEL_SHIFTS][8])
= { = {
#if FILTER_ALPHA_SHARP == 1 #if FILTER_ALPHA_SHARP == 0
/* dct based filter */ /* dct based filter */
{0, 0, 0, 128, 0, 0, 0, 0}, {0, 0, 0, 128, 0, 0, 0, 0},
{-1, 3, -7, 127, 8, -3, 1, 0}, {-1, 3, -7, 127, 8, -3, 1, 0},
...@@ -105,24 +107,24 @@ DECLARE_ALIGNED(256, const int16_t, vp9_sub_pel_filters_8s[SUBPEL_SHIFTS][8]) ...@@ -105,24 +107,24 @@ DECLARE_ALIGNED(256, const int16_t, vp9_sub_pel_filters_8s[SUBPEL_SHIFTS][8])
{-1, 3, -6, 17, 125, -13, 5, -2}, {-1, 3, -6, 17, 125, -13, 5, -2},
{0, 1, -3, 8, 127, -7, 3, -1} {0, 1, -3, 8, 127, -7, 3, -1}
#elif FILTER_ALPHA_SHARP == 75 #elif FILTER_ALPHA_SHARP == 80
/* alpha = 0.75 */ /* alpha = 0.80 */
{0, 0, 0, 128, 0, 0, 0, 0}, { 0, 0, 0, 128, 0, 0, 0, 0},
{-1, 2, -6, 126, 9, -3, 2, -1}, {-1, 2, -6, 127, 9, -4, 2, -1},
{-1, 4, -11, 123, 18, -7, 3, -1}, {-2, 5, -12, 124, 18, -7, 4, -2},
{-2, 6, -16, 119, 28, -10, 5, -2}, {-2, 7, -16, 119, 28, -11, 5, -2},
{-2, 7, -19, 113, 38, -13, 6, -2}, {-3, 8, -19, 114, 38, -14, 7, -3},
{-3, 8, -21, 106, 49, -16, 7, -2}, {-3, 9, -22, 107, 49, -17, 8, -3},
{-3, 9, -22, 99, 59, -19, 8, -3}, {-4, 10, -23, 99, 60, -20, 10, -4},
{-3, 9, -23, 90, 70, -21, 9, -3}, {-4, 11, -23, 90, 70, -22, 10, -4},
{-3, 9, -22, 80, 80, -22, 9, -3}, {-4, 11, -23, 80, 80, -23, 11, -4},
{-3, 9, -21, 70, 90, -23, 9, -3}, {-4, 10, -22, 70, 90, -23, 11, -4},
{-3, 8, -19, 59, 99, -22, 9, -3}, {-4, 10, -20, 60, 99, -23, 10, -4},
{-2, 7, -16, 49, 106, -21, 8, -3}, {-3, 8, -17, 49, 107, -22, 9, -3},
{-2, 6, -13, 38, 113, -19, 7, -2}, {-3, 7, -14, 38, 114, -19, 8, -3},
{-2, 5, -10, 28, 119, -16, 6, -2}, {-2, 5, -11, 28, 119, -16, 7, -2},
{-1, 3, -7, 18, 123, -11, 4, -1}, {-2, 4, -7, 18, 124, -12, 5, -2},
{-1, 2, -3, 9, 126, -6, 2, -1} {-1, 2, -4, 9, 127, -6, 2, -1}
#endif /* FILTER_ALPHA_SHARP */ #endif /* FILTER_ALPHA_SHARP */
}; };
...@@ -130,6 +132,8 @@ DECLARE_ALIGNED(256, const int16_t, ...@@ -130,6 +132,8 @@ DECLARE_ALIGNED(256, const int16_t,
vp9_sub_pel_filters_8lp[SUBPEL_SHIFTS][8]) = { vp9_sub_pel_filters_8lp[SUBPEL_SHIFTS][8]) = {
/* 8-tap lowpass filter */ /* 8-tap lowpass filter */
/* Hamming window */ /* Hamming window */
/* freqmultiplier = 0.625 */
#if FILTER_ALPHA_SMOOTH == 625
{-1, -7, 32, 80, 32, -7, -1, 0}, {-1, -7, 32, 80, 32, -7, -1, 0},
{-1, -8, 28, 80, 37, -7, -2, 1}, {-1, -8, 28, 80, 37, -7, -2, 1},
{ 0, -8, 24, 79, 41, -7, -2, 1}, { 0, -8, 24, 79, 41, -7, -2, 1},
...@@ -146,6 +150,26 @@ DECLARE_ALIGNED(256, const int16_t, ...@@ -146,6 +150,26 @@ DECLARE_ALIGNED(256, const int16_t,
{ 1, -3, -5, 45, 78, 20, -8, 0}, { 1, -3, -5, 45, 78, 20, -8, 0},
{ 1, -2, -7, 41, 79, 24, -8, 0}, { 1, -2, -7, 41, 79, 24, -8, 0},
{ 1, -2, -7, 37, 80, 28, -8, -1} { 1, -2, -7, 37, 80, 28, -8, -1}
#elif FILTER_ALPHA_SMOOTH == 50
/* freqmultiplier = 0.5 */
{-3, 0, 35, 64, 35, 0, -3, 0},
{-3, -1, 32, 64, 38, 1, -3, 0},
{-2, -2, 29, 63, 41, 2, -3, 0},
{-2, -2, 26, 63, 43, 4, -4, 0},
{-2, -3, 24, 62, 46, 5, -4, 0},
{-2, -3, 21, 60, 49, 7, -4, 0},
{-1, -4, 18, 59, 51, 9, -4, 0},
{-1, -4, 16, 57, 53, 12, -4, -1},
{-1, -4, 14, 55, 55, 14, -4, -1},
{-1, -4, 12, 53, 57, 16, -4, -1},
{0, -4, 9, 51, 59, 18, -4, -1},
{0, -4, 7, 49, 60, 21, -3, -2},
{0, -4, 5, 46, 62, 24, -3, -2},
{0, -4, 4, 43, 63, 26, -2, -2},
{0, -3, 2, 41, 63, 29, -2, -2},
{0, -3, 1, 38, 64, 32, -1, -3}
#endif
}; };
DECLARE_ALIGNED(256, const int16_t, vp9_sub_pel_filters_6[SUBPEL_SHIFTS][8]) DECLARE_ALIGNED(256, const int16_t, vp9_sub_pel_filters_6[SUBPEL_SHIFTS][8])
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment