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 | |
12 #ifndef VP9_ENCODER_VP9_VARIANCE_H_ | 11 #ifndef VP9_ENCODER_VP9_VARIANCE_H_ |
13 #define VP9_ENCODER_VP9_VARIANCE_H_ | 12 #define VP9_ENCODER_VP9_VARIANCE_H_ |
14 | 13 |
15 typedef unsigned int(*vp9_sad_fn_t)(const unsigned char *src_ptr, | 14 #include "vpx/vpx_integer.h" |
| 15 |
| 16 typedef unsigned int(*vp9_sad_fn_t)(const uint8_t *src_ptr, |
16 int source_stride, | 17 int source_stride, |
17 const unsigned char *ref_ptr, | 18 const uint8_t *ref_ptr, |
18 int ref_stride, | 19 int ref_stride, |
19 unsigned int max_sad); | 20 unsigned int max_sad); |
20 | 21 |
21 typedef void (*vp9_copy32xn_fn_t)(const unsigned char *src_ptr, | 22 typedef void (*vp9_copy32xn_fn_t)(const uint8_t *src_ptr, |
22 int source_stride, | 23 int source_stride, |
23 const unsigned char *ref_ptr, | 24 const uint8_t *ref_ptr, |
24 int ref_stride, | 25 int ref_stride, |
25 int n); | 26 int n); |
26 | 27 |
27 typedef void (*vp9_sad_multi_fn_t)(const unsigned char *src_ptr, | 28 typedef void (*vp9_sad_multi_fn_t)(const uint8_t *src_ptr, |
28 int source_stride, | 29 int source_stride, |
29 const unsigned char *ref_ptr, | 30 const uint8_t *ref_ptr, |
30 int ref_stride, | 31 int ref_stride, |
31 unsigned int *sad_array); | 32 unsigned int *sad_array); |
32 | 33 |
33 typedef void (*vp9_sad_multi1_fn_t)(const unsigned char *src_ptr, | 34 typedef void (*vp9_sad_multi1_fn_t)(const uint8_t *src_ptr, |
34 int source_stride, | 35 int source_stride, |
35 const unsigned char *ref_ptr, | 36 const uint8_t *ref_ptr, |
36 int ref_stride, | 37 int ref_stride, |
37 unsigned short *sad_array); | 38 unsigned short *sad_array); |
38 | 39 |
39 typedef void (*vp9_sad_multi_d_fn_t)(const unsigned char *src_ptr, | 40 typedef void (*vp9_sad_multi_d_fn_t)(const uint8_t *src_ptr, |
40 int source_stride, | 41 int source_stride, |
41 const unsigned char ** ref_ptr, | 42 const uint8_t ** ref_ptr, |
42 int ref_stride, unsigned int *sad_array); | 43 int ref_stride, unsigned int *sad_array); |
43 | 44 |
44 typedef unsigned int (*vp9_variance_fn_t)(const unsigned char *src_ptr, | 45 typedef unsigned int (*vp9_variance_fn_t)(const uint8_t *src_ptr, |
45 int source_stride, | 46 int source_stride, |
46 const unsigned char *ref_ptr, | 47 const uint8_t *ref_ptr, |
47 int ref_stride, | 48 int ref_stride, |
48 unsigned int *sse); | 49 unsigned int *sse); |
49 | 50 |
50 typedef unsigned int (*vp9_subpixvariance_fn_t)(const unsigned char *src_ptr, | 51 typedef unsigned int (*vp9_subpixvariance_fn_t)(const uint8_t *src_ptr, |
51 int source_stride, | 52 int source_stride, |
52 int xoffset, | 53 int xoffset, |
53 int yoffset, | 54 int yoffset, |
54 const unsigned char *ref_ptr, | 55 const uint8_t *ref_ptr, |
55 int Refstride, | 56 int Refstride, |
56 unsigned int *sse); | 57 unsigned int *sse); |
57 | 58 |
58 typedef void (*vp9_ssimpf_fn_t)(unsigned char *s, int sp, unsigned char *r, | 59 typedef void (*vp9_ssimpf_fn_t)(uint8_t *s, int sp, uint8_t *r, |
59 int rp, unsigned long *sum_s, | 60 int rp, unsigned long *sum_s, |
60 unsigned long *sum_r, unsigned long *sum_sq_s, | 61 unsigned long *sum_r, unsigned long *sum_sq_s, |
61 unsigned long *sum_sq_r, | 62 unsigned long *sum_sq_r, |
62 unsigned long *sum_sxr); | 63 unsigned long *sum_sxr); |
63 | 64 |
64 typedef unsigned int (*vp9_getmbss_fn_t)(const short *); | 65 typedef unsigned int (*vp9_getmbss_fn_t)(const short *); |
65 | 66 |
66 typedef unsigned int (*vp9_get16x16prederror_fn_t)(const unsigned char *src_ptr, | 67 typedef unsigned int (*vp9_get16x16prederror_fn_t)(const uint8_t *src_ptr, |
67 int source_stride, | 68 int source_stride, |
68 const unsigned char *ref_ptr, | 69 const uint8_t *ref_ptr, |
69 int ref_stride); | 70 int ref_stride); |
70 | 71 |
71 typedef struct variance_vtable { | 72 typedef struct variance_vtable { |
72 vp9_sad_fn_t sdf; | 73 vp9_sad_fn_t sdf; |
73 vp9_variance_fn_t vf; | 74 vp9_variance_fn_t vf; |
74 vp9_subpixvariance_fn_t svf; | 75 vp9_subpixvariance_fn_t svf; |
75 vp9_variance_fn_t svf_halfpix_h; | 76 vp9_variance_fn_t svf_halfpix_h; |
76 vp9_variance_fn_t svf_halfpix_v; | 77 vp9_variance_fn_t svf_halfpix_v; |
77 vp9_variance_fn_t svf_halfpix_hv; | 78 vp9_variance_fn_t svf_halfpix_hv; |
78 vp9_sad_multi_fn_t sdx3f; | 79 vp9_sad_multi_fn_t sdx3f; |
79 vp9_sad_multi1_fn_t sdx8f; | 80 vp9_sad_multi1_fn_t sdx8f; |
80 vp9_sad_multi_d_fn_t sdx4df; | 81 vp9_sad_multi_d_fn_t sdx4df; |
81 vp9_copy32xn_fn_t copymem; | 82 vp9_copy32xn_fn_t copymem; |
82 } vp9_variance_fn_ptr_t; | 83 } vp9_variance_fn_ptr_t; |
83 | 84 |
84 #endif | 85 #endif // VP9_ENCODER_VP9_VARIANCE_H_ |
OLD | NEW |