1 /* 2 * Copyright (c) 2010 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_VP9_ENCODER_VP9_TEMPORAL_FILTER_H_ 12 #define VPX_VP9_ENCODER_VP9_TEMPORAL_FILTER_H_ 13 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 17 18 #define ARNR_FILT_QINDEX 128 19 static const MV kZeroMv = { 0, 0 }; 20 21 // Block size used in temporal filtering 22 #define TF_BLOCK BLOCK_32X32 23 #define BH 32 24 #define BH_LOG2 5 25 #define BW 32 26 #define BW_LOG2 5 27 #define BLK_PELS ((BH) * (BW)) // Pixels in the block 28 #define TF_SHIFT 2 29 #define TF_ROUND 3 30 #define THR_SHIFT 2 31 #define TF_SUB_BLOCK BLOCK_16X16 32 #define SUB_BH 16 33 #define SUB_BW 16 34 35 void vp9_temporal_filter_init(void); 36 void vp9_temporal_filter(VP9_COMP *cpi, int distance); 37 38 void vp9_temporal_filter_iterate_row_c(VP9_COMP *cpi, ThreadData *td, 39 int mb_row, int mb_col_start, 40 int mb_col_end); 41 42 #ifdef __cplusplus 43 } // extern "C" 44 #endif 45 46 #endif // VPX_VP9_ENCODER_VP9_TEMPORAL_FILTER_H_ 47