• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Copyright (c) 2015 The WebM project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 #ifndef VPX_VPX_DSP_VPX_FILTER_H_
12 #define VPX_VPX_DSP_VPX_FILTER_H_
13 
14 #include <assert.h>
15 #include "vpx/vpx_integer.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #define FILTER_BITS 7
22 
23 #define SUBPEL_BITS 4
24 #define SUBPEL_MASK ((1 << SUBPEL_BITS) - 1)
25 #define SUBPEL_SHIFTS (1 << SUBPEL_BITS)
26 #define SUBPEL_TAPS 8
27 
28 typedef int16_t InterpKernel[SUBPEL_TAPS];
29 
vpx_get_filter_taps(const int16_t * const filter)30 static INLINE int vpx_get_filter_taps(const int16_t *const filter) {
31   assert(filter[3] != 128);
32   if (!filter[0] && !filter[1] && !filter[2])
33     return 2;
34   else
35     return 8;
36 }
37 
38 #ifdef __cplusplus
39 }  // extern "C"
40 #endif
41 
42 #endif  // VPX_VPX_DSP_VPX_FILTER_H_
43