OLD | NEW |
| (Empty) |
1 vp9_common_forward_decls() { | |
2 cat <<EOF | |
3 /* | |
4 * VP9 | |
5 */ | |
6 | |
7 #include "vpx/vpx_integer.h" | |
8 #include "vp9/common/vp9_enums.h" | |
9 | |
10 struct macroblockd; | |
11 | |
12 /* Encoder forward decls */ | |
13 struct macroblock; | |
14 struct vp9_variance_vtable; | |
15 | |
16 #define DEC_MVCOSTS int *mvjcost, int *mvcost[2] | |
17 struct mv; | |
18 union int_mv; | |
19 struct yv12_buffer_config; | |
20 EOF | |
21 } | |
22 forward_decls vp9_common_forward_decls | |
23 | |
24 # x86inc.asm doesn't work if pic is enabled on 32 bit platforms so no assembly. | |
25 [ "$CONFIG_USE_X86INC" = "yes" ] && mmx_x86inc=mmx && sse_x86inc=sse && | |
26 sse2_x86inc=sse2 && ssse3_x86inc=ssse3 && avx_x86inc=avx && avx2_x86inc=avx2 | |
27 | |
28 # this variable is for functions that are 64 bit only. | |
29 [ $arch = "x86_64" ] && mmx_x86_64=mmx && sse2_x86_64=sse2 && | |
30 ssse3_x86_64=ssse3 && avx_x86_64=avx && avx2_x86_64=avx2 | |
31 | |
32 # | |
33 # RECON | |
34 # | |
35 prototype void vp9_d207_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
36 specialize vp9_d207_predictor_4x4 $ssse3_x86inc | |
37 | |
38 prototype void vp9_d45_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const ui
nt8_t *above, const uint8_t *left" | |
39 specialize vp9_d45_predictor_4x4 $ssse3_x86inc | |
40 | |
41 prototype void vp9_d63_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const ui
nt8_t *above, const uint8_t *left" | |
42 specialize vp9_d63_predictor_4x4 $ssse3_x86inc | |
43 | |
44 prototype void vp9_h_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const uint
8_t *above, const uint8_t *left" | |
45 specialize vp9_h_predictor_4x4 $ssse3_x86inc neon dspr2 | |
46 | |
47 prototype void vp9_d117_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
48 specialize vp9_d117_predictor_4x4 | |
49 | |
50 prototype void vp9_d135_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
51 specialize vp9_d135_predictor_4x4 | |
52 | |
53 prototype void vp9_d153_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
54 specialize vp9_d153_predictor_4x4 $ssse3_x86inc | |
55 | |
56 prototype void vp9_v_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const uint
8_t *above, const uint8_t *left" | |
57 specialize vp9_v_predictor_4x4 $sse_x86inc neon | |
58 | |
59 prototype void vp9_tm_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const uin
t8_t *above, const uint8_t *left" | |
60 specialize vp9_tm_predictor_4x4 $sse_x86inc neon dspr2 | |
61 | |
62 prototype void vp9_dc_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const uin
t8_t *above, const uint8_t *left" | |
63 specialize vp9_dc_predictor_4x4 $sse_x86inc dspr2 | |
64 | |
65 prototype void vp9_dc_top_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
66 specialize vp9_dc_top_predictor_4x4 | |
67 | |
68 prototype void vp9_dc_left_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, cons
t uint8_t *above, const uint8_t *left" | |
69 specialize vp9_dc_left_predictor_4x4 | |
70 | |
71 prototype void vp9_dc_128_predictor_4x4 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
72 specialize vp9_dc_128_predictor_4x4 | |
73 | |
74 prototype void vp9_d207_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
75 specialize vp9_d207_predictor_8x8 $ssse3_x86inc | |
76 | |
77 prototype void vp9_d45_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const ui
nt8_t *above, const uint8_t *left" | |
78 specialize vp9_d45_predictor_8x8 $ssse3_x86inc | |
79 | |
80 prototype void vp9_d63_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const ui
nt8_t *above, const uint8_t *left" | |
81 specialize vp9_d63_predictor_8x8 $ssse3_x86inc | |
82 | |
83 prototype void vp9_h_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const uint
8_t *above, const uint8_t *left" | |
84 specialize vp9_h_predictor_8x8 $ssse3_x86inc neon dspr2 | |
85 | |
86 prototype void vp9_d117_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
87 specialize vp9_d117_predictor_8x8 | |
88 | |
89 prototype void vp9_d135_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
90 specialize vp9_d135_predictor_8x8 | |
91 | |
92 prototype void vp9_d153_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
93 specialize vp9_d153_predictor_8x8 $ssse3_x86inc | |
94 | |
95 prototype void vp9_v_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const uint
8_t *above, const uint8_t *left" | |
96 specialize vp9_v_predictor_8x8 $sse_x86inc neon | |
97 | |
98 prototype void vp9_tm_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const uin
t8_t *above, const uint8_t *left" | |
99 specialize vp9_tm_predictor_8x8 $sse2_x86inc neon dspr2 | |
100 | |
101 prototype void vp9_dc_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const uin
t8_t *above, const uint8_t *left" | |
102 specialize vp9_dc_predictor_8x8 $sse_x86inc dspr2 | |
103 | |
104 prototype void vp9_dc_top_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
105 specialize vp9_dc_top_predictor_8x8 | |
106 | |
107 prototype void vp9_dc_left_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, cons
t uint8_t *above, const uint8_t *left" | |
108 specialize vp9_dc_left_predictor_8x8 | |
109 | |
110 prototype void vp9_dc_128_predictor_8x8 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
111 specialize vp9_dc_128_predictor_8x8 | |
112 | |
113 prototype void vp9_d207_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
114 specialize vp9_d207_predictor_16x16 $ssse3_x86inc | |
115 | |
116 prototype void vp9_d45_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
117 specialize vp9_d45_predictor_16x16 $ssse3_x86inc | |
118 | |
119 prototype void vp9_d63_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
120 specialize vp9_d63_predictor_16x16 $ssse3_x86inc | |
121 | |
122 prototype void vp9_h_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const ui
nt8_t *above, const uint8_t *left" | |
123 specialize vp9_h_predictor_16x16 $ssse3_x86inc neon dspr2 | |
124 | |
125 prototype void vp9_d117_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
126 specialize vp9_d117_predictor_16x16 | |
127 | |
128 prototype void vp9_d135_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
129 specialize vp9_d135_predictor_16x16 | |
130 | |
131 prototype void vp9_d153_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
132 specialize vp9_d153_predictor_16x16 $ssse3_x86inc | |
133 | |
134 prototype void vp9_v_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const ui
nt8_t *above, const uint8_t *left" | |
135 specialize vp9_v_predictor_16x16 $sse2_x86inc neon | |
136 | |
137 prototype void vp9_tm_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
138 specialize vp9_tm_predictor_16x16 $sse2_x86inc neon | |
139 | |
140 prototype void vp9_dc_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
141 specialize vp9_dc_predictor_16x16 $sse2_x86inc dspr2 | |
142 | |
143 prototype void vp9_dc_top_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, con
st uint8_t *above, const uint8_t *left" | |
144 specialize vp9_dc_top_predictor_16x16 | |
145 | |
146 prototype void vp9_dc_left_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, co
nst uint8_t *above, const uint8_t *left" | |
147 specialize vp9_dc_left_predictor_16x16 | |
148 | |
149 prototype void vp9_dc_128_predictor_16x16 "uint8_t *dst, ptrdiff_t y_stride, con
st uint8_t *above, const uint8_t *left" | |
150 specialize vp9_dc_128_predictor_16x16 | |
151 | |
152 prototype void vp9_d207_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
153 specialize vp9_d207_predictor_32x32 $ssse3_x86inc | |
154 | |
155 prototype void vp9_d45_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
156 specialize vp9_d45_predictor_32x32 $ssse3_x86inc | |
157 | |
158 prototype void vp9_d63_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
159 specialize vp9_d63_predictor_32x32 $ssse3_x86inc | |
160 | |
161 prototype void vp9_h_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const ui
nt8_t *above, const uint8_t *left" | |
162 specialize vp9_h_predictor_32x32 $ssse3_x86inc neon | |
163 | |
164 prototype void vp9_d117_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
165 specialize vp9_d117_predictor_32x32 | |
166 | |
167 prototype void vp9_d135_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
168 specialize vp9_d135_predictor_32x32 | |
169 | |
170 prototype void vp9_d153_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const
uint8_t *above, const uint8_t *left" | |
171 specialize vp9_d153_predictor_32x32 | |
172 | |
173 prototype void vp9_v_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const ui
nt8_t *above, const uint8_t *left" | |
174 specialize vp9_v_predictor_32x32 $sse2_x86inc neon | |
175 | |
176 prototype void vp9_tm_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
177 specialize vp9_tm_predictor_32x32 $sse2_x86_64 neon | |
178 | |
179 prototype void vp9_dc_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, const u
int8_t *above, const uint8_t *left" | |
180 specialize vp9_dc_predictor_32x32 $sse2_x86inc | |
181 | |
182 prototype void vp9_dc_top_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, con
st uint8_t *above, const uint8_t *left" | |
183 specialize vp9_dc_top_predictor_32x32 | |
184 | |
185 prototype void vp9_dc_left_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, co
nst uint8_t *above, const uint8_t *left" | |
186 specialize vp9_dc_left_predictor_32x32 | |
187 | |
188 prototype void vp9_dc_128_predictor_32x32 "uint8_t *dst, ptrdiff_t y_stride, con
st uint8_t *above, const uint8_t *left" | |
189 specialize vp9_dc_128_predictor_32x32 | |
190 | |
191 # | |
192 # Loopfilter | |
193 # | |
194 prototype void vp9_lpf_vertical_16 "uint8_t *s, int pitch, const uint8_t *blimit
, const uint8_t *limit, const uint8_t *thresh" | |
195 specialize vp9_lpf_vertical_16 sse2 neon dspr2 | |
196 | |
197 prototype void vp9_lpf_vertical_16_dual "uint8_t *s, int pitch, const uint8_t *b
limit, const uint8_t *limit, const uint8_t *thresh" | |
198 specialize vp9_lpf_vertical_16_dual sse2 neon dspr2 | |
199 | |
200 prototype void vp9_lpf_vertical_8 "uint8_t *s, int pitch, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh, int count" | |
201 specialize vp9_lpf_vertical_8 sse2 neon dspr2 | |
202 | |
203 prototype void vp9_lpf_vertical_8_dual "uint8_t *s, int pitch, const uint8_t *bl
imit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, co
nst uint8_t *limit1, const uint8_t *thresh1" | |
204 specialize vp9_lpf_vertical_8_dual sse2 neon dspr2 | |
205 | |
206 prototype void vp9_lpf_vertical_4 "uint8_t *s, int pitch, const uint8_t *blimit,
const uint8_t *limit, const uint8_t *thresh, int count" | |
207 specialize vp9_lpf_vertical_4 mmx neon dspr2 | |
208 | |
209 prototype void vp9_lpf_vertical_4_dual "uint8_t *s, int pitch, const uint8_t *bl
imit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, co
nst uint8_t *limit1, const uint8_t *thresh1" | |
210 specialize vp9_lpf_vertical_4_dual sse2 neon dspr2 | |
211 | |
212 prototype void vp9_lpf_horizontal_16 "uint8_t *s, int pitch, const uint8_t *blim
it, const uint8_t *limit, const uint8_t *thresh, int count" | |
213 specialize vp9_lpf_horizontal_16 sse2 avx2 neon dspr2 | |
214 | |
215 prototype void vp9_lpf_horizontal_8 "uint8_t *s, int pitch, const uint8_t *blimi
t, const uint8_t *limit, const uint8_t *thresh, int count" | |
216 specialize vp9_lpf_horizontal_8 sse2 neon dspr2 | |
217 | |
218 prototype void vp9_lpf_horizontal_8_dual "uint8_t *s, int pitch, const uint8_t *
blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1,
const uint8_t *limit1, const uint8_t *thresh1" | |
219 specialize vp9_lpf_horizontal_8_dual sse2 neon dspr2 | |
220 | |
221 prototype void vp9_lpf_horizontal_4 "uint8_t *s, int pitch, const uint8_t *blimi
t, const uint8_t *limit, const uint8_t *thresh, int count" | |
222 specialize vp9_lpf_horizontal_4 mmx neon dspr2 | |
223 | |
224 prototype void vp9_lpf_horizontal_4_dual "uint8_t *s, int pitch, const uint8_t *
blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1,
const uint8_t *limit1, const uint8_t *thresh1" | |
225 specialize vp9_lpf_horizontal_4_dual sse2 neon dspr2 | |
226 | |
227 # | |
228 # post proc | |
229 # | |
230 if [ "$CONFIG_VP9_POSTPROC" = "yes" ]; then | |
231 prototype void vp9_mbpost_proc_down "uint8_t *dst, int pitch, int rows, int cols
, int flimit" | |
232 specialize vp9_mbpost_proc_down mmx sse2 | |
233 vp9_mbpost_proc_down_sse2=vp9_mbpost_proc_down_xmm | |
234 | |
235 prototype void vp9_mbpost_proc_across_ip "uint8_t *src, int pitch, int rows, int
cols, int flimit" | |
236 specialize vp9_mbpost_proc_across_ip sse2 | |
237 vp9_mbpost_proc_across_ip_sse2=vp9_mbpost_proc_across_ip_xmm | |
238 | |
239 prototype void vp9_post_proc_down_and_across "const uint8_t *src_ptr, uint8_t *d
st_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int cols, in
t flimit" | |
240 specialize vp9_post_proc_down_and_across mmx sse2 | |
241 vp9_post_proc_down_and_across_sse2=vp9_post_proc_down_and_across_xmm | |
242 | |
243 prototype void vp9_plane_add_noise "uint8_t *Start, char *noise, char blackclamp
[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned int
Height, int Pitch" | |
244 specialize vp9_plane_add_noise mmx sse2 | |
245 vp9_plane_add_noise_sse2=vp9_plane_add_noise_wmt | |
246 fi | |
247 | |
248 prototype void vp9_blend_mb_inner "uint8_t *y, uint8_t *u, uint8_t *v, int y1, i
nt u1, int v1, int alpha, int stride" | |
249 specialize vp9_blend_mb_inner | |
250 | |
251 prototype void vp9_blend_mb_outer "uint8_t *y, uint8_t *u, uint8_t *v, int y1, i
nt u1, int v1, int alpha, int stride" | |
252 specialize vp9_blend_mb_outer | |
253 | |
254 prototype void vp9_blend_b "uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1,
int v1, int alpha, int stride" | |
255 specialize vp9_blend_b | |
256 | |
257 # | |
258 # Sub Pixel Filters | |
259 # | |
260 prototype void vp9_convolve_copy "const uint8_t *src, ptrdiff_t src_stride, uint
8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const in
t16_t *filter_y, int y_step_q4, int w, int h" | |
261 specialize vp9_convolve_copy $sse2_x86inc neon dspr2 | |
262 | |
263 prototype 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 int
16_t *filter_y, int y_step_q4, int w, int h" | |
264 specialize vp9_convolve_avg $sse2_x86inc neon dspr2 | |
265 | |
266 prototype 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" | |
267 specialize vp9_convolve8 sse2 ssse3 avx2 neon dspr2 | |
268 | |
269 prototype void vp9_convolve8_horiz "const uint8_t *src, ptrdiff_t src_stride, ui
nt8_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" | |
270 specialize vp9_convolve8_horiz sse2 ssse3 avx2 neon dspr2 | |
271 | |
272 prototype void vp9_convolve8_vert "const uint8_t *src, ptrdiff_t src_stride, uin
t8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const i
nt16_t *filter_y, int y_step_q4, int w, int h" | |
273 specialize vp9_convolve8_vert sse2 ssse3 avx2 neon dspr2 | |
274 | |
275 prototype void vp9_convolve8_avg "const uint8_t *src, ptrdiff_t src_stride, uint
8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const in
t16_t *filter_y, int y_step_q4, int w, int h" | |
276 specialize vp9_convolve8_avg sse2 ssse3 neon dspr2 | |
277 | |
278 prototype 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, co
nst int16_t *filter_y, int y_step_q4, int w, int h" | |
279 specialize vp9_convolve8_avg_horiz sse2 ssse3 neon dspr2 | |
280 | |
281 prototype 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, con
st int16_t *filter_y, int y_step_q4, int w, int h" | |
282 specialize vp9_convolve8_avg_vert sse2 ssse3 neon dspr2 | |
283 | |
284 # | |
285 # dct | |
286 # | |
287 prototype void vp9_idct4x4_1_add "const int16_t *input, uint8_t *dest, int dest_
stride" | |
288 specialize vp9_idct4x4_1_add sse2 neon dspr2 | |
289 | |
290 prototype void vp9_idct4x4_16_add "const int16_t *input, uint8_t *dest, int dest
_stride" | |
291 specialize vp9_idct4x4_16_add sse2 neon dspr2 | |
292 | |
293 prototype void vp9_idct8x8_1_add "const int16_t *input, uint8_t *dest, int dest_
stride" | |
294 specialize vp9_idct8x8_1_add sse2 neon dspr2 | |
295 | |
296 prototype void vp9_idct8x8_64_add "const int16_t *input, uint8_t *dest, int dest
_stride" | |
297 specialize vp9_idct8x8_64_add sse2 neon dspr2 | |
298 | |
299 prototype void vp9_idct8x8_10_add "const int16_t *input, uint8_t *dest, int dest
_stride" | |
300 specialize vp9_idct8x8_10_add sse2 neon dspr2 | |
301 | |
302 prototype void vp9_idct16x16_1_add "const int16_t *input, uint8_t *dest, int des
t_stride" | |
303 specialize vp9_idct16x16_1_add sse2 neon dspr2 | |
304 | |
305 prototype void vp9_idct16x16_256_add "const int16_t *input, uint8_t *dest, int d
est_stride" | |
306 specialize vp9_idct16x16_256_add sse2 neon dspr2 | |
307 | |
308 prototype void vp9_idct16x16_10_add "const int16_t *input, uint8_t *dest, int de
st_stride" | |
309 specialize vp9_idct16x16_10_add sse2 neon dspr2 | |
310 | |
311 prototype void vp9_idct32x32_1024_add "const int16_t *input, uint8_t *dest, int
dest_stride" | |
312 specialize vp9_idct32x32_1024_add sse2 neon dspr2 | |
313 | |
314 prototype void vp9_idct32x32_34_add "const int16_t *input, uint8_t *dest, int de
st_stride" | |
315 specialize vp9_idct32x32_34_add sse2 neon dspr2 | |
316 vp9_idct32x32_34_add_neon=vp9_idct32x32_1024_add_neon | |
317 | |
318 prototype void vp9_idct32x32_1_add "const int16_t *input, uint8_t *dest, int des
t_stride" | |
319 specialize vp9_idct32x32_1_add sse2 neon dspr2 | |
320 | |
321 prototype void vp9_iht4x4_16_add "const int16_t *input, uint8_t *dest, int dest_
stride, int tx_type" | |
322 specialize vp9_iht4x4_16_add sse2 neon dspr2 | |
323 | |
324 prototype void vp9_iht8x8_64_add "const int16_t *input, uint8_t *dest, int dest_
stride, int tx_type" | |
325 specialize vp9_iht8x8_64_add sse2 neon dspr2 | |
326 | |
327 prototype void vp9_iht16x16_256_add "const int16_t *input, uint8_t *output, int
pitch, int tx_type" | |
328 specialize vp9_iht16x16_256_add sse2 dspr2 | |
329 | |
330 # dct and add | |
331 | |
332 prototype void vp9_iwht4x4_1_add "const int16_t *input, uint8_t *dest, int dest_
stride" | |
333 specialize vp9_iwht4x4_1_add | |
334 | |
335 prototype void vp9_iwht4x4_16_add "const int16_t *input, uint8_t *dest, int dest
_stride" | |
336 specialize vp9_iwht4x4_16_add | |
337 | |
338 # | |
339 # Encoder functions below this point. | |
340 # | |
341 if [ "$CONFIG_VP9_ENCODER" = "yes" ]; then | |
342 | |
343 | |
344 # variance | |
345 prototype unsigned int vp9_variance32x16 "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
346 specialize vp9_variance32x16 $sse2_x86inc $avx2_x86inc | |
347 | |
348 prototype unsigned int vp9_variance16x32 "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
349 specialize vp9_variance16x32 $sse2_x86inc | |
350 | |
351 prototype unsigned int vp9_variance64x32 "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
352 specialize vp9_variance64x32 $sse2_x86inc $avx2_x86inc | |
353 | |
354 prototype unsigned int vp9_variance32x64 "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
355 specialize vp9_variance32x64 $sse2_x86inc | |
356 | |
357 prototype unsigned int vp9_variance32x32 "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
358 specialize vp9_variance32x32 $sse2_x86inc $avx2_x86inc | |
359 | |
360 prototype unsigned int vp9_variance64x64 "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
361 specialize vp9_variance64x64 $sse2_x86inc $avx2_x86inc | |
362 | |
363 prototype unsigned int vp9_variance16x16 "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
364 specialize vp9_variance16x16 mmx $sse2_x86inc $avx2_x86inc | |
365 | |
366 prototype unsigned int vp9_variance16x8 "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
367 specialize vp9_variance16x8 mmx $sse2_x86inc | |
368 | |
369 prototype unsigned int vp9_variance8x16 "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
370 specialize vp9_variance8x16 mmx $sse2_x86inc | |
371 | |
372 prototype unsigned int vp9_variance8x8 "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
373 specialize vp9_variance8x8 mmx $sse2_x86inc | |
374 | |
375 prototype void vp9_get_sse_sum_8x8 "const uint8_t *src_ptr, int source_stride, c
onst uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum" | |
376 specialize vp9_get_sse_sum_8x8 sse2 | |
377 vp9_get_sse_sum_8x8_sse2=vp9_get8x8var_sse2 | |
378 | |
379 prototype unsigned int vp9_variance8x4 "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
380 specialize vp9_variance8x4 $sse2_x86inc | |
381 | |
382 prototype unsigned int vp9_variance4x8 "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
383 specialize vp9_variance4x8 $sse2_x86inc | |
384 | |
385 prototype unsigned int vp9_variance4x4 "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
386 specialize vp9_variance4x4 mmx $sse2_x86inc | |
387 | |
388 prototype unsigned int vp9_sub_pixel_variance64x64 "const uint8_t *src_ptr, int
source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride
, unsigned int *sse" | |
389 specialize vp9_sub_pixel_variance64x64 $sse2_x86inc $ssse3_x86inc avx2 | |
390 | |
391 prototype unsigned int vp9_sub_pixel_avg_variance64x64 "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_st
ride, unsigned int *sse, const uint8_t *second_pred" | |
392 specialize vp9_sub_pixel_avg_variance64x64 $sse2_x86inc $ssse3_x86inc avx2 | |
393 | |
394 prototype unsigned int vp9_sub_pixel_variance32x64 "const uint8_t *src_ptr, int
source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride
, unsigned int *sse" | |
395 specialize vp9_sub_pixel_variance32x64 $sse2_x86inc $ssse3_x86inc | |
396 | |
397 prototype unsigned int vp9_sub_pixel_avg_variance32x64 "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_st
ride, unsigned int *sse, const uint8_t *second_pred" | |
398 specialize vp9_sub_pixel_avg_variance32x64 $sse2_x86inc $ssse3_x86inc | |
399 | |
400 prototype unsigned int vp9_sub_pixel_variance64x32 "const uint8_t *src_ptr, int
source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride
, unsigned int *sse" | |
401 specialize vp9_sub_pixel_variance64x32 $sse2_x86inc $ssse3_x86inc | |
402 | |
403 prototype unsigned int vp9_sub_pixel_avg_variance64x32 "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_st
ride, unsigned int *sse, const uint8_t *second_pred" | |
404 specialize vp9_sub_pixel_avg_variance64x32 $sse2_x86inc $ssse3_x86inc | |
405 | |
406 prototype unsigned int vp9_sub_pixel_variance32x16 "const uint8_t *src_ptr, int
source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride
, unsigned int *sse" | |
407 specialize vp9_sub_pixel_variance32x16 $sse2_x86inc $ssse3_x86inc | |
408 | |
409 prototype unsigned int vp9_sub_pixel_avg_variance32x16 "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_st
ride, unsigned int *sse, const uint8_t *second_pred" | |
410 specialize vp9_sub_pixel_avg_variance32x16 $sse2_x86inc $ssse3_x86inc | |
411 | |
412 prototype unsigned int vp9_sub_pixel_variance16x32 "const uint8_t *src_ptr, int
source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride
, unsigned int *sse" | |
413 specialize vp9_sub_pixel_variance16x32 $sse2_x86inc $ssse3_x86inc | |
414 | |
415 prototype unsigned int vp9_sub_pixel_avg_variance16x32 "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_st
ride, unsigned int *sse, const uint8_t *second_pred" | |
416 specialize vp9_sub_pixel_avg_variance16x32 $sse2_x86inc $ssse3_x86inc | |
417 | |
418 prototype unsigned int vp9_sub_pixel_variance32x32 "const uint8_t *src_ptr, int
source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride
, unsigned int *sse" | |
419 specialize vp9_sub_pixel_variance32x32 $sse2_x86inc $ssse3_x86inc avx2 | |
420 | |
421 prototype unsigned int vp9_sub_pixel_avg_variance32x32 "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_st
ride, unsigned int *sse, const uint8_t *second_pred" | |
422 specialize vp9_sub_pixel_avg_variance32x32 $sse2_x86inc $ssse3_x86inc avx2 | |
423 | |
424 prototype unsigned int vp9_sub_pixel_variance16x16 "const uint8_t *src_ptr, int
source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride
, unsigned int *sse" | |
425 specialize vp9_sub_pixel_variance16x16 $sse2_x86inc $ssse3_x86inc | |
426 | |
427 prototype unsigned int vp9_sub_pixel_avg_variance16x16 "const uint8_t *src_ptr,
int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_st
ride, unsigned int *sse, const uint8_t *second_pred" | |
428 specialize vp9_sub_pixel_avg_variance16x16 $sse2_x86inc $ssse3_x86inc | |
429 | |
430 prototype unsigned int vp9_sub_pixel_variance8x16 "const uint8_t *src_ptr, int s
ource_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride,
unsigned int *sse" | |
431 specialize vp9_sub_pixel_variance8x16 $sse2_x86inc $ssse3_x86inc | |
432 | |
433 prototype unsigned int vp9_sub_pixel_avg_variance8x16 "const uint8_t *src_ptr, i
nt source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_str
ide, unsigned int *sse, const uint8_t *second_pred" | |
434 specialize vp9_sub_pixel_avg_variance8x16 $sse2_x86inc $ssse3_x86inc | |
435 | |
436 prototype unsigned int vp9_sub_pixel_variance16x8 "const uint8_t *src_ptr, int s
ource_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride,
unsigned int *sse" | |
437 specialize vp9_sub_pixel_variance16x8 $sse2_x86inc $ssse3_x86inc | |
438 | |
439 prototype unsigned int vp9_sub_pixel_avg_variance16x8 "const uint8_t *src_ptr, i
nt source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_str
ide, unsigned int *sse, const uint8_t *second_pred" | |
440 specialize vp9_sub_pixel_avg_variance16x8 $sse2_x86inc $ssse3_x86inc | |
441 | |
442 prototype unsigned int vp9_sub_pixel_variance8x8 "const uint8_t *src_ptr, int so
urce_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride,
unsigned int *sse" | |
443 specialize vp9_sub_pixel_variance8x8 $sse2_x86inc $ssse3_x86inc | |
444 | |
445 prototype unsigned int vp9_sub_pixel_avg_variance8x8 "const uint8_t *src_ptr, in
t source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stri
de, unsigned int *sse, const uint8_t *second_pred" | |
446 specialize vp9_sub_pixel_avg_variance8x8 $sse2_x86inc $ssse3_x86inc | |
447 | |
448 # TODO(jingning): need to convert 8x4/4x8 functions into mmx/sse form | |
449 prototype unsigned int vp9_sub_pixel_variance8x4 "const uint8_t *src_ptr, int so
urce_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, u
nsigned int *sse" | |
450 specialize vp9_sub_pixel_variance8x4 $sse2_x86inc $ssse3_x86inc | |
451 | |
452 prototype unsigned int vp9_sub_pixel_avg_variance8x4 "const uint8_t *src_ptr, in
t source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_strid
e, unsigned int *sse, const uint8_t *second_pred" | |
453 specialize vp9_sub_pixel_avg_variance8x4 $sse2_x86inc $ssse3_x86inc | |
454 | |
455 prototype unsigned int vp9_sub_pixel_variance4x8 "const uint8_t *src_ptr, int so
urce_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, u
nsigned int *sse" | |
456 specialize vp9_sub_pixel_variance4x8 $sse_x86inc $ssse3_x86inc | |
457 | |
458 prototype unsigned int vp9_sub_pixel_avg_variance4x8 "const uint8_t *src_ptr, in
t source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_strid
e, unsigned int *sse, const uint8_t *second_pred" | |
459 specialize vp9_sub_pixel_avg_variance4x8 $sse_x86inc $ssse3_x86inc | |
460 | |
461 prototype unsigned int vp9_sub_pixel_variance4x4 "const uint8_t *src_ptr, int so
urce_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride,
unsigned int *sse" | |
462 specialize vp9_sub_pixel_variance4x4 $sse_x86inc $ssse3_x86inc | |
463 #vp9_sub_pixel_variance4x4_sse2=vp9_sub_pixel_variance4x4_wmt | |
464 | |
465 prototype unsigned int vp9_sub_pixel_avg_variance4x4 "const uint8_t *src_ptr, in
t source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stri
de, unsigned int *sse, const uint8_t *second_pred" | |
466 specialize vp9_sub_pixel_avg_variance4x4 $sse_x86inc $ssse3_x86inc | |
467 | |
468 prototype unsigned int vp9_sad64x64 "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
469 specialize vp9_sad64x64 $sse2_x86inc | |
470 | |
471 prototype unsigned int vp9_sad32x64 "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
472 specialize vp9_sad32x64 $sse2_x86inc | |
473 | |
474 prototype unsigned int vp9_sad64x32 "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
475 specialize vp9_sad64x32 $sse2_x86inc | |
476 | |
477 prototype unsigned int vp9_sad32x16 "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
478 specialize vp9_sad32x16 $sse2_x86inc | |
479 | |
480 prototype unsigned int vp9_sad16x32 "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
481 specialize vp9_sad16x32 $sse2_x86inc | |
482 | |
483 prototype unsigned int vp9_sad32x32 "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
484 specialize vp9_sad32x32 $sse2_x86inc | |
485 | |
486 prototype unsigned int vp9_sad16x16 "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
487 specialize vp9_sad16x16 mmx $sse2_x86inc | |
488 | |
489 prototype unsigned int vp9_sad16x8 "const uint8_t *src_ptr, int source_stride, c
onst uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
490 specialize vp9_sad16x8 mmx $sse2_x86inc | |
491 | |
492 prototype unsigned int vp9_sad8x16 "const uint8_t *src_ptr, int source_stride, c
onst uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
493 specialize vp9_sad8x16 mmx $sse2_x86inc | |
494 | |
495 prototype unsigned int vp9_sad8x8 "const uint8_t *src_ptr, int source_stride, co
nst uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
496 specialize vp9_sad8x8 mmx $sse2_x86inc | |
497 | |
498 prototype unsigned int vp9_sad8x4 "const uint8_t *src_ptr, int source_stride, co
nst uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
499 specialize vp9_sad8x4 $sse2_x86inc | |
500 | |
501 prototype unsigned int vp9_sad4x8 "const uint8_t *src_ptr, int source_stride, co
nst uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
502 specialize vp9_sad4x8 $sse_x86inc | |
503 | |
504 prototype unsigned int vp9_sad4x4 "const uint8_t *src_ptr, int source_stride, co
nst uint8_t *ref_ptr, int ref_stride, unsigned int max_sad" | |
505 specialize vp9_sad4x4 mmx $sse_x86inc | |
506 | |
507 prototype unsigned int vp9_sad64x64_avg "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigne
d int max_sad" | |
508 specialize vp9_sad64x64_avg $sse2_x86inc | |
509 | |
510 prototype unsigned int vp9_sad32x64_avg "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned
int max_sad" | |
511 specialize vp9_sad32x64_avg $sse2_x86inc | |
512 | |
513 prototype unsigned int vp9_sad64x32_avg "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned
int max_sad" | |
514 specialize vp9_sad64x32_avg $sse2_x86inc | |
515 | |
516 prototype unsigned int vp9_sad32x16_avg "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned
int max_sad" | |
517 specialize vp9_sad32x16_avg $sse2_x86inc | |
518 | |
519 prototype unsigned int vp9_sad16x32_avg "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned
int max_sad" | |
520 specialize vp9_sad16x32_avg $sse2_x86inc | |
521 | |
522 prototype unsigned int vp9_sad32x32_avg "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigne
d int max_sad" | |
523 specialize vp9_sad32x32_avg $sse2_x86inc | |
524 | |
525 prototype unsigned int vp9_sad16x16_avg "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigne
d int max_sad" | |
526 specialize vp9_sad16x16_avg $sse2_x86inc | |
527 | |
528 prototype unsigned int vp9_sad16x8_avg "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned
int max_sad" | |
529 specialize vp9_sad16x8_avg $sse2_x86inc | |
530 | |
531 prototype unsigned int vp9_sad8x16_avg "const uint8_t *src_ptr, int source_strid
e, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned
int max_sad" | |
532 specialize vp9_sad8x16_avg $sse2_x86inc | |
533 | |
534 prototype unsigned int vp9_sad8x8_avg "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" | |
535 specialize vp9_sad8x8_avg $sse2_x86inc | |
536 | |
537 prototype unsigned int vp9_sad8x4_avg "const uint8_t *src_ptr, int source_stride
, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned i
nt max_sad" | |
538 specialize vp9_sad8x4_avg $sse2_x86inc | |
539 | |
540 prototype unsigned int vp9_sad4x8_avg "const uint8_t *src_ptr, int source_stride
, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned i
nt max_sad" | |
541 specialize vp9_sad4x8_avg $sse_x86inc | |
542 | |
543 prototype unsigned int vp9_sad4x4_avg "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" | |
544 specialize vp9_sad4x4_avg $sse_x86inc | |
545 | |
546 prototype unsigned int vp9_variance_halfpixvar16x16_h "const uint8_t *src_ptr, i
nt source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
547 specialize vp9_variance_halfpixvar16x16_h $sse2_x86inc | |
548 | |
549 prototype unsigned int vp9_variance_halfpixvar16x16_v "const uint8_t *src_ptr, i
nt source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
550 specialize vp9_variance_halfpixvar16x16_v $sse2_x86inc | |
551 | |
552 prototype unsigned int vp9_variance_halfpixvar16x16_hv "const uint8_t *src_ptr,
int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
553 specialize vp9_variance_halfpixvar16x16_hv $sse2_x86inc | |
554 | |
555 prototype unsigned int vp9_variance_halfpixvar64x64_h "const uint8_t *src_ptr, i
nt source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
556 specialize vp9_variance_halfpixvar64x64_h | |
557 | |
558 prototype unsigned int vp9_variance_halfpixvar64x64_v "const uint8_t *src_ptr, i
nt source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
559 specialize vp9_variance_halfpixvar64x64_v | |
560 | |
561 prototype unsigned int vp9_variance_halfpixvar64x64_hv "const uint8_t *src_ptr,
int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
562 specialize vp9_variance_halfpixvar64x64_hv | |
563 | |
564 prototype unsigned int vp9_variance_halfpixvar32x32_h "const uint8_t *src_ptr, i
nt source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
565 specialize vp9_variance_halfpixvar32x32_h | |
566 | |
567 prototype unsigned int vp9_variance_halfpixvar32x32_v "const uint8_t *src_ptr, i
nt source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
568 specialize vp9_variance_halfpixvar32x32_v | |
569 | |
570 prototype unsigned int vp9_variance_halfpixvar32x32_hv "const uint8_t *src_ptr,
int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse" | |
571 specialize vp9_variance_halfpixvar32x32_hv | |
572 | |
573 prototype void vp9_sad64x64x3 "const uint8_t *src_ptr, int source_stride, const
uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array" | |
574 specialize vp9_sad64x64x3 | |
575 | |
576 prototype void vp9_sad32x32x3 "const uint8_t *src_ptr, int source_stride, const
uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array" | |
577 specialize vp9_sad32x32x3 | |
578 | |
579 prototype void vp9_sad16x16x3 "const uint8_t *src_ptr, int source_stride, const
uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array" | |
580 specialize vp9_sad16x16x3 sse3 ssse3 | |
581 | |
582 prototype void vp9_sad16x8x3 "const uint8_t *src_ptr, int source_stride, const u
int8_t *ref_ptr, int ref_stride, unsigned int *sad_array" | |
583 specialize vp9_sad16x8x3 sse3 ssse3 | |
584 | |
585 prototype void vp9_sad8x16x3 "const uint8_t *src_ptr, int source_stride, const u
int8_t *ref_ptr, int ref_stride, unsigned int *sad_array" | |
586 specialize vp9_sad8x16x3 sse3 | |
587 | |
588 prototype void vp9_sad8x8x3 "const uint8_t *src_ptr, int source_stride, const ui
nt8_t *ref_ptr, int ref_stride, unsigned int *sad_array" | |
589 specialize vp9_sad8x8x3 sse3 | |
590 | |
591 prototype void vp9_sad4x4x3 "const uint8_t *src_ptr, int source_stride, const ui
nt8_t *ref_ptr, int ref_stride, unsigned int *sad_array" | |
592 specialize vp9_sad4x4x3 sse3 | |
593 | |
594 prototype void vp9_sad64x64x8 "const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, uint32_t *sad_array" | |
595 specialize vp9_sad64x64x8 | |
596 | |
597 prototype void vp9_sad32x32x8 "const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, uint32_t *sad_array" | |
598 specialize vp9_sad32x32x8 | |
599 | |
600 prototype void vp9_sad16x16x8 "const uint8_t *src_ptr, int src_stride, const ui
nt8_t *ref_ptr, int ref_stride, uint32_t *sad_array" | |
601 specialize vp9_sad16x16x8 sse4 | |
602 | |
603 prototype void vp9_sad16x8x8 "const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride, uint32_t *sad_array" | |
604 specialize vp9_sad16x8x8 sse4 | |
605 | |
606 prototype void vp9_sad8x16x8 "const uint8_t *src_ptr, int src_stride, const uin
t8_t *ref_ptr, int ref_stride, uint32_t *sad_array" | |
607 specialize vp9_sad8x16x8 sse4 | |
608 | |
609 prototype void vp9_sad8x8x8 "const uint8_t *src_ptr, int src_stride, const uint
8_t *ref_ptr, int ref_stride, uint32_t *sad_array" | |
610 specialize vp9_sad8x8x8 sse4 | |
611 | |
612 prototype void vp9_sad8x4x8 "const uint8_t *src_ptr, int src_stride, const uint8
_t *ref_ptr, int ref_stride, uint32_t *sad_array" | |
613 specialize vp9_sad8x4x8 | |
614 | |
615 prototype void vp9_sad4x8x8 "const uint8_t *src_ptr, int src_stride, const uint8
_t *ref_ptr, int ref_stride, uint32_t *sad_array" | |
616 specialize vp9_sad4x8x8 | |
617 | |
618 prototype void vp9_sad4x4x8 "const uint8_t *src_ptr, int src_stride, const uint
8_t *ref_ptr, int ref_stride, uint32_t *sad_array" | |
619 specialize vp9_sad4x4x8 sse4 | |
620 | |
621 prototype void vp9_sad64x64x4d "const uint8_t *src_ptr, int src_stride, const u
int8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
622 specialize vp9_sad64x64x4d sse2 | |
623 | |
624 prototype void vp9_sad32x64x4d "const uint8_t *src_ptr, int src_stride, const u
int8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
625 specialize vp9_sad32x64x4d sse2 | |
626 | |
627 prototype void vp9_sad64x32x4d "const uint8_t *src_ptr, int src_stride, const u
int8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
628 specialize vp9_sad64x32x4d sse2 | |
629 | |
630 prototype void vp9_sad32x16x4d "const uint8_t *src_ptr, int src_stride, const u
int8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
631 specialize vp9_sad32x16x4d sse2 | |
632 | |
633 prototype void vp9_sad16x32x4d "const uint8_t *src_ptr, int src_stride, const u
int8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
634 specialize vp9_sad16x32x4d sse2 | |
635 | |
636 prototype void vp9_sad32x32x4d "const uint8_t *src_ptr, int src_stride, const u
int8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
637 specialize vp9_sad32x32x4d sse2 | |
638 | |
639 prototype void vp9_sad16x16x4d "const uint8_t *src_ptr, int src_stride, const u
int8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
640 specialize vp9_sad16x16x4d sse2 | |
641 | |
642 prototype void vp9_sad16x8x4d "const uint8_t *src_ptr, int src_stride, const ui
nt8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
643 specialize vp9_sad16x8x4d sse2 | |
644 | |
645 prototype void vp9_sad8x16x4d "const uint8_t *src_ptr, int src_stride, const ui
nt8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
646 specialize vp9_sad8x16x4d sse2 | |
647 | |
648 prototype void vp9_sad8x8x4d "const uint8_t *src_ptr, int src_stride, const uin
t8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
649 specialize vp9_sad8x8x4d sse2 | |
650 | |
651 # TODO(jingning): need to convert these 4x8/8x4 functions into sse2 form | |
652 prototype void vp9_sad8x4x4d "const uint8_t *src_ptr, int src_stride, const uint
8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
653 specialize vp9_sad8x4x4d sse2 | |
654 | |
655 prototype void vp9_sad4x8x4d "const uint8_t *src_ptr, int src_stride, const uint
8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
656 specialize vp9_sad4x8x4d sse | |
657 | |
658 prototype void vp9_sad4x4x4d "const uint8_t *src_ptr, int src_stride, const uin
t8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array" | |
659 specialize vp9_sad4x4x4d sse | |
660 | |
661 #prototype unsigned int vp9_sub_pixel_mse16x16 "const uint8_t *src_ptr, int src
_pixels_per_line, int xoffset, int yoffset, const uint8_t *dst_ptr, int dst_pi
xels_per_line, unsigned int *sse" | |
662 #specialize vp9_sub_pixel_mse16x16 sse2 mmx | |
663 | |
664 prototype unsigned int vp9_mse16x16 "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int recon_stride, unsigned int *sse" | |
665 specialize vp9_mse16x16 mmx $sse2_x86inc $avx2_x86inc | |
666 | |
667 prototype unsigned int vp9_mse8x16 "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int recon_stride, unsigned int *sse" | |
668 specialize vp9_mse8x16 | |
669 | |
670 prototype unsigned int vp9_mse16x8 "const uint8_t *src_ptr, int source_stride,
const uint8_t *ref_ptr, int recon_stride, unsigned int *sse" | |
671 specialize vp9_mse16x8 | |
672 | |
673 prototype unsigned int vp9_mse8x8 "const uint8_t *src_ptr, int source_stride, c
onst uint8_t *ref_ptr, int recon_stride, unsigned int *sse" | |
674 specialize vp9_mse8x8 | |
675 | |
676 prototype unsigned int vp9_sub_pixel_mse64x64 "const uint8_t *src_ptr, int sour
ce_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, u
nsigned int *sse" | |
677 specialize vp9_sub_pixel_mse64x64 | |
678 | |
679 prototype unsigned int vp9_sub_pixel_mse32x32 "const uint8_t *src_ptr, int sour
ce_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, u
nsigned int *sse" | |
680 specialize vp9_sub_pixel_mse32x32 | |
681 | |
682 prototype unsigned int vp9_get_mb_ss "const int16_t *" | |
683 specialize vp9_get_mb_ss mmx sse2 | |
684 # ENCODEMB INVOKE | |
685 | |
686 prototype int64_t vp9_block_error "const int16_t *coeff, const int16_t *dqcoeff,
intptr_t block_size, int64_t *ssz" | |
687 specialize vp9_block_error $sse2_x86inc | |
688 | |
689 prototype void vp9_subtract_block "int rows, int cols, int16_t *diff_ptr, ptrdif
f_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pr
ed_ptr, ptrdiff_t pred_stride" | |
690 specialize vp9_subtract_block $sse2_x86inc | |
691 | |
692 prototype void vp9_quantize_b "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 *qu
ant_ptr, const int16_t *quant_shift_ptr, int16_t *qcoeff_ptr, int16_t *dqcoeff_p
tr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int1
6_t *scan, const int16_t *iscan" | |
693 specialize vp9_quantize_b $ssse3_x86_64 | |
694 | |
695 prototype void vp9_quantize_b_32x32 "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 *dqc
oeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, cons
t int16_t *scan, const int16_t *iscan" | |
696 specialize vp9_quantize_b_32x32 $ssse3_x86_64 | |
697 | |
698 # | |
699 # Structured Similarity (SSIM) | |
700 # | |
701 if [ "$CONFIG_INTERNAL_STATS" = "yes" ]; then | |
702 prototype void vp9_ssim_parms_8x8 "uint8_t *s, int sp, uint8_t *r, int rp, u
nsigned long *sum_s, unsigned long *sum_r, unsigned long *sum_sq_s, unsigned lon
g *sum_sq_r, unsigned long *sum_sxr" | |
703 specialize vp9_ssim_parms_8x8 $sse2_x86_64 | |
704 | |
705 prototype void vp9_ssim_parms_16x16 "uint8_t *s, int sp, uint8_t *r, int rp,
unsigned long *sum_s, unsigned long *sum_r, unsigned long *sum_sq_s, unsigned l
ong *sum_sq_r, unsigned long *sum_sxr" | |
706 specialize vp9_ssim_parms_16x16 $sse2_x86_64 | |
707 fi | |
708 | |
709 # fdct functions | |
710 prototype void vp9_fht4x4 "const int16_t *input, int16_t *output, int stride, in
t tx_type" | |
711 specialize vp9_fht4x4 sse2 avx2 | |
712 | |
713 prototype void vp9_fht8x8 "const int16_t *input, int16_t *output, int stride, in
t tx_type" | |
714 specialize vp9_fht8x8 sse2 avx2 | |
715 | |
716 prototype void vp9_fht16x16 "const int16_t *input, int16_t *output, int stride,
int tx_type" | |
717 specialize vp9_fht16x16 sse2 avx2 | |
718 | |
719 prototype void vp9_fwht4x4 "const int16_t *input, int16_t *output, int stride" | |
720 specialize vp9_fwht4x4 | |
721 | |
722 prototype void vp9_fdct4x4 "const int16_t *input, int16_t *output, int stride" | |
723 specialize vp9_fdct4x4 sse2 avx2 | |
724 | |
725 prototype void vp9_fdct8x8 "const int16_t *input, int16_t *output, int stride" | |
726 specialize vp9_fdct8x8 sse2 avx2 | |
727 | |
728 prototype void vp9_fdct16x16 "const int16_t *input, int16_t *output, int stride" | |
729 specialize vp9_fdct16x16 sse2 avx2 | |
730 | |
731 prototype void vp9_fdct32x32 "const int16_t *input, int16_t *output, int stride" | |
732 specialize vp9_fdct32x32 sse2 avx2 | |
733 | |
734 prototype void vp9_fdct32x32_rd "const int16_t *input, int16_t *output, int stri
de" | |
735 specialize vp9_fdct32x32_rd sse2 avx2 | |
736 | |
737 # | |
738 # Motion search | |
739 # | |
740 prototype int vp9_full_search_sad "const struct macroblock *x, const struct mv *
ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr,
DEC_MVCOSTS, const struct mv *center_mv, struct mv *best_mv" | |
741 specialize vp9_full_search_sad sse3 sse4_1 | |
742 vp9_full_search_sad_sse3=vp9_full_search_sadx3 | |
743 vp9_full_search_sad_sse4_1=vp9_full_search_sadx8 | |
744 | |
745 prototype int vp9_refining_search_sad "const struct macroblock *x, struct mv *re
f_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, D
EC_MVCOSTS, const struct mv *center_mv" | |
746 specialize vp9_refining_search_sad sse3 | |
747 vp9_refining_search_sad_sse3=vp9_refining_search_sadx4 | |
748 | |
749 prototype int vp9_diamond_search_sad "const struct macroblock *x, struct mv *ref
_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const st
ruct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, const struct mv *center_mv" | |
750 specialize vp9_diamond_search_sad sse3 | |
751 vp9_diamond_search_sad_sse3=vp9_diamond_search_sadx4 | |
752 | |
753 prototype int vp9_full_range_search "const struct macroblock *x, struct mv *ref_
mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const str
uct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, const struct mv *center_mv" | |
754 specialize vp9_full_range_search | |
755 | |
756 prototype void vp9_temporal_filter_apply "uint8_t *frame1, unsigned int stride,
uint8_t *frame2, unsigned int block_size, int strength, int filter_weight, unsig
ned int *accumulator, uint16_t *count" | |
757 specialize vp9_temporal_filter_apply sse2 | |
758 | |
759 fi | |
760 # end encoder functions | |
OLD | NEW |