| /* |
| * Copyright (c) 2016 The WebM project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| #include "./vpx_config.h" |
| #include "vp10/common/filter.h" |
| |
| #if CONFIG_VP9_HIGHBITDEPTH |
| #if CONFIG_EXT_INTERP |
| DECLARE_ALIGNED(16, const int16_t, |
| sub_pel_filters_10sharp_highbd_ver_signal_dir[15][6][8]) = { |
| { |
| { 0, 0, 0, 0, 0, 0, 0, 0, }, |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -6, 127, -6, 127, -6, 127, -6, 127, }, |
| { 8, -4, 8, -4, 8, -4, 8, -4, }, |
| { 2, -1, 2, -1, 2, -1, 2, -1, }, |
| { 0, 0, 0, 0, 0, 0, 0, 0, }, |
| }, |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -2, 5, -2, 5, -2, 5, -2, 5, }, |
| {-12, 124, -12, 124, -12, 124, -12, 124, }, |
| { 18, -7, 18, -7, 18, -7, 18, -7, }, |
| { 3, -2, 3, -2, 3, -2, 3, -2, }, |
| { 0, 0, 0, 0, 0, 0, 0, 0, }, |
| }, |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -3, 7, -3, 7, -3, 7, -3, 7, }, |
| {-17, 119, -17, 119, -17, 119, -17, 119, }, |
| { 28, -11, 28, -11, 28, -11, 28, -11, }, |
| { 5, -2, 5, -2, 5, -2, 5, -2, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -4, 8, -4, 8, -4, 8, -4, 8, }, |
| {-20, 114, -20, 114, -20, 114, -20, 114, }, |
| { 38, -14, 38, -14, 38, -14, 38, -14, }, |
| { 7, -3, 7, -3, 7, -3, 7, -3, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -4, 9, -4, 9, -4, 9, -4, 9, }, |
| {-22, 107, -22, 107, -22, 107, -22, 107, }, |
| { 49, -17, 49, -17, 49, -17, 49, -17, }, |
| { 8, -4, 8, -4, 8, -4, 8, -4, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| { |
| { 0, 2, 0, 2, 0, 2, 0, 2, }, |
| { -5, 10, -5, 10, -5, 10, -5, 10, }, |
| {-24, 99, -24, 99, -24, 99, -24, 99, }, |
| { 59, -20, 59, -20, 59, -20, 59, -20, }, |
| { 9, -4, 9, -4, 9, -4, 9, -4, }, |
| { 2, 0, 2, 0, 2, 0, 2, 0, }, |
| }, |
| { |
| { 0, 2, 0, 2, 0, 2, 0, 2, }, |
| { -5, 10, -5, 10, -5, 10, -5, 10, }, |
| {-24, 90, -24, 90, -24, 90, -24, 90, }, |
| { 70, -22, 70, -22, 70, -22, 70, -22, }, |
| { 10, -5, 10, -5, 10, -5, 10, -5, }, |
| { 2, 0, 2, 0, 2, 0, 2, 0, }, |
| }, |
| { |
| { 0, 2, 0, 2, 0, 2, 0, 2, }, |
| { -5, 10, -5, 10, -5, 10, -5, 10, }, |
| {-23, 80, -23, 80, -23, 80, -23, 80, }, |
| { 80, -23, 80, -23, 80, -23, 80, -23, }, |
| { 10, -5, 10, -5, 10, -5, 10, -5, }, |
| { 2, 0, 2, 0, 2, 0, 2, 0, }, |
| }, |
| { |
| { 0, 2, 0, 2, 0, 2, 0, 2, }, |
| { -5, 10, -5, 10, -5, 10, -5, 10, }, |
| {-22, 70, -22, 70, -22, 70, -22, 70, }, |
| { 90, -24, 90, -24, 90, -24, 90, -24, }, |
| { 10, -5, 10, -5, 10, -5, 10, -5, }, |
| { 2, 0, 2, 0, 2, 0, 2, 0, }, |
| }, |
| { |
| { 0, 2, 0, 2, 0, 2, 0, 2, }, |
| { -4, 9, -4, 9, -4, 9, -4, 9, }, |
| {-20, 59, -20, 59, -20, 59, -20, 59, }, |
| { 99, -24, 99, -24, 99, -24, 99, -24, }, |
| { 10, -5, 10, -5, 10, -5, 10, -5, }, |
| { 2, 0, 2, 0, 2, 0, 2, 0, }, |
| }, |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -4, 8, -4, 8, -4, 8, -4, 8, }, |
| {-17, 49, -17, 49, -17, 49, -17, 49, }, |
| {107, -22, 107, -22, 107, -22, 107, -22, }, |
| { 9, -4, 9, -4, 9, -4, 9, -4, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -3, 7, -3, 7, -3, 7, -3, 7, }, |
| {-14, 38, -14, 38, -14, 38, -14, 38, }, |
| {114, -20, 114, -20, 114, -20, 114, -20, }, |
| { 8, -4, 8, -4, 8, -4, 8, -4, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -2, 5, -2, 5, -2, 5, -2, 5, }, |
| {-11, 28, -11, 28, -11, 28, -11, 28, }, |
| {119, -17, 119, -17, 119, -17, 119, -17, }, |
| { 7, -3, 7, -3, 7, -3, 7, -3, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| { |
| { 0, 0, 0, 0, 0, 0, 0, 0, }, |
| { -2, 3, -2, 3, -2, 3, -2, 3, }, |
| { -7, 18, -7, 18, -7, 18, -7, 18, }, |
| {124, -12, 124, -12, 124, -12, 124, -12, }, |
| { 5, -2, 5, -2, 5, -2, 5, -2, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| { |
| { 0, 0, 0, 0, 0, 0, 0, 0, }, |
| { -1, 2, -1, 2, -1, 2, -1, 2, }, |
| { -4, 8, -4, 8, -4, 8, -4, 8, }, |
| {127, -6, 127, -6, 127, -6, 127, -6, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| { 0, 0, 0, 0, 0, 0, 0, 0, }, |
| }, |
| }; |
| #endif |
| #endif |
| #if CONFIG_VP9_HIGHBITDEPTH |
| #if CONFIG_EXT_INTERP |
| DECLARE_ALIGNED(16, const int16_t, |
| sub_pel_filters_12sharp_highbd_ver_signal_dir[15][6][8]) = { |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -2, 3, -2, 3, -2, 3, -2, 3, }, |
| { -7, 127, -7, 127, -7, 127, -7, 127, }, |
| { 8, -4, 8, -4, 8, -4, 8, -4, }, |
| { 2, -1, 2, -1, 2, -1, 2, -1, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| { |
| { -1, 2, -1, 2, -1, 2, -1, 2, }, |
| { -3, 6, -3, 6, -3, 6, -3, 6, }, |
| {-13, 124, -13, 124, -13, 124, -13, 124, }, |
| { 18, -8, 18, -8, 18, -8, 18, -8, }, |
| { 4, -2, 4, -2, 4, -2, 4, -2, }, |
| { 2, -1, 2, -1, 2, -1, 2, -1, }, |
| }, |
| { |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -4, 8, -4, 8, -4, 8, -4, 8, }, |
| {-18, 120, -18, 120, -18, 120, -18, 120, }, |
| { 28, -12, 28, -12, 28, -12, 28, -12, }, |
| { 7, -4, 7, -4, 7, -4, 7, -4, }, |
| { 2, -1, 2, -1, 2, -1, 2, -1, }, |
| }, |
| { |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -6, 10, -6, 10, -6, 10, -6, 10, }, |
| {-21, 115, -21, 115, -21, 115, -21, 115, }, |
| { 38, -15, 38, -15, 38, -15, 38, -15, }, |
| { 8, -5, 8, -5, 8, -5, 8, -5, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| }, |
| { |
| { -2, 4, -2, 4, -2, 4, -2, 4, }, |
| { -6, 12, -6, 12, -6, 12, -6, 12, }, |
| {-24, 108, -24, 108, -24, 108, -24, 108, }, |
| { 49, -18, 49, -18, 49, -18, 49, -18, }, |
| { 10, -6, 10, -6, 10, -6, 10, -6, }, |
| { 3, -2, 3, -2, 3, -2, 3, -2, }, |
| }, |
| { |
| { -2, 4, -2, 4, -2, 4, -2, 4, }, |
| { -7, 13, -7, 13, -7, 13, -7, 13, }, |
| {-25, 100, -25, 100, -25, 100, -25, 100, }, |
| { 60, -21, 60, -21, 60, -21, 60, -21, }, |
| { 11, -7, 11, -7, 11, -7, 11, -7, }, |
| { 4, -2, 4, -2, 4, -2, 4, -2, }, |
| }, |
| { |
| { -2, 4, -2, 4, -2, 4, -2, 4, }, |
| { -7, 13, -7, 13, -7, 13, -7, 13, }, |
| {-26, 91, -26, 91, -26, 91, -26, 91, }, |
| { 71, -24, 71, -24, 71, -24, 71, -24, }, |
| { 13, -7, 13, -7, 13, -7, 13, -7, }, |
| { 4, -2, 4, -2, 4, -2, 4, -2, }, |
| }, |
| { |
| { -2, 4, -2, 4, -2, 4, -2, 4, }, |
| { -7, 13, -7, 13, -7, 13, -7, 13, }, |
| {-25, 81, -25, 81, -25, 81, -25, 81, }, |
| { 81, -25, 81, -25, 81, -25, 81, -25, }, |
| { 13, -7, 13, -7, 13, -7, 13, -7, }, |
| { 4, -2, 4, -2, 4, -2, 4, -2, }, |
| }, |
| { |
| { -2, 4, -2, 4, -2, 4, -2, 4, }, |
| { -7, 13, -7, 13, -7, 13, -7, 13, }, |
| {-24, 71, -24, 71, -24, 71, -24, 71, }, |
| { 91, -26, 91, -26, 91, -26, 91, -26, }, |
| { 13, -7, 13, -7, 13, -7, 13, -7, }, |
| { 4, -2, 4, -2, 4, -2, 4, -2, }, |
| }, |
| { |
| { -2, 4, -2, 4, -2, 4, -2, 4, }, |
| { -7, 11, -7, 11, -7, 11, -7, 11, }, |
| {-21, 60, -21, 60, -21, 60, -21, 60, }, |
| {100, -25, 100, -25, 100, -25, 100, -25, }, |
| { 13, -7, 13, -7, 13, -7, 13, -7, }, |
| { 4, -2, 4, -2, 4, -2, 4, -2, }, |
| }, |
| { |
| { -2, 3, -2, 3, -2, 3, -2, 3, }, |
| { -6, 10, -6, 10, -6, 10, -6, 10, }, |
| {-18, 49, -18, 49, -18, 49, -18, 49, }, |
| {108, -24, 108, -24, 108, -24, 108, -24, }, |
| { 12, -6, 12, -6, 12, -6, 12, -6, }, |
| { 4, -2, 4, -2, 4, -2, 4, -2, }, |
| }, |
| { |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -5, 8, -5, 8, -5, 8, -5, 8, }, |
| {-15, 38, -15, 38, -15, 38, -15, 38, }, |
| {115, -21, 115, -21, 115, -21, 115, -21, }, |
| { 10, -6, 10, -6, 10, -6, 10, -6, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| }, |
| { |
| { -1, 2, -1, 2, -1, 2, -1, 2, }, |
| { -4, 7, -4, 7, -4, 7, -4, 7, }, |
| {-12, 28, -12, 28, -12, 28, -12, 28, }, |
| {120, -18, 120, -18, 120, -18, 120, -18, }, |
| { 8, -4, 8, -4, 8, -4, 8, -4, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| }, |
| { |
| { -1, 2, -1, 2, -1, 2, -1, 2, }, |
| { -2, 4, -2, 4, -2, 4, -2, 4, }, |
| { -8, 18, -8, 18, -8, 18, -8, 18, }, |
| {124, -13, 124, -13, 124, -13, 124, -13, }, |
| { 6, -3, 6, -3, 6, -3, 6, -3, }, |
| { 2, -1, 2, -1, 2, -1, 2, -1, }, |
| }, |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -1, 2, -1, 2, -1, 2, -1, 2, }, |
| { -4, 8, -4, 8, -4, 8, -4, 8, }, |
| {127, -7, 127, -7, 127, -7, 127, -7, }, |
| { 3, -2, 3, -2, 3, -2, 3, -2, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| }; |
| #endif |
| #endif |
| #if CONFIG_VP9_HIGHBITDEPTH |
| #if USE_TEMPORALFILTER_12TAP |
| DECLARE_ALIGNED(16, const int16_t, |
| sub_pel_filters_temporalfilter_12_highbd_ver_signal_dir[15][6][8]) = { |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -7, 127, -7, 127, -7, 127, -7, 127, }, |
| { 8, -4, 8, -4, 8, -4, 8, -4, }, |
| { 2, -1, 2, -1, 2, -1, 2, -1, }, |
| { 0, 0, 0, 0, 0, 0, 0, 0, }, |
| }, |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -3, 5, -3, 5, -3, 5, -3, 5, }, |
| {-12, 124, -12, 124, -12, 124, -12, 124, }, |
| { 18, -8, 18, -8, 18, -8, 18, -8, }, |
| { 4, -2, 4, -2, 4, -2, 4, -2, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| { |
| { -1, 2, -1, 2, -1, 2, -1, 2, }, |
| { -4, 8, -4, 8, -4, 8, -4, 8, }, |
| {-17, 120, -17, 120, -17, 120, -17, 120, }, |
| { 28, -11, 28, -11, 28, -11, 28, -11, }, |
| { 6, -3, 6, -3, 6, -3, 6, -3, }, |
| { 1, -1, 1, -1, 1, -1, 1, -1, }, |
| }, |
| { |
| { -1, 2, -1, 2, -1, 2, -1, 2, }, |
| { -4, 10, -4, 10, -4, 10, -4, 10, }, |
| {-21, 114, -21, 114, -21, 114, -21, 114, }, |
| { 38, -15, 38, -15, 38, -15, 38, -15, }, |
| { 8, -4, 8, -4, 8, -4, 8, -4, }, |
| { 2, -1, 2, -1, 2, -1, 2, -1, }, |
| }, |
| { |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -5, 11, -5, 11, -5, 11, -5, 11, }, |
| {-23, 107, -23, 107, -23, 107, -23, 107, }, |
| { 49, -18, 49, -18, 49, -18, 49, -18, }, |
| { 9, -5, 9, -5, 9, -5, 9, -5, }, |
| { 2, -1, 2, -1, 2, -1, 2, -1, }, |
| }, |
| { |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -6, 12, -6, 12, -6, 12, -6, 12, }, |
| {-25, 99, -25, 99, -25, 99, -25, 99, }, |
| { 60, -21, 60, -21, 60, -21, 60, -21, }, |
| { 11, -6, 11, -6, 11, -6, 11, -6, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| }, |
| { |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -6, 12, -6, 12, -6, 12, -6, 12, }, |
| {-25, 90, -25, 90, -25, 90, -25, 90, }, |
| { 70, -23, 70, -23, 70, -23, 70, -23, }, |
| { 12, -6, 12, -6, 12, -6, 12, -6, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| }, |
| { |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -6, 12, -6, 12, -6, 12, -6, 12, }, |
| {-24, 80, -24, 80, -24, 80, -24, 80, }, |
| { 80, -24, 80, -24, 80, -24, 80, -24, }, |
| { 12, -6, 12, -6, 12, -6, 12, -6, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| }, |
| { |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -6, 12, -6, 12, -6, 12, -6, 12, }, |
| {-23, 70, -23, 70, -23, 70, -23, 70, }, |
| { 90, -25, 90, -25, 90, -25, 90, -25, }, |
| { 12, -6, 12, -6, 12, -6, 12, -6, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| }, |
| { |
| { -1, 3, -1, 3, -1, 3, -1, 3, }, |
| { -6, 11, -6, 11, -6, 11, -6, 11, }, |
| {-21, 60, -21, 60, -21, 60, -21, 60, }, |
| { 99, -25, 99, -25, 99, -25, 99, -25, }, |
| { 12, -6, 12, -6, 12, -6, 12, -6, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| }, |
| { |
| { -1, 2, -1, 2, -1, 2, -1, 2, }, |
| { -5, 9, -5, 9, -5, 9, -5, 9, }, |
| {-18, 49, -18, 49, -18, 49, -18, 49, }, |
| {107, -23, 107, -23, 107, -23, 107, -23, }, |
| { 11, -5, 11, -5, 11, -5, 11, -5, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| }, |
| { |
| { -1, 2, -1, 2, -1, 2, -1, 2, }, |
| { -4, 8, -4, 8, -4, 8, -4, 8, }, |
| {-15, 38, -15, 38, -15, 38, -15, 38, }, |
| {114, -21, 114, -21, 114, -21, 114, -21, }, |
| { 10, -4, 10, -4, 10, -4, 10, -4, }, |
| { 2, -1, 2, -1, 2, -1, 2, -1, }, |
| }, |
| { |
| { -1, 1, -1, 1, -1, 1, -1, 1, }, |
| { -3, 6, -3, 6, -3, 6, -3, 6, }, |
| {-11, 28, -11, 28, -11, 28, -11, 28, }, |
| {120, -17, 120, -17, 120, -17, 120, -17, }, |
| { 8, -4, 8, -4, 8, -4, 8, -4, }, |
| { 2, -1, 2, -1, 2, -1, 2, -1, }, |
| }, |
| { |
| { 0, 1, 0, 1, 0, 1, 0, 1, }, |
| { -2, 4, -2, 4, -2, 4, -2, 4, }, |
| { -8, 18, -8, 18, -8, 18, -8, 18, }, |
| {124, -12, 124, -12, 124, -12, 124, -12, }, |
| { 5, -3, 5, -3, 5, -3, 5, -3, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| { |
| { 0, 0, 0, 0, 0, 0, 0, 0, }, |
| { -1, 2, -1, 2, -1, 2, -1, 2, }, |
| { -4, 8, -4, 8, -4, 8, -4, 8, }, |
| {127, -7, 127, -7, 127, -7, 127, -7, }, |
| { 3, -1, 3, -1, 3, -1, 3, -1, }, |
| { 1, 0, 1, 0, 1, 0, 1, 0, }, |
| }, |
| }; |
| #endif |
| #endif |