OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 #ifndef VP9_ENCODER_VP9_VARIANCE_H_ | 11 #ifndef VP9_ENCODER_VP9_VARIANCE_H_ |
12 #define VP9_ENCODER_VP9_VARIANCE_H_ | 12 #define VP9_ENCODER_VP9_VARIANCE_H_ |
13 | 13 |
14 #include "vpx/vpx_integer.h" | 14 #include "vpx/vpx_integer.h" |
15 | 15 |
16 #ifdef __cplusplus | 16 #ifdef __cplusplus |
17 extern "C" { | 17 extern "C" { |
18 #endif | 18 #endif |
19 | 19 |
20 void variance(const uint8_t *a, int a_stride, | 20 void variance(const uint8_t *a, int a_stride, |
21 const uint8_t *b, int b_stride, | 21 const uint8_t *b, int b_stride, |
22 int w, int h, | 22 int w, int h, |
23 unsigned int *sse, int *sum); | 23 unsigned int *sse, int *sum); |
24 | 24 |
| 25 #if CONFIG_VP9_HIGHBITDEPTH |
| 26 void high_variance(const uint8_t *a8, int a_stride, |
| 27 const uint8_t *b8, int b_stride, |
| 28 int w, int h, |
| 29 unsigned int *sse, int *sum); |
| 30 |
| 31 void high_10_variance(const uint8_t *a8, int a_stride, |
| 32 const uint8_t *b8, int b_stride, |
| 33 int w, int h, |
| 34 unsigned int *sse, int *sum); |
| 35 |
| 36 void high_12_variance(const uint8_t *a8, int a_stride, |
| 37 const uint8_t *b8, int b_stride, |
| 38 int w, int h, |
| 39 unsigned int *sse, int *sum); |
| 40 #endif |
| 41 |
25 typedef unsigned int(*vp9_sad_fn_t)(const uint8_t *src_ptr, | 42 typedef unsigned int(*vp9_sad_fn_t)(const uint8_t *src_ptr, |
26 int source_stride, | 43 int source_stride, |
27 const uint8_t *ref_ptr, | 44 const uint8_t *ref_ptr, |
28 int ref_stride); | 45 int ref_stride); |
29 | 46 |
30 typedef unsigned int(*vp9_sad_avg_fn_t)(const uint8_t *src_ptr, | 47 typedef unsigned int(*vp9_sad_avg_fn_t)(const uint8_t *src_ptr, |
31 int source_stride, | 48 int source_stride, |
32 const uint8_t *ref_ptr, | 49 const uint8_t *ref_ptr, |
33 int ref_stride, | 50 int ref_stride, |
34 const uint8_t *second_pred); | 51 const uint8_t *second_pred); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 vp9_subpixvariance_fn_t svf; | 91 vp9_subpixvariance_fn_t svf; |
75 vp9_subp_avg_variance_fn_t svaf; | 92 vp9_subp_avg_variance_fn_t svaf; |
76 vp9_sad_multi_fn_t sdx3f; | 93 vp9_sad_multi_fn_t sdx3f; |
77 vp9_sad_multi_fn_t sdx8f; | 94 vp9_sad_multi_fn_t sdx8f; |
78 vp9_sad_multi_d_fn_t sdx4df; | 95 vp9_sad_multi_d_fn_t sdx4df; |
79 } vp9_variance_fn_ptr_t; | 96 } vp9_variance_fn_ptr_t; |
80 | 97 |
81 void vp9_comp_avg_pred(uint8_t *comp_pred, const uint8_t *pred, int width, | 98 void vp9_comp_avg_pred(uint8_t *comp_pred, const uint8_t *pred, int width, |
82 int height, const uint8_t *ref, int ref_stride); | 99 int height, const uint8_t *ref, int ref_stride); |
83 | 100 |
| 101 #if CONFIG_VP9_HIGHBITDEPTH |
| 102 void vp9_high_comp_avg_pred(uint16_t *comp_pred, const uint8_t *pred, int width, |
| 103 int height, const uint8_t *ref, int ref_stride); |
| 104 #endif |
| 105 |
84 #ifdef __cplusplus | 106 #ifdef __cplusplus |
85 } // extern "C" | 107 } // extern "C" |
86 #endif | 108 #endif |
87 | 109 |
88 #endif // VP9_ENCODER_VP9_VARIANCE_H_ | 110 #endif // VP9_ENCODER_VP9_VARIANCE_H_ |
OLD | NEW |