Use 10 tap for sharp interpolation filter
Performance drop
lowres 0.056%
midres 0.024%
hdres 0.02%
Change-Id: I52d067eefbfb87198319f9d50e3b4060f80a6abb
diff --git a/av1/common/filter.c b/av1/common/filter.c
index 87cfd56..b2f8476 100644
--- a/av1/common/filter.c
+++ b/av1/common/filter.c
@@ -89,24 +89,24 @@
};
DECLARE_ALIGNED(256, static const int16_t,
- sub_pel_filters_12sharp[SUBPEL_SHIFTS][12]) = {
- // intfilt 0.8
- { 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0 },
- { 0, 1, -1, 3, -7, 127, 8, -4, 2, -1, 0, 0 },
- { 0, 1, -3, 5, -12, 124, 18, -8, 4, -2, 1, 0 },
- { -1, 2, -4, 8, -17, 120, 28, -11, 6, -3, 1, -1 },
- { -1, 2, -4, 10, -21, 114, 38, -15, 8, -4, 2, -1 },
- { -1, 3, -5, 11, -23, 107, 49, -18, 9, -5, 2, -1 },
- { -1, 3, -6, 12, -25, 99, 60, -21, 11, -6, 3, -1 },
- { -1, 3, -6, 12, -25, 90, 70, -23, 12, -6, 3, -1 },
- { -1, 3, -6, 12, -24, 80, 80, -24, 12, -6, 3, -1 },
- { -1, 3, -6, 12, -23, 70, 90, -25, 12, -6, 3, -1 },
- { -1, 3, -6, 11, -21, 60, 99, -25, 12, -6, 3, -1 },
- { -1, 2, -5, 9, -18, 49, 107, -23, 11, -5, 3, -1 },
- { -1, 2, -4, 8, -15, 38, 114, -21, 10, -4, 2, -1 },
- { -1, 1, -3, 6, -11, 28, 120, -17, 8, -4, 2, -1 },
- { 0, 1, -2, 4, -8, 18, 124, -12, 5, -3, 1, 0 },
- { 0, 0, -1, 2, -4, 8, 127, -7, 3, -1, 1, 0 },
+ sub_pel_filters_10sharp[SUBPEL_SHIFTS][10]) = {
+ // intfilt 0.85
+ { 0, 0, 0, 0, 128, 0, 0, 0, 0, 0 },
+ { 1, -2, 3, -7, 127, 8, -4, 2, -1, 1 },
+ { 1, -3, 6, -13, 124, 18, -8, 4, -2, 1 },
+ { 2, -4, 8, -18, 120, 28, -12, 6, -4, 2 },
+ { 2, -5, 10, -21, 114, 38, -15, 8, -5, 2 },
+ { 3, -6, 11, -24, 107, 49, -19, 10, -6, 3 },
+ { 3, -7, 12, -25, 99, 59, -21, 11, -6, 3 },
+ { 3, -7, 12, -25, 90, 70, -23, 12, -7, 3 },
+ { 3, -7, 12, -25, 81, 81, -25, 12, -7, 3 },
+ { 3, -7, 12, -23, 70, 90, -25, 12, -7, 3 },
+ { 3, -6, 11, -21, 59, 99, -25, 12, -7, 3 },
+ { 3, -6, 10, -19, 49, 107, -24, 11, -6, 3 },
+ { 2, -5, 8, -15, 38, 114, -21, 10, -5, 2 },
+ { 2, -4, 6, -12, 28, 120, -18, 8, -4, 2 },
+ { 1, -2, 4, -8, 18, 124, -13, 6, -3, 1 },
+ { 1, -1, 2, -4, 8, 127, -7, 3, -2, 1 },
};
DECLARE_ALIGNED(256, static const int16_t,
@@ -271,7 +271,7 @@
EIGHTTAP_REGULAR },
{ (const int16_t *)sub_pel_filters_8smooth, SUBPEL_TAPS, SUBPEL_SHIFTS,
EIGHTTAP_SMOOTH },
- { (const int16_t *)sub_pel_filters_12sharp, 12, SUBPEL_SHIFTS,
+ { (const int16_t *)sub_pel_filters_10sharp, 10, SUBPEL_SHIFTS,
MULTITAP_SHARP },
{ (const int16_t *)sub_pel_filters_8smooth2, SUBPEL_TAPS, SUBPEL_SHIFTS,
EIGHTTAP_SMOOTH2 },