media/libvpx/vp9_rtcd_x86-darwin9-gcc.h

branch
TOR_BUG_9701
changeset 10
ac0c01689b40
equal deleted inserted replaced
-1:000000000000 0:3e0986bbf149
1 #ifndef VP9_RTCD_H_
2 #define VP9_RTCD_H_
3
4 #ifdef RTCD_C
5 #define RTCD_EXTERN
6 #else
7 #define RTCD_EXTERN extern
8 #endif
9
10 /*
11 * VP9
12 */
13
14 #include "vpx/vpx_integer.h"
15 #include "vp9/common/vp9_enums.h"
16
17 struct macroblockd;
18
19 /* Encoder forward decls */
20 struct macroblock;
21 struct vp9_variance_vtable;
22
23 #define DEC_MVCOSTS int *mvjcost, int *mvcost[2]
24 union int_mv;
25 struct yv12_buffer_config;
26
27 void vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
28 #define vp9_d207_predictor_4x4 vp9_d207_predictor_4x4_c
29
30 void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
31 #define vp9_d45_predictor_4x4 vp9_d45_predictor_4x4_c
32
33 void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
34 #define vp9_d63_predictor_4x4 vp9_d63_predictor_4x4_c
35
36 void vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
37 #define vp9_h_predictor_4x4 vp9_h_predictor_4x4_c
38
39 void vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
40 #define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c
41
42 void vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
43 #define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c
44
45 void vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
46 #define vp9_d153_predictor_4x4 vp9_d153_predictor_4x4_c
47
48 void vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
49 #define vp9_v_predictor_4x4 vp9_v_predictor_4x4_c
50
51 void vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
52 #define vp9_tm_predictor_4x4 vp9_tm_predictor_4x4_c
53
54 void vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
55 #define vp9_dc_predictor_4x4 vp9_dc_predictor_4x4_c
56
57 void vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
58 #define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c
59
60 void vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
61 #define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c
62
63 void vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
64 #define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c
65
66 void vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
67 #define vp9_d207_predictor_8x8 vp9_d207_predictor_8x8_c
68
69 void vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
70 #define vp9_d45_predictor_8x8 vp9_d45_predictor_8x8_c
71
72 void vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
73 #define vp9_d63_predictor_8x8 vp9_d63_predictor_8x8_c
74
75 void vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
76 #define vp9_h_predictor_8x8 vp9_h_predictor_8x8_c
77
78 void vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
79 #define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c
80
81 void vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
82 #define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c
83
84 void vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
85 #define vp9_d153_predictor_8x8 vp9_d153_predictor_8x8_c
86
87 void vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
88 #define vp9_v_predictor_8x8 vp9_v_predictor_8x8_c
89
90 void vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
91 #define vp9_tm_predictor_8x8 vp9_tm_predictor_8x8_c
92
93 void vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
94 #define vp9_dc_predictor_8x8 vp9_dc_predictor_8x8_c
95
96 void vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
97 #define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c
98
99 void vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
100 #define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c
101
102 void vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
103 #define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c
104
105 void vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
106 #define vp9_d207_predictor_16x16 vp9_d207_predictor_16x16_c
107
108 void vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
109 #define vp9_d45_predictor_16x16 vp9_d45_predictor_16x16_c
110
111 void vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
112 #define vp9_d63_predictor_16x16 vp9_d63_predictor_16x16_c
113
114 void vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
115 #define vp9_h_predictor_16x16 vp9_h_predictor_16x16_c
116
117 void vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
118 #define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c
119
120 void vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
121 #define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c
122
123 void vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
124 #define vp9_d153_predictor_16x16 vp9_d153_predictor_16x16_c
125
126 void vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
127 #define vp9_v_predictor_16x16 vp9_v_predictor_16x16_c
128
129 void vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
130 #define vp9_tm_predictor_16x16 vp9_tm_predictor_16x16_c
131
132 void vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
133 #define vp9_dc_predictor_16x16 vp9_dc_predictor_16x16_c
134
135 void vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
136 #define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c
137
138 void vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
139 #define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c
140
141 void vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
142 #define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c
143
144 void vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
145 #define vp9_d207_predictor_32x32 vp9_d207_predictor_32x32_c
146
147 void vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
148 #define vp9_d45_predictor_32x32 vp9_d45_predictor_32x32_c
149
150 void vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
151 #define vp9_d63_predictor_32x32 vp9_d63_predictor_32x32_c
152
153 void vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
154 #define vp9_h_predictor_32x32 vp9_h_predictor_32x32_c
155
156 void vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
157 #define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c
158
159 void vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
160 #define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c
161
162 void vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
163 #define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c
164
165 void vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
166 #define vp9_v_predictor_32x32 vp9_v_predictor_32x32_c
167
168 void vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
169 #define vp9_tm_predictor_32x32 vp9_tm_predictor_32x32_c
170
171 void vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
172 #define vp9_dc_predictor_32x32 vp9_dc_predictor_32x32_c
173
174 void vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
175 #define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c
176
177 void vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
178 #define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c
179
180 void vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
181 #define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c
182
183 void vp9_mb_lpf_vertical_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
184 void vp9_mb_lpf_vertical_edge_w_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
185 RTCD_EXTERN void (*vp9_mb_lpf_vertical_edge_w)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
186
187 void vp9_mbloop_filter_vertical_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
188 void vp9_mbloop_filter_vertical_edge_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
189 RTCD_EXTERN void (*vp9_mbloop_filter_vertical_edge)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
190
191 void vp9_loop_filter_vertical_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
192 void vp9_loop_filter_vertical_edge_mmx(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
193 RTCD_EXTERN void (*vp9_loop_filter_vertical_edge)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
194
195 void vp9_mb_lpf_horizontal_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
196 void vp9_mb_lpf_horizontal_edge_w_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
197 void vp9_mb_lpf_horizontal_edge_w_avx2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
198 RTCD_EXTERN void (*vp9_mb_lpf_horizontal_edge_w)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
199
200 void vp9_mbloop_filter_horizontal_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
201 void vp9_mbloop_filter_horizontal_edge_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
202 RTCD_EXTERN void (*vp9_mbloop_filter_horizontal_edge)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
203
204 void vp9_loop_filter_horizontal_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
205 void vp9_loop_filter_horizontal_edge_mmx(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
206 RTCD_EXTERN void (*vp9_loop_filter_horizontal_edge)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
207
208 void vp9_blend_mb_inner_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
209 #define vp9_blend_mb_inner vp9_blend_mb_inner_c
210
211 void vp9_blend_mb_outer_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
212 #define vp9_blend_mb_outer vp9_blend_mb_outer_c
213
214 void vp9_blend_b_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
215 #define vp9_blend_b vp9_blend_b_c
216
217 void vp9_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
218 #define vp9_convolve_copy vp9_convolve_copy_c
219
220 void vp9_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
221 #define vp9_convolve_avg vp9_convolve_avg_c
222
223 void vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
224 void vp9_convolve8_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
225 void vp9_convolve8_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
226 RTCD_EXTERN void (*vp9_convolve8)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
227
228 void vp9_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
229 void vp9_convolve8_horiz_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
230 void vp9_convolve8_horiz_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
231 RTCD_EXTERN void (*vp9_convolve8_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
232
233 void vp9_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
234 void vp9_convolve8_vert_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
235 void vp9_convolve8_vert_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
236 RTCD_EXTERN void (*vp9_convolve8_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
237
238 void vp9_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
239 void vp9_convolve8_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
240 void vp9_convolve8_avg_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
241 RTCD_EXTERN void (*vp9_convolve8_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
242
243 void vp9_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
244 void vp9_convolve8_avg_horiz_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
245 void vp9_convolve8_avg_horiz_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
246 RTCD_EXTERN void (*vp9_convolve8_avg_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
247
248 void vp9_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
249 void vp9_convolve8_avg_vert_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
250 void vp9_convolve8_avg_vert_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
251 RTCD_EXTERN void (*vp9_convolve8_avg_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
252
253 void vp9_idct4x4_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
254 void vp9_idct4x4_1_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
255 RTCD_EXTERN void (*vp9_idct4x4_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
256
257 void vp9_idct4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
258 void vp9_idct4x4_16_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
259 RTCD_EXTERN void (*vp9_idct4x4_16_add)(const int16_t *input, uint8_t *dest, int dest_stride);
260
261 void vp9_idct8x8_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
262 void vp9_idct8x8_1_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
263 RTCD_EXTERN void (*vp9_idct8x8_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
264
265 void vp9_idct8x8_64_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
266 void vp9_idct8x8_64_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
267 RTCD_EXTERN void (*vp9_idct8x8_64_add)(const int16_t *input, uint8_t *dest, int dest_stride);
268
269 void vp9_idct8x8_10_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
270 void vp9_idct8x8_10_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
271 RTCD_EXTERN void (*vp9_idct8x8_10_add)(const int16_t *input, uint8_t *dest, int dest_stride);
272
273 void vp9_idct16x16_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
274 void vp9_idct16x16_1_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
275 RTCD_EXTERN void (*vp9_idct16x16_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
276
277 void vp9_idct16x16_256_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
278 void vp9_idct16x16_256_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
279 RTCD_EXTERN void (*vp9_idct16x16_256_add)(const int16_t *input, uint8_t *dest, int dest_stride);
280
281 void vp9_idct16x16_10_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
282 void vp9_idct16x16_10_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
283 RTCD_EXTERN void (*vp9_idct16x16_10_add)(const int16_t *input, uint8_t *dest, int dest_stride);
284
285 void vp9_idct32x32_1024_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
286 void vp9_idct32x32_1024_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
287 RTCD_EXTERN void (*vp9_idct32x32_1024_add)(const int16_t *input, uint8_t *dest, int dest_stride);
288
289 void vp9_idct32x32_34_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
290 void vp9_idct32x32_34_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
291 RTCD_EXTERN void (*vp9_idct32x32_34_add)(const int16_t *input, uint8_t *dest, int dest_stride);
292
293 void vp9_idct32x32_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
294 void vp9_idct32x32_1_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride);
295 RTCD_EXTERN void (*vp9_idct32x32_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
296
297 void vp9_iht4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
298 void vp9_iht4x4_16_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
299 RTCD_EXTERN void (*vp9_iht4x4_16_add)(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
300
301 void vp9_iht8x8_64_add_c(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
302 void vp9_iht8x8_64_add_sse2(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
303 RTCD_EXTERN void (*vp9_iht8x8_64_add)(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
304
305 void vp9_iht16x16_256_add_c(const int16_t *input, uint8_t *output, int pitch, int tx_type);
306 void vp9_iht16x16_256_add_sse2(const int16_t *input, uint8_t *output, int pitch, int tx_type);
307 RTCD_EXTERN void (*vp9_iht16x16_256_add)(const int16_t *input, uint8_t *output, int pitch, int tx_type);
308
309 void vp9_iwht4x4_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
310 #define vp9_iwht4x4_1_add vp9_iwht4x4_1_add_c
311
312 void vp9_iwht4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
313 #define vp9_iwht4x4_16_add vp9_iwht4x4_16_add_c
314
315 unsigned int vp9_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
316 #define vp9_variance32x16 vp9_variance32x16_c
317
318 unsigned int vp9_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
319 #define vp9_variance16x32 vp9_variance16x32_c
320
321 unsigned int vp9_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
322 #define vp9_variance64x32 vp9_variance64x32_c
323
324 unsigned int vp9_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
325 #define vp9_variance32x64 vp9_variance32x64_c
326
327 unsigned int vp9_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
328 #define vp9_variance32x32 vp9_variance32x32_c
329
330 unsigned int vp9_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
331 #define vp9_variance64x64 vp9_variance64x64_c
332
333 unsigned int vp9_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
334 unsigned int vp9_variance16x16_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
335 RTCD_EXTERN unsigned int (*vp9_variance16x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
336
337 unsigned int vp9_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
338 unsigned int vp9_variance16x8_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
339 RTCD_EXTERN unsigned int (*vp9_variance16x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
340
341 unsigned int vp9_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
342 unsigned int vp9_variance8x16_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
343 RTCD_EXTERN unsigned int (*vp9_variance8x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
344
345 unsigned int vp9_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
346 unsigned int vp9_variance8x8_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
347 RTCD_EXTERN unsigned int (*vp9_variance8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
348
349 void vp9_get_sse_sum_8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
350 void vp9_get8x8var_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
351 RTCD_EXTERN void (*vp9_get_sse_sum_8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
352
353 unsigned int vp9_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
354 #define vp9_variance8x4 vp9_variance8x4_c
355
356 unsigned int vp9_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
357 #define vp9_variance4x8 vp9_variance4x8_c
358
359 unsigned int vp9_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
360 unsigned int vp9_variance4x4_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
361 RTCD_EXTERN unsigned int (*vp9_variance4x4)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
362
363 unsigned int vp9_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
364 #define vp9_sub_pixel_variance64x64 vp9_sub_pixel_variance64x64_c
365
366 unsigned int vp9_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
367 #define vp9_sub_pixel_avg_variance64x64 vp9_sub_pixel_avg_variance64x64_c
368
369 unsigned int vp9_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
370 #define vp9_sub_pixel_variance32x64 vp9_sub_pixel_variance32x64_c
371
372 unsigned int vp9_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
373 #define vp9_sub_pixel_avg_variance32x64 vp9_sub_pixel_avg_variance32x64_c
374
375 unsigned int vp9_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
376 #define vp9_sub_pixel_variance64x32 vp9_sub_pixel_variance64x32_c
377
378 unsigned int vp9_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
379 #define vp9_sub_pixel_avg_variance64x32 vp9_sub_pixel_avg_variance64x32_c
380
381 unsigned int vp9_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
382 #define vp9_sub_pixel_variance32x16 vp9_sub_pixel_variance32x16_c
383
384 unsigned int vp9_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
385 #define vp9_sub_pixel_avg_variance32x16 vp9_sub_pixel_avg_variance32x16_c
386
387 unsigned int vp9_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
388 #define vp9_sub_pixel_variance16x32 vp9_sub_pixel_variance16x32_c
389
390 unsigned int vp9_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
391 #define vp9_sub_pixel_avg_variance16x32 vp9_sub_pixel_avg_variance16x32_c
392
393 unsigned int vp9_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
394 #define vp9_sub_pixel_variance32x32 vp9_sub_pixel_variance32x32_c
395
396 unsigned int vp9_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
397 #define vp9_sub_pixel_avg_variance32x32 vp9_sub_pixel_avg_variance32x32_c
398
399 unsigned int vp9_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
400 #define vp9_sub_pixel_variance16x16 vp9_sub_pixel_variance16x16_c
401
402 unsigned int vp9_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
403 #define vp9_sub_pixel_avg_variance16x16 vp9_sub_pixel_avg_variance16x16_c
404
405 unsigned int vp9_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
406 #define vp9_sub_pixel_variance8x16 vp9_sub_pixel_variance8x16_c
407
408 unsigned int vp9_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
409 #define vp9_sub_pixel_avg_variance8x16 vp9_sub_pixel_avg_variance8x16_c
410
411 unsigned int vp9_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
412 #define vp9_sub_pixel_variance16x8 vp9_sub_pixel_variance16x8_c
413
414 unsigned int vp9_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
415 #define vp9_sub_pixel_avg_variance16x8 vp9_sub_pixel_avg_variance16x8_c
416
417 unsigned int vp9_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
418 #define vp9_sub_pixel_variance8x8 vp9_sub_pixel_variance8x8_c
419
420 unsigned int vp9_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
421 #define vp9_sub_pixel_avg_variance8x8 vp9_sub_pixel_avg_variance8x8_c
422
423 unsigned int vp9_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
424 #define vp9_sub_pixel_variance8x4 vp9_sub_pixel_variance8x4_c
425
426 unsigned int vp9_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
427 #define vp9_sub_pixel_avg_variance8x4 vp9_sub_pixel_avg_variance8x4_c
428
429 unsigned int vp9_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
430 #define vp9_sub_pixel_variance4x8 vp9_sub_pixel_variance4x8_c
431
432 unsigned int vp9_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
433 #define vp9_sub_pixel_avg_variance4x8 vp9_sub_pixel_avg_variance4x8_c
434
435 unsigned int vp9_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
436 #define vp9_sub_pixel_variance4x4 vp9_sub_pixel_variance4x4_c
437
438 unsigned int vp9_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
439 #define vp9_sub_pixel_avg_variance4x4 vp9_sub_pixel_avg_variance4x4_c
440
441 unsigned int vp9_sad64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
442 #define vp9_sad64x64 vp9_sad64x64_c
443
444 unsigned int vp9_sad32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
445 #define vp9_sad32x64 vp9_sad32x64_c
446
447 unsigned int vp9_sad64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
448 #define vp9_sad64x32 vp9_sad64x32_c
449
450 unsigned int vp9_sad32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
451 #define vp9_sad32x16 vp9_sad32x16_c
452
453 unsigned int vp9_sad16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
454 #define vp9_sad16x32 vp9_sad16x32_c
455
456 unsigned int vp9_sad32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
457 #define vp9_sad32x32 vp9_sad32x32_c
458
459 unsigned int vp9_sad16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
460 unsigned int vp9_sad16x16_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
461 RTCD_EXTERN unsigned int (*vp9_sad16x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
462
463 unsigned int vp9_sad16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
464 unsigned int vp9_sad16x8_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
465 RTCD_EXTERN unsigned int (*vp9_sad16x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
466
467 unsigned int vp9_sad8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
468 unsigned int vp9_sad8x16_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
469 RTCD_EXTERN unsigned int (*vp9_sad8x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
470
471 unsigned int vp9_sad8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
472 unsigned int vp9_sad8x8_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
473 RTCD_EXTERN unsigned int (*vp9_sad8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
474
475 unsigned int vp9_sad8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
476 #define vp9_sad8x4 vp9_sad8x4_c
477
478 unsigned int vp9_sad4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
479 #define vp9_sad4x8 vp9_sad4x8_c
480
481 unsigned int vp9_sad4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
482 unsigned int vp9_sad4x4_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
483 RTCD_EXTERN unsigned int (*vp9_sad4x4)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
484
485 unsigned int vp9_sad64x64_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
486 #define vp9_sad64x64_avg vp9_sad64x64_avg_c
487
488 unsigned int vp9_sad32x64_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
489 #define vp9_sad32x64_avg vp9_sad32x64_avg_c
490
491 unsigned int vp9_sad64x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
492 #define vp9_sad64x32_avg vp9_sad64x32_avg_c
493
494 unsigned int vp9_sad32x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
495 #define vp9_sad32x16_avg vp9_sad32x16_avg_c
496
497 unsigned int vp9_sad16x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
498 #define vp9_sad16x32_avg vp9_sad16x32_avg_c
499
500 unsigned int vp9_sad32x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
501 #define vp9_sad32x32_avg vp9_sad32x32_avg_c
502
503 unsigned int vp9_sad16x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
504 #define vp9_sad16x16_avg vp9_sad16x16_avg_c
505
506 unsigned int vp9_sad16x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
507 #define vp9_sad16x8_avg vp9_sad16x8_avg_c
508
509 unsigned int vp9_sad8x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
510 #define vp9_sad8x16_avg vp9_sad8x16_avg_c
511
512 unsigned int vp9_sad8x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
513 #define vp9_sad8x8_avg vp9_sad8x8_avg_c
514
515 unsigned int vp9_sad8x4_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
516 #define vp9_sad8x4_avg vp9_sad8x4_avg_c
517
518 unsigned int vp9_sad4x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
519 #define vp9_sad4x8_avg vp9_sad4x8_avg_c
520
521 unsigned int vp9_sad4x4_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
522 #define vp9_sad4x4_avg vp9_sad4x4_avg_c
523
524 unsigned int vp9_variance_halfpixvar16x16_h_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
525 #define vp9_variance_halfpixvar16x16_h vp9_variance_halfpixvar16x16_h_c
526
527 unsigned int vp9_variance_halfpixvar16x16_v_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
528 #define vp9_variance_halfpixvar16x16_v vp9_variance_halfpixvar16x16_v_c
529
530 unsigned int vp9_variance_halfpixvar16x16_hv_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
531 #define vp9_variance_halfpixvar16x16_hv vp9_variance_halfpixvar16x16_hv_c
532
533 unsigned int vp9_variance_halfpixvar64x64_h_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
534 #define vp9_variance_halfpixvar64x64_h vp9_variance_halfpixvar64x64_h_c
535
536 unsigned int vp9_variance_halfpixvar64x64_v_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
537 #define vp9_variance_halfpixvar64x64_v vp9_variance_halfpixvar64x64_v_c
538
539 unsigned int vp9_variance_halfpixvar64x64_hv_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
540 #define vp9_variance_halfpixvar64x64_hv vp9_variance_halfpixvar64x64_hv_c
541
542 unsigned int vp9_variance_halfpixvar32x32_h_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
543 #define vp9_variance_halfpixvar32x32_h vp9_variance_halfpixvar32x32_h_c
544
545 unsigned int vp9_variance_halfpixvar32x32_v_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
546 #define vp9_variance_halfpixvar32x32_v vp9_variance_halfpixvar32x32_v_c
547
548 unsigned int vp9_variance_halfpixvar32x32_hv_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
549 #define vp9_variance_halfpixvar32x32_hv vp9_variance_halfpixvar32x32_hv_c
550
551 void vp9_sad64x64x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
552 #define vp9_sad64x64x3 vp9_sad64x64x3_c
553
554 void vp9_sad32x32x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
555 #define vp9_sad32x32x3 vp9_sad32x32x3_c
556
557 void vp9_sad16x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
558 void vp9_sad16x16x3_sse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
559 void vp9_sad16x16x3_ssse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
560 RTCD_EXTERN void (*vp9_sad16x16x3)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
561
562 void vp9_sad16x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
563 void vp9_sad16x8x3_sse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
564 void vp9_sad16x8x3_ssse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
565 RTCD_EXTERN void (*vp9_sad16x8x3)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
566
567 void vp9_sad8x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
568 void vp9_sad8x16x3_sse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
569 RTCD_EXTERN void (*vp9_sad8x16x3)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
570
571 void vp9_sad8x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
572 void vp9_sad8x8x3_sse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
573 RTCD_EXTERN void (*vp9_sad8x8x3)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
574
575 void vp9_sad4x4x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
576 void vp9_sad4x4x3_sse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
577 RTCD_EXTERN void (*vp9_sad4x4x3)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
578
579 void vp9_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
580 #define vp9_sad64x64x8 vp9_sad64x64x8_c
581
582 void vp9_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
583 #define vp9_sad32x32x8 vp9_sad32x32x8_c
584
585 void vp9_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
586 #define vp9_sad16x16x8 vp9_sad16x16x8_c
587
588 void vp9_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
589 #define vp9_sad16x8x8 vp9_sad16x8x8_c
590
591 void vp9_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
592 #define vp9_sad8x16x8 vp9_sad8x16x8_c
593
594 void vp9_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
595 #define vp9_sad8x8x8 vp9_sad8x8x8_c
596
597 void vp9_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
598 #define vp9_sad8x4x8 vp9_sad8x4x8_c
599
600 void vp9_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
601 #define vp9_sad4x8x8 vp9_sad4x8x8_c
602
603 void vp9_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
604 #define vp9_sad4x4x8 vp9_sad4x4x8_c
605
606 void vp9_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
607 void vp9_sad64x64x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
608 RTCD_EXTERN void (*vp9_sad64x64x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
609
610 void vp9_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
611 void vp9_sad32x64x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
612 RTCD_EXTERN void (*vp9_sad32x64x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
613
614 void vp9_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
615 void vp9_sad64x32x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
616 RTCD_EXTERN void (*vp9_sad64x32x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
617
618 void vp9_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
619 void vp9_sad32x16x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
620 RTCD_EXTERN void (*vp9_sad32x16x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
621
622 void vp9_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
623 void vp9_sad16x32x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
624 RTCD_EXTERN void (*vp9_sad16x32x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
625
626 void vp9_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
627 void vp9_sad32x32x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
628 RTCD_EXTERN void (*vp9_sad32x32x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
629
630 void vp9_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
631 void vp9_sad16x16x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
632 RTCD_EXTERN void (*vp9_sad16x16x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
633
634 void vp9_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
635 void vp9_sad16x8x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
636 RTCD_EXTERN void (*vp9_sad16x8x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
637
638 void vp9_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
639 void vp9_sad8x16x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
640 RTCD_EXTERN void (*vp9_sad8x16x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
641
642 void vp9_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
643 void vp9_sad8x8x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
644 RTCD_EXTERN void (*vp9_sad8x8x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
645
646 void vp9_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
647 void vp9_sad8x4x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
648 RTCD_EXTERN void (*vp9_sad8x4x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
649
650 void vp9_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
651 void vp9_sad4x8x4d_sse(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
652 RTCD_EXTERN void (*vp9_sad4x8x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
653
654 void vp9_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
655 void vp9_sad4x4x4d_sse(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
656 RTCD_EXTERN void (*vp9_sad4x4x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
657
658 unsigned int vp9_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
659 unsigned int vp9_mse16x16_mmx(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
660 RTCD_EXTERN unsigned int (*vp9_mse16x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
661
662 unsigned int vp9_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
663 #define vp9_mse8x16 vp9_mse8x16_c
664
665 unsigned int vp9_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
666 #define vp9_mse16x8 vp9_mse16x8_c
667
668 unsigned int vp9_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
669 #define vp9_mse8x8 vp9_mse8x8_c
670
671 unsigned int vp9_sub_pixel_mse64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
672 #define vp9_sub_pixel_mse64x64 vp9_sub_pixel_mse64x64_c
673
674 unsigned int vp9_sub_pixel_mse32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
675 #define vp9_sub_pixel_mse32x32 vp9_sub_pixel_mse32x32_c
676
677 unsigned int vp9_get_mb_ss_c(const int16_t *);
678 unsigned int vp9_get_mb_ss_mmx(const int16_t *);
679 unsigned int vp9_get_mb_ss_sse2(const int16_t *);
680 RTCD_EXTERN unsigned int (*vp9_get_mb_ss)(const int16_t *);
681
682 int64_t vp9_block_error_c(int16_t *coeff, int16_t *dqcoeff, intptr_t block_size, int64_t *ssz);
683 #define vp9_block_error vp9_block_error_c
684
685 void vp9_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
686 #define vp9_subtract_block vp9_subtract_block_c
687
688 void vp9_quantize_b_c(const int16_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, int16_t *qcoeff_ptr, int16_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
689 #define vp9_quantize_b vp9_quantize_b_c
690
691 void vp9_quantize_b_32x32_c(const int16_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, int16_t *qcoeff_ptr, int16_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
692 #define vp9_quantize_b_32x32 vp9_quantize_b_32x32_c
693
694 void vp9_short_fht4x4_c(const int16_t *input, int16_t *output, int stride, int tx_type);
695 void vp9_short_fht4x4_sse2(const int16_t *input, int16_t *output, int stride, int tx_type);
696 RTCD_EXTERN void (*vp9_short_fht4x4)(const int16_t *input, int16_t *output, int stride, int tx_type);
697
698 void vp9_short_fht8x8_c(const int16_t *input, int16_t *output, int stride, int tx_type);
699 void vp9_short_fht8x8_sse2(const int16_t *input, int16_t *output, int stride, int tx_type);
700 RTCD_EXTERN void (*vp9_short_fht8x8)(const int16_t *input, int16_t *output, int stride, int tx_type);
701
702 void vp9_short_fht16x16_c(const int16_t *input, int16_t *output, int stride, int tx_type);
703 void vp9_short_fht16x16_sse2(const int16_t *input, int16_t *output, int stride, int tx_type);
704 RTCD_EXTERN void (*vp9_short_fht16x16)(const int16_t *input, int16_t *output, int stride, int tx_type);
705
706 void vp9_fwht4x4_c(const int16_t *input, int16_t *output, int stride);
707 #define vp9_fwht4x4 vp9_fwht4x4_c
708
709 void vp9_fdct4x4_c(const int16_t *input, int16_t *output, int stride);
710 void vp9_fdct4x4_sse2(const int16_t *input, int16_t *output, int stride);
711 RTCD_EXTERN void (*vp9_fdct4x4)(const int16_t *input, int16_t *output, int stride);
712
713 void vp9_fdct8x8_c(const int16_t *input, int16_t *output, int stride);
714 void vp9_fdct8x8_sse2(const int16_t *input, int16_t *output, int stride);
715 RTCD_EXTERN void (*vp9_fdct8x8)(const int16_t *input, int16_t *output, int stride);
716
717 void vp9_fdct16x16_c(const int16_t *input, int16_t *output, int stride);
718 void vp9_fdct16x16_sse2(const int16_t *input, int16_t *output, int stride);
719 RTCD_EXTERN void (*vp9_fdct16x16)(const int16_t *input, int16_t *output, int stride);
720
721 void vp9_fdct32x32_c(const int16_t *input, int16_t *output, int stride);
722 void vp9_fdct32x32_sse2(const int16_t *input, int16_t *output, int stride);
723 RTCD_EXTERN void (*vp9_fdct32x32)(const int16_t *input, int16_t *output, int stride);
724
725 void vp9_fdct32x32_rd_c(const int16_t *input, int16_t *output, int stride);
726 void vp9_fdct32x32_rd_sse2(const int16_t *input, int16_t *output, int stride);
727 RTCD_EXTERN void (*vp9_fdct32x32_rd)(const int16_t *input, int16_t *output, int stride);
728
729 int vp9_full_search_sad_c(struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv, int n);
730 int vp9_full_search_sadx3(struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv, int n);
731 int vp9_full_search_sadx8(struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv, int n);
732 RTCD_EXTERN int (*vp9_full_search_sad)(struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv, int n);
733
734 int vp9_refining_search_sad_c(struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv);
735 int vp9_refining_search_sadx4(struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv);
736 RTCD_EXTERN int (*vp9_refining_search_sad)(struct macroblock *x, union int_mv *ref_mv, int sad_per_bit, int distance, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv);
737
738 int vp9_diamond_search_sad_c(struct macroblock *x, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv);
739 int vp9_diamond_search_sadx4(struct macroblock *x, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv);
740 RTCD_EXTERN int (*vp9_diamond_search_sad)(struct macroblock *x, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, union int_mv *center_mv);
741
742 void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_size, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
743 void vp9_temporal_filter_apply_sse2(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_size, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
744 RTCD_EXTERN void (*vp9_temporal_filter_apply)(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_size, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
745
746 void vp9_yv12_copy_partial_frame_c(struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc, int fraction);
747 #define vp9_yv12_copy_partial_frame vp9_yv12_copy_partial_frame_c
748
749 void vp9_rtcd(void);
750
751 #ifdef RTCD_C
752 #include "vpx_ports/x86.h"
753 static void setup_rtcd_internal(void)
754 {
755 int flags = x86_simd_caps();
756
757 (void)flags;
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811 vp9_mb_lpf_vertical_edge_w = vp9_mb_lpf_vertical_edge_w_c;
812 if (flags & HAS_SSE2) vp9_mb_lpf_vertical_edge_w = vp9_mb_lpf_vertical_edge_w_sse2;
813
814 vp9_mbloop_filter_vertical_edge = vp9_mbloop_filter_vertical_edge_c;
815 if (flags & HAS_SSE2) vp9_mbloop_filter_vertical_edge = vp9_mbloop_filter_vertical_edge_sse2;
816
817 vp9_loop_filter_vertical_edge = vp9_loop_filter_vertical_edge_c;
818 if (flags & HAS_MMX) vp9_loop_filter_vertical_edge = vp9_loop_filter_vertical_edge_mmx;
819
820 vp9_mb_lpf_horizontal_edge_w = vp9_mb_lpf_horizontal_edge_w_c;
821 if (flags & HAS_SSE2) vp9_mb_lpf_horizontal_edge_w = vp9_mb_lpf_horizontal_edge_w_sse2;
822 if (flags & HAS_AVX2) vp9_mb_lpf_horizontal_edge_w = vp9_mb_lpf_horizontal_edge_w_avx2;
823
824 vp9_mbloop_filter_horizontal_edge = vp9_mbloop_filter_horizontal_edge_c;
825 if (flags & HAS_SSE2) vp9_mbloop_filter_horizontal_edge = vp9_mbloop_filter_horizontal_edge_sse2;
826
827 vp9_loop_filter_horizontal_edge = vp9_loop_filter_horizontal_edge_c;
828 if (flags & HAS_MMX) vp9_loop_filter_horizontal_edge = vp9_loop_filter_horizontal_edge_mmx;
829
830
831
832
833
834
835 vp9_convolve8 = vp9_convolve8_c;
836 if (flags & HAS_SSE2) vp9_convolve8 = vp9_convolve8_sse2;
837 if (flags & HAS_SSSE3) vp9_convolve8 = vp9_convolve8_ssse3;
838
839 vp9_convolve8_horiz = vp9_convolve8_horiz_c;
840 if (flags & HAS_SSE2) vp9_convolve8_horiz = vp9_convolve8_horiz_sse2;
841 if (flags & HAS_SSSE3) vp9_convolve8_horiz = vp9_convolve8_horiz_ssse3;
842
843 vp9_convolve8_vert = vp9_convolve8_vert_c;
844 if (flags & HAS_SSE2) vp9_convolve8_vert = vp9_convolve8_vert_sse2;
845 if (flags & HAS_SSSE3) vp9_convolve8_vert = vp9_convolve8_vert_ssse3;
846
847 vp9_convolve8_avg = vp9_convolve8_avg_c;
848 if (flags & HAS_SSE2) vp9_convolve8_avg = vp9_convolve8_avg_sse2;
849 if (flags & HAS_SSSE3) vp9_convolve8_avg = vp9_convolve8_avg_ssse3;
850
851 vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_c;
852 if (flags & HAS_SSE2) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_sse2;
853 if (flags & HAS_SSSE3) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_ssse3;
854
855 vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_c;
856 if (flags & HAS_SSE2) vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_sse2;
857 if (flags & HAS_SSSE3) vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_ssse3;
858
859 vp9_idct4x4_1_add = vp9_idct4x4_1_add_c;
860 if (flags & HAS_SSE2) vp9_idct4x4_1_add = vp9_idct4x4_1_add_sse2;
861
862 vp9_idct4x4_16_add = vp9_idct4x4_16_add_c;
863 if (flags & HAS_SSE2) vp9_idct4x4_16_add = vp9_idct4x4_16_add_sse2;
864
865 vp9_idct8x8_1_add = vp9_idct8x8_1_add_c;
866 if (flags & HAS_SSE2) vp9_idct8x8_1_add = vp9_idct8x8_1_add_sse2;
867
868 vp9_idct8x8_64_add = vp9_idct8x8_64_add_c;
869 if (flags & HAS_SSE2) vp9_idct8x8_64_add = vp9_idct8x8_64_add_sse2;
870
871 vp9_idct8x8_10_add = vp9_idct8x8_10_add_c;
872 if (flags & HAS_SSE2) vp9_idct8x8_10_add = vp9_idct8x8_10_add_sse2;
873
874 vp9_idct16x16_1_add = vp9_idct16x16_1_add_c;
875 if (flags & HAS_SSE2) vp9_idct16x16_1_add = vp9_idct16x16_1_add_sse2;
876
877 vp9_idct16x16_256_add = vp9_idct16x16_256_add_c;
878 if (flags & HAS_SSE2) vp9_idct16x16_256_add = vp9_idct16x16_256_add_sse2;
879
880 vp9_idct16x16_10_add = vp9_idct16x16_10_add_c;
881 if (flags & HAS_SSE2) vp9_idct16x16_10_add = vp9_idct16x16_10_add_sse2;
882
883 vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_c;
884 if (flags & HAS_SSE2) vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_sse2;
885
886 vp9_idct32x32_34_add = vp9_idct32x32_34_add_c;
887 if (flags & HAS_SSE2) vp9_idct32x32_34_add = vp9_idct32x32_34_add_sse2;
888
889 vp9_idct32x32_1_add = vp9_idct32x32_1_add_c;
890 if (flags & HAS_SSE2) vp9_idct32x32_1_add = vp9_idct32x32_1_add_sse2;
891
892 vp9_iht4x4_16_add = vp9_iht4x4_16_add_c;
893 if (flags & HAS_SSE2) vp9_iht4x4_16_add = vp9_iht4x4_16_add_sse2;
894
895 vp9_iht8x8_64_add = vp9_iht8x8_64_add_c;
896 if (flags & HAS_SSE2) vp9_iht8x8_64_add = vp9_iht8x8_64_add_sse2;
897
898 vp9_iht16x16_256_add = vp9_iht16x16_256_add_c;
899 if (flags & HAS_SSE2) vp9_iht16x16_256_add = vp9_iht16x16_256_add_sse2;
900
901
902
903
904
905
906
907
908
909 vp9_variance16x16 = vp9_variance16x16_c;
910 if (flags & HAS_MMX) vp9_variance16x16 = vp9_variance16x16_mmx;
911
912 vp9_variance16x8 = vp9_variance16x8_c;
913 if (flags & HAS_MMX) vp9_variance16x8 = vp9_variance16x8_mmx;
914
915 vp9_variance8x16 = vp9_variance8x16_c;
916 if (flags & HAS_MMX) vp9_variance8x16 = vp9_variance8x16_mmx;
917
918 vp9_variance8x8 = vp9_variance8x8_c;
919 if (flags & HAS_MMX) vp9_variance8x8 = vp9_variance8x8_mmx;
920
921 vp9_get_sse_sum_8x8 = vp9_get_sse_sum_8x8_c;
922 if (flags & HAS_SSE2) vp9_get_sse_sum_8x8 = vp9_get8x8var_sse2;
923
924
925
926 vp9_variance4x4 = vp9_variance4x4_c;
927 if (flags & HAS_MMX) vp9_variance4x4 = vp9_variance4x4_mmx;
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961 vp9_sad16x16 = vp9_sad16x16_c;
962 if (flags & HAS_MMX) vp9_sad16x16 = vp9_sad16x16_mmx;
963
964 vp9_sad16x8 = vp9_sad16x8_c;
965 if (flags & HAS_MMX) vp9_sad16x8 = vp9_sad16x8_mmx;
966
967 vp9_sad8x16 = vp9_sad8x16_c;
968 if (flags & HAS_MMX) vp9_sad8x16 = vp9_sad8x16_mmx;
969
970 vp9_sad8x8 = vp9_sad8x8_c;
971 if (flags & HAS_MMX) vp9_sad8x8 = vp9_sad8x8_mmx;
972
973
974
975 vp9_sad4x4 = vp9_sad4x4_c;
976 if (flags & HAS_MMX) vp9_sad4x4 = vp9_sad4x4_mmx;
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002 vp9_sad16x16x3 = vp9_sad16x16x3_c;
1003 if (flags & HAS_SSE3) vp9_sad16x16x3 = vp9_sad16x16x3_sse3;
1004 if (flags & HAS_SSSE3) vp9_sad16x16x3 = vp9_sad16x16x3_ssse3;
1005
1006 vp9_sad16x8x3 = vp9_sad16x8x3_c;
1007 if (flags & HAS_SSE3) vp9_sad16x8x3 = vp9_sad16x8x3_sse3;
1008 if (flags & HAS_SSSE3) vp9_sad16x8x3 = vp9_sad16x8x3_ssse3;
1009
1010 vp9_sad8x16x3 = vp9_sad8x16x3_c;
1011 if (flags & HAS_SSE3) vp9_sad8x16x3 = vp9_sad8x16x3_sse3;
1012
1013 vp9_sad8x8x3 = vp9_sad8x8x3_c;
1014 if (flags & HAS_SSE3) vp9_sad8x8x3 = vp9_sad8x8x3_sse3;
1015
1016 vp9_sad4x4x3 = vp9_sad4x4x3_c;
1017 if (flags & HAS_SSE3) vp9_sad4x4x3 = vp9_sad4x4x3_sse3;
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028 vp9_sad64x64x4d = vp9_sad64x64x4d_c;
1029 if (flags & HAS_SSE2) vp9_sad64x64x4d = vp9_sad64x64x4d_sse2;
1030
1031 vp9_sad32x64x4d = vp9_sad32x64x4d_c;
1032 if (flags & HAS_SSE2) vp9_sad32x64x4d = vp9_sad32x64x4d_sse2;
1033
1034 vp9_sad64x32x4d = vp9_sad64x32x4d_c;
1035 if (flags & HAS_SSE2) vp9_sad64x32x4d = vp9_sad64x32x4d_sse2;
1036
1037 vp9_sad32x16x4d = vp9_sad32x16x4d_c;
1038 if (flags & HAS_SSE2) vp9_sad32x16x4d = vp9_sad32x16x4d_sse2;
1039
1040 vp9_sad16x32x4d = vp9_sad16x32x4d_c;
1041 if (flags & HAS_SSE2) vp9_sad16x32x4d = vp9_sad16x32x4d_sse2;
1042
1043 vp9_sad32x32x4d = vp9_sad32x32x4d_c;
1044 if (flags & HAS_SSE2) vp9_sad32x32x4d = vp9_sad32x32x4d_sse2;
1045
1046 vp9_sad16x16x4d = vp9_sad16x16x4d_c;
1047 if (flags & HAS_SSE2) vp9_sad16x16x4d = vp9_sad16x16x4d_sse2;
1048
1049 vp9_sad16x8x4d = vp9_sad16x8x4d_c;
1050 if (flags & HAS_SSE2) vp9_sad16x8x4d = vp9_sad16x8x4d_sse2;
1051
1052 vp9_sad8x16x4d = vp9_sad8x16x4d_c;
1053 if (flags & HAS_SSE2) vp9_sad8x16x4d = vp9_sad8x16x4d_sse2;
1054
1055 vp9_sad8x8x4d = vp9_sad8x8x4d_c;
1056 if (flags & HAS_SSE2) vp9_sad8x8x4d = vp9_sad8x8x4d_sse2;
1057
1058 vp9_sad8x4x4d = vp9_sad8x4x4d_c;
1059 if (flags & HAS_SSE2) vp9_sad8x4x4d = vp9_sad8x4x4d_sse2;
1060
1061 vp9_sad4x8x4d = vp9_sad4x8x4d_c;
1062 if (flags & HAS_SSE) vp9_sad4x8x4d = vp9_sad4x8x4d_sse;
1063
1064 vp9_sad4x4x4d = vp9_sad4x4x4d_c;
1065 if (flags & HAS_SSE) vp9_sad4x4x4d = vp9_sad4x4x4d_sse;
1066
1067 vp9_mse16x16 = vp9_mse16x16_c;
1068 if (flags & HAS_MMX) vp9_mse16x16 = vp9_mse16x16_mmx;
1069
1070
1071
1072
1073
1074
1075 vp9_get_mb_ss = vp9_get_mb_ss_c;
1076 if (flags & HAS_MMX) vp9_get_mb_ss = vp9_get_mb_ss_mmx;
1077 if (flags & HAS_SSE2) vp9_get_mb_ss = vp9_get_mb_ss_sse2;
1078
1079
1080
1081
1082
1083 vp9_short_fht4x4 = vp9_short_fht4x4_c;
1084 if (flags & HAS_SSE2) vp9_short_fht4x4 = vp9_short_fht4x4_sse2;
1085
1086 vp9_short_fht8x8 = vp9_short_fht8x8_c;
1087 if (flags & HAS_SSE2) vp9_short_fht8x8 = vp9_short_fht8x8_sse2;
1088
1089 vp9_short_fht16x16 = vp9_short_fht16x16_c;
1090 if (flags & HAS_SSE2) vp9_short_fht16x16 = vp9_short_fht16x16_sse2;
1091
1092
1093 vp9_fdct4x4 = vp9_fdct4x4_c;
1094 if (flags & HAS_SSE2) vp9_fdct4x4 = vp9_fdct4x4_sse2;
1095
1096 vp9_fdct8x8 = vp9_fdct8x8_c;
1097 if (flags & HAS_SSE2) vp9_fdct8x8 = vp9_fdct8x8_sse2;
1098
1099 vp9_fdct16x16 = vp9_fdct16x16_c;
1100 if (flags & HAS_SSE2) vp9_fdct16x16 = vp9_fdct16x16_sse2;
1101
1102 vp9_fdct32x32 = vp9_fdct32x32_c;
1103 if (flags & HAS_SSE2) vp9_fdct32x32 = vp9_fdct32x32_sse2;
1104
1105 vp9_fdct32x32_rd = vp9_fdct32x32_rd_c;
1106 if (flags & HAS_SSE2) vp9_fdct32x32_rd = vp9_fdct32x32_rd_sse2;
1107
1108 vp9_full_search_sad = vp9_full_search_sad_c;
1109 if (flags & HAS_SSE3) vp9_full_search_sad = vp9_full_search_sadx3;
1110 if (flags & HAS_SSE4_1) vp9_full_search_sad = vp9_full_search_sadx8;
1111
1112 vp9_refining_search_sad = vp9_refining_search_sad_c;
1113 if (flags & HAS_SSE3) vp9_refining_search_sad = vp9_refining_search_sadx4;
1114
1115 vp9_diamond_search_sad = vp9_diamond_search_sad_c;
1116 if (flags & HAS_SSE3) vp9_diamond_search_sad = vp9_diamond_search_sadx4;
1117
1118 vp9_temporal_filter_apply = vp9_temporal_filter_apply_c;
1119 if (flags & HAS_SSE2) vp9_temporal_filter_apply = vp9_temporal_filter_apply_sse2;
1120 }
1121 #endif
1122 #endif

mercurial