media/libvpx/vp9_rtcd_armv7-android-gcc.h

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:44f837db9557
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_neon(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_neon(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_neon(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_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
197 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);
198
199 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);
200 void vp9_mbloop_filter_horizontal_edge_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
201 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);
202
203 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);
204 void vp9_loop_filter_horizontal_edge_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
205 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);
206
207 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);
208 #define vp9_blend_mb_inner vp9_blend_mb_inner_c
209
210 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);
211 #define vp9_blend_mb_outer vp9_blend_mb_outer_c
212
213 void vp9_blend_b_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
214 #define vp9_blend_b vp9_blend_b_c
215
216 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);
217 void vp9_convolve_copy_neon(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 RTCD_EXTERN void (*vp9_convolve_copy)(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);
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 void vp9_convolve_avg_neon(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);
222 RTCD_EXTERN void (*vp9_convolve_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);
223
224 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);
225 void vp9_convolve8_neon(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_neon(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 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);
231
232 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);
233 void vp9_convolve8_vert_neon(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 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);
235
236 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);
237 void vp9_convolve8_avg_neon(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);
238 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);
239
240 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);
241 void vp9_convolve8_avg_horiz_neon(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 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);
243
244 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);
245 void vp9_convolve8_avg_vert_neon(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_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);
247
248 void vp9_idct4x4_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
249 void vp9_idct4x4_1_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
250 RTCD_EXTERN void (*vp9_idct4x4_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
251
252 void vp9_idct4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
253 void vp9_idct4x4_16_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
254 RTCD_EXTERN void (*vp9_idct4x4_16_add)(const int16_t *input, uint8_t *dest, int dest_stride);
255
256 void vp9_idct8x8_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
257 void vp9_idct8x8_1_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
258 RTCD_EXTERN void (*vp9_idct8x8_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
259
260 void vp9_idct8x8_64_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
261 void vp9_idct8x8_64_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
262 RTCD_EXTERN void (*vp9_idct8x8_64_add)(const int16_t *input, uint8_t *dest, int dest_stride);
263
264 void vp9_idct8x8_10_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
265 void vp9_idct8x8_10_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
266 RTCD_EXTERN void (*vp9_idct8x8_10_add)(const int16_t *input, uint8_t *dest, int dest_stride);
267
268 void vp9_idct16x16_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
269 void vp9_idct16x16_1_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
270 RTCD_EXTERN void (*vp9_idct16x16_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
271
272 void vp9_idct16x16_256_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
273 void vp9_idct16x16_256_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
274 RTCD_EXTERN void (*vp9_idct16x16_256_add)(const int16_t *input, uint8_t *dest, int dest_stride);
275
276 void vp9_idct16x16_10_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
277 void vp9_idct16x16_10_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
278 RTCD_EXTERN void (*vp9_idct16x16_10_add)(const int16_t *input, uint8_t *dest, int dest_stride);
279
280 void vp9_idct32x32_1024_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
281 void vp9_idct32x32_1024_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
282 RTCD_EXTERN void (*vp9_idct32x32_1024_add)(const int16_t *input, uint8_t *dest, int dest_stride);
283
284 void vp9_idct32x32_34_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
285 #define vp9_idct32x32_34_add vp9_idct32x32_34_add_c
286
287 void vp9_idct32x32_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
288 void vp9_idct32x32_1_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
289 RTCD_EXTERN void (*vp9_idct32x32_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
290
291 void vp9_iht4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
292 void vp9_iht4x4_16_add_neon(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
293 RTCD_EXTERN void (*vp9_iht4x4_16_add)(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
294
295 void vp9_iht8x8_64_add_c(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
296 void vp9_iht8x8_64_add_neon(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
297 RTCD_EXTERN void (*vp9_iht8x8_64_add)(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
298
299 void vp9_iht16x16_256_add_c(const int16_t *input, uint8_t *output, int pitch, int tx_type);
300 #define vp9_iht16x16_256_add vp9_iht16x16_256_add_c
301
302 void vp9_iwht4x4_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
303 #define vp9_iwht4x4_1_add vp9_iwht4x4_1_add_c
304
305 void vp9_iwht4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
306 #define vp9_iwht4x4_16_add vp9_iwht4x4_16_add_c
307
308 unsigned int vp9_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
309 #define vp9_variance32x16 vp9_variance32x16_c
310
311 unsigned int vp9_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
312 #define vp9_variance16x32 vp9_variance16x32_c
313
314 unsigned int vp9_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
315 #define vp9_variance64x32 vp9_variance64x32_c
316
317 unsigned int vp9_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
318 #define vp9_variance32x64 vp9_variance32x64_c
319
320 unsigned int vp9_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
321 #define vp9_variance32x32 vp9_variance32x32_c
322
323 unsigned int vp9_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
324 #define vp9_variance64x64 vp9_variance64x64_c
325
326 unsigned int vp9_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
327 #define vp9_variance16x16 vp9_variance16x16_c
328
329 unsigned int vp9_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
330 #define vp9_variance16x8 vp9_variance16x8_c
331
332 unsigned int vp9_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
333 #define vp9_variance8x16 vp9_variance8x16_c
334
335 unsigned int vp9_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
336 #define vp9_variance8x8 vp9_variance8x8_c
337
338 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);
339 #define vp9_get_sse_sum_8x8 vp9_get_sse_sum_8x8_c
340
341 unsigned int vp9_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
342 #define vp9_variance8x4 vp9_variance8x4_c
343
344 unsigned int vp9_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
345 #define vp9_variance4x8 vp9_variance4x8_c
346
347 unsigned int vp9_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
348 #define vp9_variance4x4 vp9_variance4x4_c
349
350 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);
351 #define vp9_sub_pixel_variance64x64 vp9_sub_pixel_variance64x64_c
352
353 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);
354 #define vp9_sub_pixel_avg_variance64x64 vp9_sub_pixel_avg_variance64x64_c
355
356 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);
357 #define vp9_sub_pixel_variance32x64 vp9_sub_pixel_variance32x64_c
358
359 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);
360 #define vp9_sub_pixel_avg_variance32x64 vp9_sub_pixel_avg_variance32x64_c
361
362 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);
363 #define vp9_sub_pixel_variance64x32 vp9_sub_pixel_variance64x32_c
364
365 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);
366 #define vp9_sub_pixel_avg_variance64x32 vp9_sub_pixel_avg_variance64x32_c
367
368 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);
369 #define vp9_sub_pixel_variance32x16 vp9_sub_pixel_variance32x16_c
370
371 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);
372 #define vp9_sub_pixel_avg_variance32x16 vp9_sub_pixel_avg_variance32x16_c
373
374 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);
375 #define vp9_sub_pixel_variance16x32 vp9_sub_pixel_variance16x32_c
376
377 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);
378 #define vp9_sub_pixel_avg_variance16x32 vp9_sub_pixel_avg_variance16x32_c
379
380 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);
381 #define vp9_sub_pixel_variance32x32 vp9_sub_pixel_variance32x32_c
382
383 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);
384 #define vp9_sub_pixel_avg_variance32x32 vp9_sub_pixel_avg_variance32x32_c
385
386 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);
387 #define vp9_sub_pixel_variance16x16 vp9_sub_pixel_variance16x16_c
388
389 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);
390 #define vp9_sub_pixel_avg_variance16x16 vp9_sub_pixel_avg_variance16x16_c
391
392 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);
393 #define vp9_sub_pixel_variance8x16 vp9_sub_pixel_variance8x16_c
394
395 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);
396 #define vp9_sub_pixel_avg_variance8x16 vp9_sub_pixel_avg_variance8x16_c
397
398 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);
399 #define vp9_sub_pixel_variance16x8 vp9_sub_pixel_variance16x8_c
400
401 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);
402 #define vp9_sub_pixel_avg_variance16x8 vp9_sub_pixel_avg_variance16x8_c
403
404 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);
405 #define vp9_sub_pixel_variance8x8 vp9_sub_pixel_variance8x8_c
406
407 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);
408 #define vp9_sub_pixel_avg_variance8x8 vp9_sub_pixel_avg_variance8x8_c
409
410 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);
411 #define vp9_sub_pixel_variance8x4 vp9_sub_pixel_variance8x4_c
412
413 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);
414 #define vp9_sub_pixel_avg_variance8x4 vp9_sub_pixel_avg_variance8x4_c
415
416 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);
417 #define vp9_sub_pixel_variance4x8 vp9_sub_pixel_variance4x8_c
418
419 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);
420 #define vp9_sub_pixel_avg_variance4x8 vp9_sub_pixel_avg_variance4x8_c
421
422 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);
423 #define vp9_sub_pixel_variance4x4 vp9_sub_pixel_variance4x4_c
424
425 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);
426 #define vp9_sub_pixel_avg_variance4x4 vp9_sub_pixel_avg_variance4x4_c
427
428 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);
429 #define vp9_sad64x64 vp9_sad64x64_c
430
431 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);
432 #define vp9_sad32x64 vp9_sad32x64_c
433
434 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);
435 #define vp9_sad64x32 vp9_sad64x32_c
436
437 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);
438 #define vp9_sad32x16 vp9_sad32x16_c
439
440 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);
441 #define vp9_sad16x32 vp9_sad16x32_c
442
443 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);
444 #define vp9_sad32x32 vp9_sad32x32_c
445
446 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);
447 #define vp9_sad16x16 vp9_sad16x16_c
448
449 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);
450 #define vp9_sad16x8 vp9_sad16x8_c
451
452 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);
453 #define vp9_sad8x16 vp9_sad8x16_c
454
455 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);
456 #define vp9_sad8x8 vp9_sad8x8_c
457
458 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);
459 #define vp9_sad8x4 vp9_sad8x4_c
460
461 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);
462 #define vp9_sad4x8 vp9_sad4x8_c
463
464 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);
465 #define vp9_sad4x4 vp9_sad4x4_c
466
467 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);
468 #define vp9_sad64x64_avg vp9_sad64x64_avg_c
469
470 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);
471 #define vp9_sad32x64_avg vp9_sad32x64_avg_c
472
473 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);
474 #define vp9_sad64x32_avg vp9_sad64x32_avg_c
475
476 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);
477 #define vp9_sad32x16_avg vp9_sad32x16_avg_c
478
479 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);
480 #define vp9_sad16x32_avg vp9_sad16x32_avg_c
481
482 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);
483 #define vp9_sad32x32_avg vp9_sad32x32_avg_c
484
485 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);
486 #define vp9_sad16x16_avg vp9_sad16x16_avg_c
487
488 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);
489 #define vp9_sad16x8_avg vp9_sad16x8_avg_c
490
491 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);
492 #define vp9_sad8x16_avg vp9_sad8x16_avg_c
493
494 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);
495 #define vp9_sad8x8_avg vp9_sad8x8_avg_c
496
497 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);
498 #define vp9_sad8x4_avg vp9_sad8x4_avg_c
499
500 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);
501 #define vp9_sad4x8_avg vp9_sad4x8_avg_c
502
503 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);
504 #define vp9_sad4x4_avg vp9_sad4x4_avg_c
505
506 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);
507 #define vp9_variance_halfpixvar16x16_h vp9_variance_halfpixvar16x16_h_c
508
509 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);
510 #define vp9_variance_halfpixvar16x16_v vp9_variance_halfpixvar16x16_v_c
511
512 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);
513 #define vp9_variance_halfpixvar16x16_hv vp9_variance_halfpixvar16x16_hv_c
514
515 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);
516 #define vp9_variance_halfpixvar64x64_h vp9_variance_halfpixvar64x64_h_c
517
518 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);
519 #define vp9_variance_halfpixvar64x64_v vp9_variance_halfpixvar64x64_v_c
520
521 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);
522 #define vp9_variance_halfpixvar64x64_hv vp9_variance_halfpixvar64x64_hv_c
523
524 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);
525 #define vp9_variance_halfpixvar32x32_h vp9_variance_halfpixvar32x32_h_c
526
527 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);
528 #define vp9_variance_halfpixvar32x32_v vp9_variance_halfpixvar32x32_v_c
529
530 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);
531 #define vp9_variance_halfpixvar32x32_hv vp9_variance_halfpixvar32x32_hv_c
532
533 void vp9_sad64x64x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
534 #define vp9_sad64x64x3 vp9_sad64x64x3_c
535
536 void vp9_sad32x32x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
537 #define vp9_sad32x32x3 vp9_sad32x32x3_c
538
539 void vp9_sad16x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
540 #define vp9_sad16x16x3 vp9_sad16x16x3_c
541
542 void vp9_sad16x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
543 #define vp9_sad16x8x3 vp9_sad16x8x3_c
544
545 void vp9_sad8x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
546 #define vp9_sad8x16x3 vp9_sad8x16x3_c
547
548 void vp9_sad8x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
549 #define vp9_sad8x8x3 vp9_sad8x8x3_c
550
551 void vp9_sad4x4x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array);
552 #define vp9_sad4x4x3 vp9_sad4x4x3_c
553
554 void vp9_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
555 #define vp9_sad64x64x8 vp9_sad64x64x8_c
556
557 void vp9_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
558 #define vp9_sad32x32x8 vp9_sad32x32x8_c
559
560 void vp9_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
561 #define vp9_sad16x16x8 vp9_sad16x16x8_c
562
563 void vp9_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
564 #define vp9_sad16x8x8 vp9_sad16x8x8_c
565
566 void vp9_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
567 #define vp9_sad8x16x8 vp9_sad8x16x8_c
568
569 void vp9_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
570 #define vp9_sad8x8x8 vp9_sad8x8x8_c
571
572 void vp9_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
573 #define vp9_sad8x4x8 vp9_sad8x4x8_c
574
575 void vp9_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
576 #define vp9_sad4x8x8 vp9_sad4x8x8_c
577
578 void vp9_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
579 #define vp9_sad4x4x8 vp9_sad4x4x8_c
580
581 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);
582 #define vp9_sad64x64x4d vp9_sad64x64x4d_c
583
584 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);
585 #define vp9_sad32x64x4d vp9_sad32x64x4d_c
586
587 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);
588 #define vp9_sad64x32x4d vp9_sad64x32x4d_c
589
590 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);
591 #define vp9_sad32x16x4d vp9_sad32x16x4d_c
592
593 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);
594 #define vp9_sad16x32x4d vp9_sad16x32x4d_c
595
596 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);
597 #define vp9_sad32x32x4d vp9_sad32x32x4d_c
598
599 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);
600 #define vp9_sad16x16x4d vp9_sad16x16x4d_c
601
602 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);
603 #define vp9_sad16x8x4d vp9_sad16x8x4d_c
604
605 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);
606 #define vp9_sad8x16x4d vp9_sad8x16x4d_c
607
608 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);
609 #define vp9_sad8x8x4d vp9_sad8x8x4d_c
610
611 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);
612 #define vp9_sad8x4x4d vp9_sad8x4x4d_c
613
614 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);
615 #define vp9_sad4x8x4d vp9_sad4x8x4d_c
616
617 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);
618 #define vp9_sad4x4x4d vp9_sad4x4x4d_c
619
620 unsigned int vp9_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
621 #define vp9_mse16x16 vp9_mse16x16_c
622
623 unsigned int vp9_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
624 #define vp9_mse8x16 vp9_mse8x16_c
625
626 unsigned int vp9_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
627 #define vp9_mse16x8 vp9_mse16x8_c
628
629 unsigned int vp9_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
630 #define vp9_mse8x8 vp9_mse8x8_c
631
632 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);
633 #define vp9_sub_pixel_mse64x64 vp9_sub_pixel_mse64x64_c
634
635 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);
636 #define vp9_sub_pixel_mse32x32 vp9_sub_pixel_mse32x32_c
637
638 unsigned int vp9_get_mb_ss_c(const int16_t *);
639 #define vp9_get_mb_ss vp9_get_mb_ss_c
640
641 int64_t vp9_block_error_c(int16_t *coeff, int16_t *dqcoeff, intptr_t block_size, int64_t *ssz);
642 #define vp9_block_error vp9_block_error_c
643
644 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);
645 #define vp9_subtract_block vp9_subtract_block_c
646
647 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);
648 #define vp9_quantize_b vp9_quantize_b_c
649
650 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);
651 #define vp9_quantize_b_32x32 vp9_quantize_b_32x32_c
652
653 void vp9_short_fht4x4_c(const int16_t *input, int16_t *output, int stride, int tx_type);
654 #define vp9_short_fht4x4 vp9_short_fht4x4_c
655
656 void vp9_short_fht8x8_c(const int16_t *input, int16_t *output, int stride, int tx_type);
657 #define vp9_short_fht8x8 vp9_short_fht8x8_c
658
659 void vp9_short_fht16x16_c(const int16_t *input, int16_t *output, int stride, int tx_type);
660 #define vp9_short_fht16x16 vp9_short_fht16x16_c
661
662 void vp9_fwht4x4_c(const int16_t *input, int16_t *output, int stride);
663 #define vp9_fwht4x4 vp9_fwht4x4_c
664
665 void vp9_fdct4x4_c(const int16_t *input, int16_t *output, int stride);
666 #define vp9_fdct4x4 vp9_fdct4x4_c
667
668 void vp9_fdct8x8_c(const int16_t *input, int16_t *output, int stride);
669 #define vp9_fdct8x8 vp9_fdct8x8_c
670
671 void vp9_fdct16x16_c(const int16_t *input, int16_t *output, int stride);
672 #define vp9_fdct16x16 vp9_fdct16x16_c
673
674 void vp9_fdct32x32_c(const int16_t *input, int16_t *output, int stride);
675 #define vp9_fdct32x32 vp9_fdct32x32_c
676
677 void vp9_fdct32x32_rd_c(const int16_t *input, int16_t *output, int stride);
678 #define vp9_fdct32x32_rd vp9_fdct32x32_rd_c
679
680 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);
681 #define vp9_full_search_sad vp9_full_search_sad_c
682
683 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);
684 #define vp9_refining_search_sad vp9_refining_search_sad_c
685
686 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);
687 #define vp9_diamond_search_sad vp9_diamond_search_sad_c
688
689 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);
690 #define vp9_temporal_filter_apply vp9_temporal_filter_apply_c
691
692 void vp9_yv12_copy_partial_frame_c(struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc, int fraction);
693 #define vp9_yv12_copy_partial_frame vp9_yv12_copy_partial_frame_c
694
695 void vp9_rtcd(void);
696 #include "vpx_config.h"
697
698 #ifdef RTCD_C
699 #include "vpx_ports/arm.h"
700 static void setup_rtcd_internal(void)
701 {
702 int flags = arm_cpu_caps();
703
704 (void)flags;
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758 vp9_mb_lpf_vertical_edge_w = vp9_mb_lpf_vertical_edge_w_c;
759 if (flags & HAS_NEON) vp9_mb_lpf_vertical_edge_w = vp9_mb_lpf_vertical_edge_w_neon;
760
761 vp9_mbloop_filter_vertical_edge = vp9_mbloop_filter_vertical_edge_c;
762 if (flags & HAS_NEON) vp9_mbloop_filter_vertical_edge = vp9_mbloop_filter_vertical_edge_neon;
763
764 vp9_loop_filter_vertical_edge = vp9_loop_filter_vertical_edge_c;
765 if (flags & HAS_NEON) vp9_loop_filter_vertical_edge = vp9_loop_filter_vertical_edge_neon;
766
767 vp9_mb_lpf_horizontal_edge_w = vp9_mb_lpf_horizontal_edge_w_c;
768 if (flags & HAS_NEON) vp9_mb_lpf_horizontal_edge_w = vp9_mb_lpf_horizontal_edge_w_neon;
769
770 vp9_mbloop_filter_horizontal_edge = vp9_mbloop_filter_horizontal_edge_c;
771 if (flags & HAS_NEON) vp9_mbloop_filter_horizontal_edge = vp9_mbloop_filter_horizontal_edge_neon;
772
773 vp9_loop_filter_horizontal_edge = vp9_loop_filter_horizontal_edge_c;
774 if (flags & HAS_NEON) vp9_loop_filter_horizontal_edge = vp9_loop_filter_horizontal_edge_neon;
775
776
777
778
779 vp9_convolve_copy = vp9_convolve_copy_c;
780 if (flags & HAS_NEON) vp9_convolve_copy = vp9_convolve_copy_neon;
781
782 vp9_convolve_avg = vp9_convolve_avg_c;
783 if (flags & HAS_NEON) vp9_convolve_avg = vp9_convolve_avg_neon;
784
785 vp9_convolve8 = vp9_convolve8_c;
786 if (flags & HAS_NEON) vp9_convolve8 = vp9_convolve8_neon;
787
788 vp9_convolve8_horiz = vp9_convolve8_horiz_c;
789 if (flags & HAS_NEON) vp9_convolve8_horiz = vp9_convolve8_horiz_neon;
790
791 vp9_convolve8_vert = vp9_convolve8_vert_c;
792 if (flags & HAS_NEON) vp9_convolve8_vert = vp9_convolve8_vert_neon;
793
794 vp9_convolve8_avg = vp9_convolve8_avg_c;
795 if (flags & HAS_NEON) vp9_convolve8_avg = vp9_convolve8_avg_neon;
796
797 vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_c;
798 if (flags & HAS_NEON) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_neon;
799
800 vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_c;
801 if (flags & HAS_NEON) vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_neon;
802
803 vp9_idct4x4_1_add = vp9_idct4x4_1_add_c;
804 if (flags & HAS_NEON) vp9_idct4x4_1_add = vp9_idct4x4_1_add_neon;
805
806 vp9_idct4x4_16_add = vp9_idct4x4_16_add_c;
807 if (flags & HAS_NEON) vp9_idct4x4_16_add = vp9_idct4x4_16_add_neon;
808
809 vp9_idct8x8_1_add = vp9_idct8x8_1_add_c;
810 if (flags & HAS_NEON) vp9_idct8x8_1_add = vp9_idct8x8_1_add_neon;
811
812 vp9_idct8x8_64_add = vp9_idct8x8_64_add_c;
813 if (flags & HAS_NEON) vp9_idct8x8_64_add = vp9_idct8x8_64_add_neon;
814
815 vp9_idct8x8_10_add = vp9_idct8x8_10_add_c;
816 if (flags & HAS_NEON) vp9_idct8x8_10_add = vp9_idct8x8_10_add_neon;
817
818 vp9_idct16x16_1_add = vp9_idct16x16_1_add_c;
819 if (flags & HAS_NEON) vp9_idct16x16_1_add = vp9_idct16x16_1_add_neon;
820
821 vp9_idct16x16_256_add = vp9_idct16x16_256_add_c;
822 if (flags & HAS_NEON) vp9_idct16x16_256_add = vp9_idct16x16_256_add_neon;
823
824 vp9_idct16x16_10_add = vp9_idct16x16_10_add_c;
825 if (flags & HAS_NEON) vp9_idct16x16_10_add = vp9_idct16x16_10_add_neon;
826
827 vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_c;
828 if (flags & HAS_NEON) vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_neon;
829
830
831 vp9_idct32x32_1_add = vp9_idct32x32_1_add_c;
832 if (flags & HAS_NEON) vp9_idct32x32_1_add = vp9_idct32x32_1_add_neon;
833
834 vp9_iht4x4_16_add = vp9_iht4x4_16_add_c;
835 if (flags & HAS_NEON) vp9_iht4x4_16_add = vp9_iht4x4_16_add_neon;
836
837 vp9_iht8x8_64_add = vp9_iht8x8_64_add_c;
838 if (flags & HAS_NEON) vp9_iht8x8_64_add = vp9_iht8x8_64_add_neon;
839 }
840 #endif
841 #endif

mercurial