1 | /* |
2 | * simd/jsimd.h |
3 | * |
4 | * Copyright 2009 Pierre Ossman <[email protected]> for Cendio AB |
5 | * Copyright (C) 2011, 2014-2016, 2018, 2020, D. R. Commander. |
6 | * Copyright (C) 2013-2014, MIPS Technologies, Inc., California. |
7 | * Copyright (C) 2014, Linaro Limited. |
8 | * Copyright (C) 2015-2016, 2018, Matthieu Darbois. |
9 | * Copyright (C) 2016-2018, Loongson Technology Corporation Limited, BeiJing. |
10 | * Copyright (C) 2020, Arm Limited. |
11 | * |
12 | * Based on the x86 SIMD extension for IJG JPEG library, |
13 | * Copyright (C) 1999-2006, MIYASAKA Masaru. |
14 | * For conditions of distribution and use, see copyright notice in jsimdext.inc |
15 | * |
16 | */ |
17 | |
18 | /* Bitmask for supported acceleration methods */ |
19 | |
20 | #define JSIMD_NONE 0x00 |
21 | #define JSIMD_MMX 0x01 |
22 | #define JSIMD_3DNOW 0x02 |
23 | #define JSIMD_SSE 0x04 |
24 | #define JSIMD_SSE2 0x08 |
25 | #define JSIMD_NEON 0x10 |
26 | #define JSIMD_DSPR2 0x20 |
27 | #define JSIMD_ALTIVEC 0x40 |
28 | #define JSIMD_AVX2 0x80 |
29 | #define JSIMD_MMI 0x100 |
30 | |
31 | /* SIMD Ext: retrieve SIMD/CPU information */ |
32 | EXTERN(unsigned int) jpeg_simd_cpu_support(void); |
33 | |
34 | /* RGB & extended RGB --> YCC Colorspace Conversion */ |
35 | EXTERN(void) jsimd_rgb_ycc_convert_mmx |
36 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
37 | JDIMENSION output_row, int num_rows); |
38 | EXTERN(void) jsimd_extrgb_ycc_convert_mmx |
39 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
40 | JDIMENSION output_row, int num_rows); |
41 | EXTERN(void) jsimd_extrgbx_ycc_convert_mmx |
42 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
43 | JDIMENSION output_row, int num_rows); |
44 | EXTERN(void) jsimd_extbgr_ycc_convert_mmx |
45 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
46 | JDIMENSION output_row, int num_rows); |
47 | EXTERN(void) jsimd_extbgrx_ycc_convert_mmx |
48 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
49 | JDIMENSION output_row, int num_rows); |
50 | EXTERN(void) jsimd_extxbgr_ycc_convert_mmx |
51 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
52 | JDIMENSION output_row, int num_rows); |
53 | EXTERN(void) jsimd_extxrgb_ycc_convert_mmx |
54 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
55 | JDIMENSION output_row, int num_rows); |
56 | |
57 | extern const int jconst_rgb_ycc_convert_sse2[]; |
58 | EXTERN(void) jsimd_rgb_ycc_convert_sse2 |
59 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
60 | JDIMENSION output_row, int num_rows); |
61 | EXTERN(void) jsimd_extrgb_ycc_convert_sse2 |
62 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
63 | JDIMENSION output_row, int num_rows); |
64 | EXTERN(void) jsimd_extrgbx_ycc_convert_sse2 |
65 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
66 | JDIMENSION output_row, int num_rows); |
67 | EXTERN(void) jsimd_extbgr_ycc_convert_sse2 |
68 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
69 | JDIMENSION output_row, int num_rows); |
70 | EXTERN(void) jsimd_extbgrx_ycc_convert_sse2 |
71 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
72 | JDIMENSION output_row, int num_rows); |
73 | EXTERN(void) jsimd_extxbgr_ycc_convert_sse2 |
74 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
75 | JDIMENSION output_row, int num_rows); |
76 | EXTERN(void) jsimd_extxrgb_ycc_convert_sse2 |
77 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
78 | JDIMENSION output_row, int num_rows); |
79 | |
80 | extern const int jconst_rgb_ycc_convert_avx2[]; |
81 | EXTERN(void) jsimd_rgb_ycc_convert_avx2 |
82 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
83 | JDIMENSION output_row, int num_rows); |
84 | EXTERN(void) jsimd_extrgb_ycc_convert_avx2 |
85 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
86 | JDIMENSION output_row, int num_rows); |
87 | EXTERN(void) jsimd_extrgbx_ycc_convert_avx2 |
88 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
89 | JDIMENSION output_row, int num_rows); |
90 | EXTERN(void) jsimd_extbgr_ycc_convert_avx2 |
91 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
92 | JDIMENSION output_row, int num_rows); |
93 | EXTERN(void) jsimd_extbgrx_ycc_convert_avx2 |
94 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
95 | JDIMENSION output_row, int num_rows); |
96 | EXTERN(void) jsimd_extxbgr_ycc_convert_avx2 |
97 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
98 | JDIMENSION output_row, int num_rows); |
99 | EXTERN(void) jsimd_extxrgb_ycc_convert_avx2 |
100 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
101 | JDIMENSION output_row, int num_rows); |
102 | |
103 | EXTERN(void) jsimd_rgb_ycc_convert_neon |
104 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
105 | JDIMENSION output_row, int num_rows); |
106 | EXTERN(void) jsimd_extrgb_ycc_convert_neon |
107 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
108 | JDIMENSION output_row, int num_rows); |
109 | EXTERN(void) jsimd_extrgbx_ycc_convert_neon |
110 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
111 | JDIMENSION output_row, int num_rows); |
112 | EXTERN(void) jsimd_extbgr_ycc_convert_neon |
113 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
114 | JDIMENSION output_row, int num_rows); |
115 | EXTERN(void) jsimd_extbgrx_ycc_convert_neon |
116 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
117 | JDIMENSION output_row, int num_rows); |
118 | EXTERN(void) jsimd_extxbgr_ycc_convert_neon |
119 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
120 | JDIMENSION output_row, int num_rows); |
121 | EXTERN(void) jsimd_extxrgb_ycc_convert_neon |
122 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
123 | JDIMENSION output_row, int num_rows); |
124 | |
125 | #ifndef NEON_INTRINSICS |
126 | |
127 | EXTERN(void) jsimd_extrgb_ycc_convert_neon_slowld3 |
128 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
129 | JDIMENSION output_row, int num_rows); |
130 | EXTERN(void) jsimd_extbgr_ycc_convert_neon_slowld3 |
131 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
132 | JDIMENSION output_row, int num_rows); |
133 | |
134 | #endif |
135 | |
136 | EXTERN(void) jsimd_rgb_ycc_convert_dspr2 |
137 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
138 | JDIMENSION output_row, int num_rows); |
139 | EXTERN(void) jsimd_extrgb_ycc_convert_dspr2 |
140 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
141 | JDIMENSION output_row, int num_rows); |
142 | EXTERN(void) jsimd_extrgbx_ycc_convert_dspr2 |
143 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
144 | JDIMENSION output_row, int num_rows); |
145 | EXTERN(void) jsimd_extbgr_ycc_convert_dspr2 |
146 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
147 | JDIMENSION output_row, int num_rows); |
148 | EXTERN(void) jsimd_extbgrx_ycc_convert_dspr2 |
149 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
150 | JDIMENSION output_row, int num_rows); |
151 | EXTERN(void) jsimd_extxbgr_ycc_convert_dspr2 |
152 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
153 | JDIMENSION output_row, int num_rows); |
154 | EXTERN(void) jsimd_extxrgb_ycc_convert_dspr2 |
155 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
156 | JDIMENSION output_row, int num_rows); |
157 | |
158 | EXTERN(void) jsimd_rgb_ycc_convert_mmi |
159 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
160 | JDIMENSION output_row, int num_rows); |
161 | EXTERN(void) jsimd_extrgb_ycc_convert_mmi |
162 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
163 | JDIMENSION output_row, int num_rows); |
164 | EXTERN(void) jsimd_extrgbx_ycc_convert_mmi |
165 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
166 | JDIMENSION output_row, int num_rows); |
167 | EXTERN(void) jsimd_extbgr_ycc_convert_mmi |
168 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
169 | JDIMENSION output_row, int num_rows); |
170 | EXTERN(void) jsimd_extbgrx_ycc_convert_mmi |
171 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
172 | JDIMENSION output_row, int num_rows); |
173 | EXTERN(void) jsimd_extxbgr_ycc_convert_mmi |
174 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
175 | JDIMENSION output_row, int num_rows); |
176 | EXTERN(void) jsimd_extxrgb_ycc_convert_mmi |
177 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
178 | JDIMENSION output_row, int num_rows); |
179 | |
180 | EXTERN(void) jsimd_rgb_ycc_convert_altivec |
181 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
182 | JDIMENSION output_row, int num_rows); |
183 | EXTERN(void) jsimd_extrgb_ycc_convert_altivec |
184 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
185 | JDIMENSION output_row, int num_rows); |
186 | EXTERN(void) jsimd_extrgbx_ycc_convert_altivec |
187 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
188 | JDIMENSION output_row, int num_rows); |
189 | EXTERN(void) jsimd_extbgr_ycc_convert_altivec |
190 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
191 | JDIMENSION output_row, int num_rows); |
192 | EXTERN(void) jsimd_extbgrx_ycc_convert_altivec |
193 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
194 | JDIMENSION output_row, int num_rows); |
195 | EXTERN(void) jsimd_extxbgr_ycc_convert_altivec |
196 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
197 | JDIMENSION output_row, int num_rows); |
198 | EXTERN(void) jsimd_extxrgb_ycc_convert_altivec |
199 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
200 | JDIMENSION output_row, int num_rows); |
201 | |
202 | /* RGB & extended RGB --> Grayscale Colorspace Conversion */ |
203 | EXTERN(void) jsimd_rgb_gray_convert_mmx |
204 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
205 | JDIMENSION output_row, int num_rows); |
206 | EXTERN(void) jsimd_extrgb_gray_convert_mmx |
207 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
208 | JDIMENSION output_row, int num_rows); |
209 | EXTERN(void) jsimd_extrgbx_gray_convert_mmx |
210 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
211 | JDIMENSION output_row, int num_rows); |
212 | EXTERN(void) jsimd_extbgr_gray_convert_mmx |
213 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
214 | JDIMENSION output_row, int num_rows); |
215 | EXTERN(void) jsimd_extbgrx_gray_convert_mmx |
216 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
217 | JDIMENSION output_row, int num_rows); |
218 | EXTERN(void) jsimd_extxbgr_gray_convert_mmx |
219 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
220 | JDIMENSION output_row, int num_rows); |
221 | EXTERN(void) jsimd_extxrgb_gray_convert_mmx |
222 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
223 | JDIMENSION output_row, int num_rows); |
224 | |
225 | extern const int jconst_rgb_gray_convert_sse2[]; |
226 | EXTERN(void) jsimd_rgb_gray_convert_sse2 |
227 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
228 | JDIMENSION output_row, int num_rows); |
229 | EXTERN(void) jsimd_extrgb_gray_convert_sse2 |
230 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
231 | JDIMENSION output_row, int num_rows); |
232 | EXTERN(void) jsimd_extrgbx_gray_convert_sse2 |
233 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
234 | JDIMENSION output_row, int num_rows); |
235 | EXTERN(void) jsimd_extbgr_gray_convert_sse2 |
236 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
237 | JDIMENSION output_row, int num_rows); |
238 | EXTERN(void) jsimd_extbgrx_gray_convert_sse2 |
239 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
240 | JDIMENSION output_row, int num_rows); |
241 | EXTERN(void) jsimd_extxbgr_gray_convert_sse2 |
242 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
243 | JDIMENSION output_row, int num_rows); |
244 | EXTERN(void) jsimd_extxrgb_gray_convert_sse2 |
245 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
246 | JDIMENSION output_row, int num_rows); |
247 | |
248 | extern const int jconst_rgb_gray_convert_avx2[]; |
249 | EXTERN(void) jsimd_rgb_gray_convert_avx2 |
250 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
251 | JDIMENSION output_row, int num_rows); |
252 | EXTERN(void) jsimd_extrgb_gray_convert_avx2 |
253 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
254 | JDIMENSION output_row, int num_rows); |
255 | EXTERN(void) jsimd_extrgbx_gray_convert_avx2 |
256 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
257 | JDIMENSION output_row, int num_rows); |
258 | EXTERN(void) jsimd_extbgr_gray_convert_avx2 |
259 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
260 | JDIMENSION output_row, int num_rows); |
261 | EXTERN(void) jsimd_extbgrx_gray_convert_avx2 |
262 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
263 | JDIMENSION output_row, int num_rows); |
264 | EXTERN(void) jsimd_extxbgr_gray_convert_avx2 |
265 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
266 | JDIMENSION output_row, int num_rows); |
267 | EXTERN(void) jsimd_extxrgb_gray_convert_avx2 |
268 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
269 | JDIMENSION output_row, int num_rows); |
270 | |
271 | EXTERN(void) jsimd_rgb_gray_convert_neon |
272 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
273 | JDIMENSION output_row, int num_rows); |
274 | EXTERN(void) jsimd_extrgb_gray_convert_neon |
275 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
276 | JDIMENSION output_row, int num_rows); |
277 | EXTERN(void) jsimd_extrgbx_gray_convert_neon |
278 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
279 | JDIMENSION output_row, int num_rows); |
280 | EXTERN(void) jsimd_extbgr_gray_convert_neon |
281 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
282 | JDIMENSION output_row, int num_rows); |
283 | EXTERN(void) jsimd_extbgrx_gray_convert_neon |
284 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
285 | JDIMENSION output_row, int num_rows); |
286 | EXTERN(void) jsimd_extxbgr_gray_convert_neon |
287 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
288 | JDIMENSION output_row, int num_rows); |
289 | EXTERN(void) jsimd_extxrgb_gray_convert_neon |
290 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
291 | JDIMENSION output_row, int num_rows); |
292 | |
293 | EXTERN(void) jsimd_rgb_gray_convert_dspr2 |
294 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
295 | JDIMENSION output_row, int num_rows); |
296 | EXTERN(void) jsimd_extrgb_gray_convert_dspr2 |
297 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
298 | JDIMENSION output_row, int num_rows); |
299 | EXTERN(void) jsimd_extrgbx_gray_convert_dspr2 |
300 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
301 | JDIMENSION output_row, int num_rows); |
302 | EXTERN(void) jsimd_extbgr_gray_convert_dspr2 |
303 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
304 | JDIMENSION output_row, int num_rows); |
305 | EXTERN(void) jsimd_extbgrx_gray_convert_dspr2 |
306 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
307 | JDIMENSION output_row, int num_rows); |
308 | EXTERN(void) jsimd_extxbgr_gray_convert_dspr2 |
309 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
310 | JDIMENSION output_row, int num_rows); |
311 | EXTERN(void) jsimd_extxrgb_gray_convert_dspr2 |
312 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
313 | JDIMENSION output_row, int num_rows); |
314 | |
315 | EXTERN(void) jsimd_rgb_gray_convert_mmi |
316 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
317 | JDIMENSION output_row, int num_rows); |
318 | EXTERN(void) jsimd_extrgb_gray_convert_mmi |
319 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
320 | JDIMENSION output_row, int num_rows); |
321 | EXTERN(void) jsimd_extrgbx_gray_convert_mmi |
322 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
323 | JDIMENSION output_row, int num_rows); |
324 | EXTERN(void) jsimd_extbgr_gray_convert_mmi |
325 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
326 | JDIMENSION output_row, int num_rows); |
327 | EXTERN(void) jsimd_extbgrx_gray_convert_mmi |
328 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
329 | JDIMENSION output_row, int num_rows); |
330 | EXTERN(void) jsimd_extxbgr_gray_convert_mmi |
331 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
332 | JDIMENSION output_row, int num_rows); |
333 | EXTERN(void) jsimd_extxrgb_gray_convert_mmi |
334 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
335 | JDIMENSION output_row, int num_rows); |
336 | |
337 | EXTERN(void) jsimd_rgb_gray_convert_altivec |
338 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
339 | JDIMENSION output_row, int num_rows); |
340 | EXTERN(void) jsimd_extrgb_gray_convert_altivec |
341 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
342 | JDIMENSION output_row, int num_rows); |
343 | EXTERN(void) jsimd_extrgbx_gray_convert_altivec |
344 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
345 | JDIMENSION output_row, int num_rows); |
346 | EXTERN(void) jsimd_extbgr_gray_convert_altivec |
347 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
348 | JDIMENSION output_row, int num_rows); |
349 | EXTERN(void) jsimd_extbgrx_gray_convert_altivec |
350 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
351 | JDIMENSION output_row, int num_rows); |
352 | EXTERN(void) jsimd_extxbgr_gray_convert_altivec |
353 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
354 | JDIMENSION output_row, int num_rows); |
355 | EXTERN(void) jsimd_extxrgb_gray_convert_altivec |
356 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
357 | JDIMENSION output_row, int num_rows); |
358 | |
359 | /* YCC --> RGB & extended RGB Colorspace Conversion */ |
360 | EXTERN(void) jsimd_ycc_rgb_convert_mmx |
361 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
362 | JSAMPARRAY output_buf, int num_rows); |
363 | EXTERN(void) jsimd_ycc_extrgb_convert_mmx |
364 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
365 | JSAMPARRAY output_buf, int num_rows); |
366 | EXTERN(void) jsimd_ycc_extrgbx_convert_mmx |
367 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
368 | JSAMPARRAY output_buf, int num_rows); |
369 | EXTERN(void) jsimd_ycc_extbgr_convert_mmx |
370 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
371 | JSAMPARRAY output_buf, int num_rows); |
372 | EXTERN(void) jsimd_ycc_extbgrx_convert_mmx |
373 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
374 | JSAMPARRAY output_buf, int num_rows); |
375 | EXTERN(void) jsimd_ycc_extxbgr_convert_mmx |
376 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
377 | JSAMPARRAY output_buf, int num_rows); |
378 | EXTERN(void) jsimd_ycc_extxrgb_convert_mmx |
379 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
380 | JSAMPARRAY output_buf, int num_rows); |
381 | |
382 | extern const int jconst_ycc_rgb_convert_sse2[]; |
383 | EXTERN(void) jsimd_ycc_rgb_convert_sse2 |
384 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
385 | JSAMPARRAY output_buf, int num_rows); |
386 | EXTERN(void) jsimd_ycc_extrgb_convert_sse2 |
387 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
388 | JSAMPARRAY output_buf, int num_rows); |
389 | EXTERN(void) jsimd_ycc_extrgbx_convert_sse2 |
390 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
391 | JSAMPARRAY output_buf, int num_rows); |
392 | EXTERN(void) jsimd_ycc_extbgr_convert_sse2 |
393 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
394 | JSAMPARRAY output_buf, int num_rows); |
395 | EXTERN(void) jsimd_ycc_extbgrx_convert_sse2 |
396 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
397 | JSAMPARRAY output_buf, int num_rows); |
398 | EXTERN(void) jsimd_ycc_extxbgr_convert_sse2 |
399 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
400 | JSAMPARRAY output_buf, int num_rows); |
401 | EXTERN(void) jsimd_ycc_extxrgb_convert_sse2 |
402 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
403 | JSAMPARRAY output_buf, int num_rows); |
404 | |
405 | extern const int jconst_ycc_rgb_convert_avx2[]; |
406 | EXTERN(void) jsimd_ycc_rgb_convert_avx2 |
407 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
408 | JSAMPARRAY output_buf, int num_rows); |
409 | EXTERN(void) jsimd_ycc_extrgb_convert_avx2 |
410 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
411 | JSAMPARRAY output_buf, int num_rows); |
412 | EXTERN(void) jsimd_ycc_extrgbx_convert_avx2 |
413 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
414 | JSAMPARRAY output_buf, int num_rows); |
415 | EXTERN(void) jsimd_ycc_extbgr_convert_avx2 |
416 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
417 | JSAMPARRAY output_buf, int num_rows); |
418 | EXTERN(void) jsimd_ycc_extbgrx_convert_avx2 |
419 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
420 | JSAMPARRAY output_buf, int num_rows); |
421 | EXTERN(void) jsimd_ycc_extxbgr_convert_avx2 |
422 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
423 | JSAMPARRAY output_buf, int num_rows); |
424 | EXTERN(void) jsimd_ycc_extxrgb_convert_avx2 |
425 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
426 | JSAMPARRAY output_buf, int num_rows); |
427 | |
428 | EXTERN(void) jsimd_ycc_rgb_convert_neon |
429 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
430 | JSAMPARRAY output_buf, int num_rows); |
431 | EXTERN(void) jsimd_ycc_extrgb_convert_neon |
432 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
433 | JSAMPARRAY output_buf, int num_rows); |
434 | EXTERN(void) jsimd_ycc_extrgbx_convert_neon |
435 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
436 | JSAMPARRAY output_buf, int num_rows); |
437 | EXTERN(void) jsimd_ycc_extbgr_convert_neon |
438 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
439 | JSAMPARRAY output_buf, int num_rows); |
440 | EXTERN(void) jsimd_ycc_extbgrx_convert_neon |
441 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
442 | JSAMPARRAY output_buf, int num_rows); |
443 | EXTERN(void) jsimd_ycc_extxbgr_convert_neon |
444 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
445 | JSAMPARRAY output_buf, int num_rows); |
446 | EXTERN(void) jsimd_ycc_extxrgb_convert_neon |
447 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
448 | JSAMPARRAY output_buf, int num_rows); |
449 | EXTERN(void) jsimd_ycc_rgb565_convert_neon |
450 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
451 | JSAMPARRAY output_buf, int num_rows); |
452 | |
453 | #ifndef NEON_INTRINSICS |
454 | |
455 | EXTERN(void) jsimd_ycc_extrgb_convert_neon_slowst3 |
456 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
457 | JSAMPARRAY output_buf, int num_rows); |
458 | EXTERN(void) jsimd_ycc_extbgr_convert_neon_slowst3 |
459 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
460 | JSAMPARRAY output_buf, int num_rows); |
461 | |
462 | #endif |
463 | |
464 | EXTERN(void) jsimd_ycc_rgb_convert_dspr2 |
465 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
466 | JSAMPARRAY output_buf, int num_rows); |
467 | EXTERN(void) jsimd_ycc_extrgb_convert_dspr2 |
468 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
469 | JSAMPARRAY output_buf, int num_rows); |
470 | EXTERN(void) jsimd_ycc_extrgbx_convert_dspr2 |
471 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
472 | JSAMPARRAY output_buf, int num_rows); |
473 | EXTERN(void) jsimd_ycc_extbgr_convert_dspr2 |
474 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
475 | JSAMPARRAY output_buf, int num_rows); |
476 | EXTERN(void) jsimd_ycc_extbgrx_convert_dspr2 |
477 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
478 | JSAMPARRAY output_buf, int num_rows); |
479 | EXTERN(void) jsimd_ycc_extxbgr_convert_dspr2 |
480 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
481 | JSAMPARRAY output_buf, int num_rows); |
482 | EXTERN(void) jsimd_ycc_extxrgb_convert_dspr2 |
483 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
484 | JSAMPARRAY output_buf, int num_rows); |
485 | |
486 | EXTERN(void) jsimd_ycc_rgb_convert_mmi |
487 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
488 | JSAMPARRAY output_buf, int num_rows); |
489 | EXTERN(void) jsimd_ycc_extrgb_convert_mmi |
490 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
491 | JSAMPARRAY output_buf, int num_rows); |
492 | EXTERN(void) jsimd_ycc_extrgbx_convert_mmi |
493 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
494 | JSAMPARRAY output_buf, int num_rows); |
495 | EXTERN(void) jsimd_ycc_extbgr_convert_mmi |
496 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
497 | JSAMPARRAY output_buf, int num_rows); |
498 | EXTERN(void) jsimd_ycc_extbgrx_convert_mmi |
499 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
500 | JSAMPARRAY output_buf, int num_rows); |
501 | EXTERN(void) jsimd_ycc_extxbgr_convert_mmi |
502 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
503 | JSAMPARRAY output_buf, int num_rows); |
504 | EXTERN(void) jsimd_ycc_extxrgb_convert_mmi |
505 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
506 | JSAMPARRAY output_buf, int num_rows); |
507 | |
508 | EXTERN(void) jsimd_ycc_rgb_convert_altivec |
509 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
510 | JSAMPARRAY output_buf, int num_rows); |
511 | EXTERN(void) jsimd_ycc_extrgb_convert_altivec |
512 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
513 | JSAMPARRAY output_buf, int num_rows); |
514 | EXTERN(void) jsimd_ycc_extrgbx_convert_altivec |
515 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
516 | JSAMPARRAY output_buf, int num_rows); |
517 | EXTERN(void) jsimd_ycc_extbgr_convert_altivec |
518 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
519 | JSAMPARRAY output_buf, int num_rows); |
520 | EXTERN(void) jsimd_ycc_extbgrx_convert_altivec |
521 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
522 | JSAMPARRAY output_buf, int num_rows); |
523 | EXTERN(void) jsimd_ycc_extxbgr_convert_altivec |
524 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
525 | JSAMPARRAY output_buf, int num_rows); |
526 | EXTERN(void) jsimd_ycc_extxrgb_convert_altivec |
527 | (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, |
528 | JSAMPARRAY output_buf, int num_rows); |
529 | |
530 | /* NULL Colorspace Conversion */ |
531 | EXTERN(void) jsimd_c_null_convert_dspr2 |
532 | (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
533 | JDIMENSION output_row, int num_rows, int num_components); |
534 | |
535 | /* h2v1 Downsampling */ |
536 | EXTERN(void) jsimd_h2v1_downsample_mmx |
537 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
538 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
539 | |
540 | EXTERN(void) jsimd_h2v1_downsample_sse2 |
541 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
542 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
543 | |
544 | EXTERN(void) jsimd_h2v1_downsample_avx2 |
545 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
546 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
547 | |
548 | EXTERN(void) jsimd_h2v1_downsample_neon |
549 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
550 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
551 | |
552 | EXTERN(void) jsimd_h2v1_downsample_dspr2 |
553 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
554 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
555 | |
556 | EXTERN(void) jsimd_h2v1_downsample_altivec |
557 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
558 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
559 | |
560 | /* h2v2 Downsampling */ |
561 | EXTERN(void) jsimd_h2v2_downsample_mmx |
562 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
563 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
564 | |
565 | EXTERN(void) jsimd_h2v2_downsample_sse2 |
566 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
567 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
568 | |
569 | EXTERN(void) jsimd_h2v2_downsample_avx2 |
570 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
571 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
572 | |
573 | EXTERN(void) jsimd_h2v2_downsample_neon |
574 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
575 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
576 | |
577 | EXTERN(void) jsimd_h2v2_downsample_dspr2 |
578 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
579 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
580 | |
581 | EXTERN(void) jsimd_h2v2_downsample_mmi |
582 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
583 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
584 | |
585 | EXTERN(void) jsimd_h2v2_downsample_altivec |
586 | (JDIMENSION image_width, int max_v_samp_factor, JDIMENSION v_samp_factor, |
587 | JDIMENSION width_in_blocks, JSAMPARRAY input_data, JSAMPARRAY output_data); |
588 | |
589 | /* h2v2 Smooth Downsampling */ |
590 | EXTERN(void) jsimd_h2v2_smooth_downsample_dspr2 |
591 | (JSAMPARRAY input_data, JSAMPARRAY output_data, JDIMENSION v_samp_factor, |
592 | int max_v_samp_factor, int smoothing_factor, JDIMENSION width_in_blocks, |
593 | JDIMENSION image_width); |
594 | |
595 | |
596 | /* Upsampling */ |
597 | EXTERN(void) jsimd_h2v1_upsample_mmx |
598 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
599 | JSAMPARRAY *output_data_ptr); |
600 | EXTERN(void) jsimd_h2v2_upsample_mmx |
601 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
602 | JSAMPARRAY *output_data_ptr); |
603 | |
604 | EXTERN(void) jsimd_h2v1_upsample_sse2 |
605 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
606 | JSAMPARRAY *output_data_ptr); |
607 | EXTERN(void) jsimd_h2v2_upsample_sse2 |
608 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
609 | JSAMPARRAY *output_data_ptr); |
610 | |
611 | EXTERN(void) jsimd_h2v1_upsample_avx2 |
612 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
613 | JSAMPARRAY *output_data_ptr); |
614 | EXTERN(void) jsimd_h2v2_upsample_avx2 |
615 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
616 | JSAMPARRAY *output_data_ptr); |
617 | |
618 | EXTERN(void) jsimd_h2v1_upsample_neon |
619 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
620 | JSAMPARRAY *output_data_ptr); |
621 | EXTERN(void) jsimd_h2v2_upsample_neon |
622 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
623 | JSAMPARRAY *output_data_ptr); |
624 | |
625 | EXTERN(void) jsimd_h2v1_upsample_dspr2 |
626 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
627 | JSAMPARRAY *output_data_ptr); |
628 | EXTERN(void) jsimd_h2v2_upsample_dspr2 |
629 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
630 | JSAMPARRAY *output_data_ptr); |
631 | |
632 | EXTERN(void) jsimd_int_upsample_dspr2 |
633 | (UINT8 h_expand, UINT8 v_expand, JSAMPARRAY input_data, |
634 | JSAMPARRAY *output_data_ptr, JDIMENSION output_width, |
635 | int max_v_samp_factor); |
636 | |
637 | EXTERN(void) jsimd_h2v1_upsample_altivec |
638 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
639 | JSAMPARRAY *output_data_ptr); |
640 | EXTERN(void) jsimd_h2v2_upsample_altivec |
641 | (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data, |
642 | JSAMPARRAY *output_data_ptr); |
643 | |
644 | /* Fancy Upsampling */ |
645 | EXTERN(void) jsimd_h2v1_fancy_upsample_mmx |
646 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
647 | JSAMPARRAY *output_data_ptr); |
648 | EXTERN(void) jsimd_h2v2_fancy_upsample_mmx |
649 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
650 | JSAMPARRAY *output_data_ptr); |
651 | |
652 | extern const int jconst_fancy_upsample_sse2[]; |
653 | EXTERN(void) jsimd_h2v1_fancy_upsample_sse2 |
654 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
655 | JSAMPARRAY *output_data_ptr); |
656 | EXTERN(void) jsimd_h2v2_fancy_upsample_sse2 |
657 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
658 | JSAMPARRAY *output_data_ptr); |
659 | |
660 | extern const int jconst_fancy_upsample_avx2[]; |
661 | EXTERN(void) jsimd_h2v1_fancy_upsample_avx2 |
662 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
663 | JSAMPARRAY *output_data_ptr); |
664 | EXTERN(void) jsimd_h2v2_fancy_upsample_avx2 |
665 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
666 | JSAMPARRAY *output_data_ptr); |
667 | |
668 | EXTERN(void) jsimd_h2v1_fancy_upsample_neon |
669 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
670 | JSAMPARRAY *output_data_ptr); |
671 | EXTERN(void) jsimd_h2v2_fancy_upsample_neon |
672 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
673 | JSAMPARRAY *output_data_ptr); |
674 | EXTERN(void) jsimd_h1v2_fancy_upsample_neon |
675 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
676 | JSAMPARRAY *output_data_ptr); |
677 | |
678 | EXTERN(void) jsimd_h2v1_fancy_upsample_dspr2 |
679 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
680 | JSAMPARRAY *output_data_ptr); |
681 | EXTERN(void) jsimd_h2v2_fancy_upsample_dspr2 |
682 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
683 | JSAMPARRAY *output_data_ptr); |
684 | |
685 | EXTERN(void) jsimd_h2v1_fancy_upsample_mmi |
686 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
687 | JSAMPARRAY *output_data_ptr); |
688 | EXTERN(void) jsimd_h2v2_fancy_upsample_mmi |
689 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
690 | JSAMPARRAY *output_data_ptr); |
691 | |
692 | EXTERN(void) jsimd_h2v1_fancy_upsample_altivec |
693 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
694 | JSAMPARRAY *output_data_ptr); |
695 | EXTERN(void) jsimd_h2v2_fancy_upsample_altivec |
696 | (int max_v_samp_factor, JDIMENSION downsampled_width, JSAMPARRAY input_data, |
697 | JSAMPARRAY *output_data_ptr); |
698 | |
699 | /* Merged Upsampling */ |
700 | EXTERN(void) jsimd_h2v1_merged_upsample_mmx |
701 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
702 | JSAMPARRAY output_buf); |
703 | EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_mmx |
704 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
705 | JSAMPARRAY output_buf); |
706 | EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_mmx |
707 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
708 | JSAMPARRAY output_buf); |
709 | EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_mmx |
710 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
711 | JSAMPARRAY output_buf); |
712 | EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_mmx |
713 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
714 | JSAMPARRAY output_buf); |
715 | EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_mmx |
716 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
717 | JSAMPARRAY output_buf); |
718 | EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_mmx |
719 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
720 | JSAMPARRAY output_buf); |
721 | |
722 | EXTERN(void) jsimd_h2v2_merged_upsample_mmx |
723 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
724 | JSAMPARRAY output_buf); |
725 | EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_mmx |
726 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
727 | JSAMPARRAY output_buf); |
728 | EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_mmx |
729 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
730 | JSAMPARRAY output_buf); |
731 | EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_mmx |
732 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
733 | JSAMPARRAY output_buf); |
734 | EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_mmx |
735 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
736 | JSAMPARRAY output_buf); |
737 | EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_mmx |
738 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
739 | JSAMPARRAY output_buf); |
740 | EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_mmx |
741 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
742 | JSAMPARRAY output_buf); |
743 | |
744 | extern const int jconst_merged_upsample_sse2[]; |
745 | EXTERN(void) jsimd_h2v1_merged_upsample_sse2 |
746 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
747 | JSAMPARRAY output_buf); |
748 | EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_sse2 |
749 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
750 | JSAMPARRAY output_buf); |
751 | EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_sse2 |
752 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
753 | JSAMPARRAY output_buf); |
754 | EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_sse2 |
755 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
756 | JSAMPARRAY output_buf); |
757 | EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_sse2 |
758 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
759 | JSAMPARRAY output_buf); |
760 | EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_sse2 |
761 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
762 | JSAMPARRAY output_buf); |
763 | EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_sse2 |
764 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
765 | JSAMPARRAY output_buf); |
766 | |
767 | EXTERN(void) jsimd_h2v2_merged_upsample_sse2 |
768 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
769 | JSAMPARRAY output_buf); |
770 | EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_sse2 |
771 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
772 | JSAMPARRAY output_buf); |
773 | EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_sse2 |
774 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
775 | JSAMPARRAY output_buf); |
776 | EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_sse2 |
777 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
778 | JSAMPARRAY output_buf); |
779 | EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_sse2 |
780 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
781 | JSAMPARRAY output_buf); |
782 | EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_sse2 |
783 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
784 | JSAMPARRAY output_buf); |
785 | EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_sse2 |
786 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
787 | JSAMPARRAY output_buf); |
788 | |
789 | extern const int jconst_merged_upsample_avx2[]; |
790 | EXTERN(void) jsimd_h2v1_merged_upsample_avx2 |
791 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
792 | JSAMPARRAY output_buf); |
793 | EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_avx2 |
794 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
795 | JSAMPARRAY output_buf); |
796 | EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_avx2 |
797 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
798 | JSAMPARRAY output_buf); |
799 | EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_avx2 |
800 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
801 | JSAMPARRAY output_buf); |
802 | EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_avx2 |
803 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
804 | JSAMPARRAY output_buf); |
805 | EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_avx2 |
806 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
807 | JSAMPARRAY output_buf); |
808 | EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_avx2 |
809 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
810 | JSAMPARRAY output_buf); |
811 | |
812 | EXTERN(void) jsimd_h2v2_merged_upsample_avx2 |
813 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
814 | JSAMPARRAY output_buf); |
815 | EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_avx2 |
816 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
817 | JSAMPARRAY output_buf); |
818 | EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_avx2 |
819 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
820 | JSAMPARRAY output_buf); |
821 | EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_avx2 |
822 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
823 | JSAMPARRAY output_buf); |
824 | EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_avx2 |
825 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
826 | JSAMPARRAY output_buf); |
827 | EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_avx2 |
828 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
829 | JSAMPARRAY output_buf); |
830 | EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_avx2 |
831 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
832 | JSAMPARRAY output_buf); |
833 | |
834 | EXTERN(void) jsimd_h2v1_merged_upsample_neon |
835 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
836 | JSAMPARRAY output_buf); |
837 | EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_neon |
838 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
839 | JSAMPARRAY output_buf); |
840 | EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_neon |
841 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
842 | JSAMPARRAY output_buf); |
843 | EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_neon |
844 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
845 | JSAMPARRAY output_buf); |
846 | EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_neon |
847 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
848 | JSAMPARRAY output_buf); |
849 | EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_neon |
850 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
851 | JSAMPARRAY output_buf); |
852 | EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_neon |
853 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
854 | JSAMPARRAY output_buf); |
855 | |
856 | EXTERN(void) jsimd_h2v2_merged_upsample_neon |
857 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
858 | JSAMPARRAY output_buf); |
859 | EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_neon |
860 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
861 | JSAMPARRAY output_buf); |
862 | EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_neon |
863 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
864 | JSAMPARRAY output_buf); |
865 | EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_neon |
866 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
867 | JSAMPARRAY output_buf); |
868 | EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_neon |
869 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
870 | JSAMPARRAY output_buf); |
871 | EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_neon |
872 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
873 | JSAMPARRAY output_buf); |
874 | EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_neon |
875 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
876 | JSAMPARRAY output_buf); |
877 | |
878 | EXTERN(void) jsimd_h2v1_merged_upsample_dspr2 |
879 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
880 | JSAMPARRAY output_buf, JSAMPLE *range); |
881 | EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_dspr2 |
882 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
883 | JSAMPARRAY output_buf, JSAMPLE *range); |
884 | EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_dspr2 |
885 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
886 | JSAMPARRAY output_buf, JSAMPLE *range); |
887 | EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_dspr2 |
888 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
889 | JSAMPARRAY output_buf, JSAMPLE *range); |
890 | EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_dspr2 |
891 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
892 | JSAMPARRAY output_buf, JSAMPLE *range); |
893 | EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_dspr2 |
894 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
895 | JSAMPARRAY output_buf, JSAMPLE *range); |
896 | EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_dspr2 |
897 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
898 | JSAMPARRAY output_buf, JSAMPLE *range); |
899 | |
900 | EXTERN(void) jsimd_h2v2_merged_upsample_dspr2 |
901 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
902 | JSAMPARRAY output_buf, JSAMPLE *range); |
903 | EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_dspr2 |
904 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
905 | JSAMPARRAY output_buf, JSAMPLE *range); |
906 | EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_dspr2 |
907 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
908 | JSAMPARRAY output_buf, JSAMPLE *range); |
909 | EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_dspr2 |
910 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
911 | JSAMPARRAY output_buf, JSAMPLE *range); |
912 | EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_dspr2 |
913 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
914 | JSAMPARRAY output_buf, JSAMPLE *range); |
915 | EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_dspr2 |
916 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
917 | JSAMPARRAY output_buf, JSAMPLE *range); |
918 | EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_dspr2 |
919 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
920 | JSAMPARRAY output_buf, JSAMPLE *range); |
921 | |
922 | EXTERN(void) jsimd_h2v1_merged_upsample_mmi |
923 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
924 | JSAMPARRAY output_buf); |
925 | EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_mmi |
926 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
927 | JSAMPARRAY output_buf); |
928 | EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_mmi |
929 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
930 | JSAMPARRAY output_buf); |
931 | EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_mmi |
932 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
933 | JSAMPARRAY output_buf); |
934 | EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_mmi |
935 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
936 | JSAMPARRAY output_buf); |
937 | EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_mmi |
938 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
939 | JSAMPARRAY output_buf); |
940 | EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_mmi |
941 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
942 | JSAMPARRAY output_buf); |
943 | |
944 | EXTERN(void) jsimd_h2v2_merged_upsample_mmi |
945 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
946 | JSAMPARRAY output_buf); |
947 | EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_mmi |
948 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
949 | JSAMPARRAY output_buf); |
950 | EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_mmi |
951 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
952 | JSAMPARRAY output_buf); |
953 | EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_mmi |
954 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
955 | JSAMPARRAY output_buf); |
956 | EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_mmi |
957 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
958 | JSAMPARRAY output_buf); |
959 | EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_mmi |
960 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
961 | JSAMPARRAY output_buf); |
962 | EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_mmi |
963 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
964 | JSAMPARRAY output_buf); |
965 | |
966 | EXTERN(void) jsimd_h2v1_merged_upsample_altivec |
967 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
968 | JSAMPARRAY output_buf); |
969 | EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_altivec |
970 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
971 | JSAMPARRAY output_buf); |
972 | EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_altivec |
973 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
974 | JSAMPARRAY output_buf); |
975 | EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_altivec |
976 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
977 | JSAMPARRAY output_buf); |
978 | EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_altivec |
979 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
980 | JSAMPARRAY output_buf); |
981 | EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_altivec |
982 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
983 | JSAMPARRAY output_buf); |
984 | EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_altivec |
985 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
986 | JSAMPARRAY output_buf); |
987 | |
988 | EXTERN(void) jsimd_h2v2_merged_upsample_altivec |
989 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
990 | JSAMPARRAY output_buf); |
991 | EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_altivec |
992 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
993 | JSAMPARRAY output_buf); |
994 | EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_altivec |
995 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
996 | JSAMPARRAY output_buf); |
997 | EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_altivec |
998 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
999 | JSAMPARRAY output_buf); |
1000 | EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_altivec |
1001 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
1002 | JSAMPARRAY output_buf); |
1003 | EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_altivec |
1004 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
1005 | JSAMPARRAY output_buf); |
1006 | EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_altivec |
1007 | (JDIMENSION output_width, JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, |
1008 | JSAMPARRAY output_buf); |
1009 | |
1010 | /* Sample Conversion */ |
1011 | EXTERN(void) jsimd_convsamp_mmx |
1012 | (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace); |
1013 | |
1014 | EXTERN(void) jsimd_convsamp_sse2 |
1015 | (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace); |
1016 | |
1017 | EXTERN(void) jsimd_convsamp_avx2 |
1018 | (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace); |
1019 | |
1020 | EXTERN(void) jsimd_convsamp_neon |
1021 | (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace); |
1022 | |
1023 | EXTERN(void) jsimd_convsamp_dspr2 |
1024 | (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace); |
1025 | |
1026 | EXTERN(void) jsimd_convsamp_altivec |
1027 | (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace); |
1028 | |
1029 | /* Floating Point Sample Conversion */ |
1030 | EXTERN(void) jsimd_convsamp_float_3dnow |
1031 | (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace); |
1032 | |
1033 | EXTERN(void) jsimd_convsamp_float_sse |
1034 | (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace); |
1035 | |
1036 | EXTERN(void) jsimd_convsamp_float_sse2 |
1037 | (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace); |
1038 | |
1039 | EXTERN(void) jsimd_convsamp_float_dspr2 |
1040 | (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace); |
1041 | |
1042 | /* Accurate Integer Forward DCT */ |
1043 | EXTERN(void) jsimd_fdct_islow_mmx(DCTELEM *data); |
1044 | |
1045 | extern const int jconst_fdct_islow_sse2[]; |
1046 | EXTERN(void) jsimd_fdct_islow_sse2(DCTELEM *data); |
1047 | |
1048 | extern const int jconst_fdct_islow_avx2[]; |
1049 | EXTERN(void) jsimd_fdct_islow_avx2(DCTELEM *data); |
1050 | |
1051 | EXTERN(void) jsimd_fdct_islow_neon(DCTELEM *data); |
1052 | |
1053 | EXTERN(void) jsimd_fdct_islow_dspr2(DCTELEM *data); |
1054 | |
1055 | EXTERN(void) jsimd_fdct_islow_mmi(DCTELEM *data); |
1056 | |
1057 | EXTERN(void) jsimd_fdct_islow_altivec(DCTELEM *data); |
1058 | |
1059 | /* Fast Integer Forward DCT */ |
1060 | EXTERN(void) jsimd_fdct_ifast_mmx(DCTELEM *data); |
1061 | |
1062 | extern const int jconst_fdct_ifast_sse2[]; |
1063 | EXTERN(void) jsimd_fdct_ifast_sse2(DCTELEM *data); |
1064 | |
1065 | EXTERN(void) jsimd_fdct_ifast_neon(DCTELEM *data); |
1066 | |
1067 | EXTERN(void) jsimd_fdct_ifast_dspr2(DCTELEM *data); |
1068 | |
1069 | EXTERN(void) jsimd_fdct_ifast_mmi(DCTELEM *data); |
1070 | |
1071 | EXTERN(void) jsimd_fdct_ifast_altivec(DCTELEM *data); |
1072 | |
1073 | /* Floating Point Forward DCT */ |
1074 | EXTERN(void) jsimd_fdct_float_3dnow(FAST_FLOAT *data); |
1075 | |
1076 | extern const int jconst_fdct_float_sse[]; |
1077 | EXTERN(void) jsimd_fdct_float_sse(FAST_FLOAT *data); |
1078 | |
1079 | /* Quantization */ |
1080 | EXTERN(void) jsimd_quantize_mmx |
1081 | (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace); |
1082 | |
1083 | EXTERN(void) jsimd_quantize_sse2 |
1084 | (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace); |
1085 | |
1086 | EXTERN(void) jsimd_quantize_avx2 |
1087 | (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace); |
1088 | |
1089 | EXTERN(void) jsimd_quantize_neon |
1090 | (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace); |
1091 | |
1092 | EXTERN(void) jsimd_quantize_dspr2 |
1093 | (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace); |
1094 | |
1095 | EXTERN(void) jsimd_quantize_mmi |
1096 | (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace); |
1097 | |
1098 | EXTERN(void) jsimd_quantize_altivec |
1099 | (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace); |
1100 | |
1101 | /* Floating Point Quantization */ |
1102 | EXTERN(void) jsimd_quantize_float_3dnow |
1103 | (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace); |
1104 | |
1105 | EXTERN(void) jsimd_quantize_float_sse |
1106 | (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace); |
1107 | |
1108 | EXTERN(void) jsimd_quantize_float_sse2 |
1109 | (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace); |
1110 | |
1111 | EXTERN(void) jsimd_quantize_float_dspr2 |
1112 | (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace); |
1113 | |
1114 | /* Scaled Inverse DCT */ |
1115 | EXTERN(void) jsimd_idct_2x2_mmx |
1116 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1117 | JDIMENSION output_col); |
1118 | EXTERN(void) jsimd_idct_4x4_mmx |
1119 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1120 | JDIMENSION output_col); |
1121 | |
1122 | extern const int jconst_idct_red_sse2[]; |
1123 | EXTERN(void) jsimd_idct_2x2_sse2 |
1124 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1125 | JDIMENSION output_col); |
1126 | EXTERN(void) jsimd_idct_4x4_sse2 |
1127 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1128 | JDIMENSION output_col); |
1129 | |
1130 | EXTERN(void) jsimd_idct_2x2_neon |
1131 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1132 | JDIMENSION output_col); |
1133 | EXTERN(void) jsimd_idct_4x4_neon |
1134 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1135 | JDIMENSION output_col); |
1136 | |
1137 | EXTERN(void) jsimd_idct_2x2_dspr2 |
1138 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1139 | JDIMENSION output_col); |
1140 | EXTERN(void) jsimd_idct_4x4_dspr2 |
1141 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1142 | JDIMENSION output_col, int *workspace); |
1143 | EXTERN(void) jsimd_idct_6x6_dspr2 |
1144 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1145 | JDIMENSION output_col); |
1146 | EXTERN(void) jsimd_idct_12x12_pass1_dspr2 |
1147 | (JCOEFPTR coef_block, void *dct_table, int *workspace); |
1148 | EXTERN(void) jsimd_idct_12x12_pass2_dspr2 |
1149 | (int *workspace, int *output); |
1150 | |
1151 | /* Accurate Integer Inverse DCT */ |
1152 | EXTERN(void) jsimd_idct_islow_mmx |
1153 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1154 | JDIMENSION output_col); |
1155 | |
1156 | extern const int jconst_idct_islow_sse2[]; |
1157 | EXTERN(void) jsimd_idct_islow_sse2 |
1158 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1159 | JDIMENSION output_col); |
1160 | |
1161 | extern const int jconst_idct_islow_avx2[]; |
1162 | EXTERN(void) jsimd_idct_islow_avx2 |
1163 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1164 | JDIMENSION output_col); |
1165 | |
1166 | EXTERN(void) jsimd_idct_islow_neon |
1167 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1168 | JDIMENSION output_col); |
1169 | |
1170 | EXTERN(void) jsimd_idct_islow_dspr2 |
1171 | (void *dct_table, JCOEFPTR coef_block, int *output_buf, JSAMPLE *output_col); |
1172 | |
1173 | EXTERN(void) jsimd_idct_islow_mmi |
1174 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1175 | JDIMENSION output_col); |
1176 | |
1177 | EXTERN(void) jsimd_idct_islow_altivec |
1178 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1179 | JDIMENSION output_col); |
1180 | |
1181 | /* Fast Integer Inverse DCT */ |
1182 | EXTERN(void) jsimd_idct_ifast_mmx |
1183 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1184 | JDIMENSION output_col); |
1185 | |
1186 | extern const int jconst_idct_ifast_sse2[]; |
1187 | EXTERN(void) jsimd_idct_ifast_sse2 |
1188 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1189 | JDIMENSION output_col); |
1190 | |
1191 | EXTERN(void) jsimd_idct_ifast_neon |
1192 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1193 | JDIMENSION output_col); |
1194 | |
1195 | EXTERN(void) jsimd_idct_ifast_cols_dspr2 |
1196 | (JCOEF *inptr, IFAST_MULT_TYPE *quantptr, DCTELEM *wsptr, |
1197 | const int *idct_coefs); |
1198 | EXTERN(void) jsimd_idct_ifast_rows_dspr2 |
1199 | (DCTELEM *wsptr, JSAMPARRAY output_buf, JDIMENSION output_col, |
1200 | const int *idct_coefs); |
1201 | |
1202 | EXTERN(void) jsimd_idct_ifast_mmi |
1203 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1204 | JDIMENSION output_col); |
1205 | |
1206 | EXTERN(void) jsimd_idct_ifast_altivec |
1207 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1208 | JDIMENSION output_col); |
1209 | |
1210 | /* Floating Point Inverse DCT */ |
1211 | EXTERN(void) jsimd_idct_float_3dnow |
1212 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1213 | JDIMENSION output_col); |
1214 | |
1215 | extern const int jconst_idct_float_sse[]; |
1216 | EXTERN(void) jsimd_idct_float_sse |
1217 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1218 | JDIMENSION output_col); |
1219 | |
1220 | extern const int jconst_idct_float_sse2[]; |
1221 | EXTERN(void) jsimd_idct_float_sse2 |
1222 | (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf, |
1223 | JDIMENSION output_col); |
1224 | |
1225 | /* Huffman coding */ |
1226 | extern const int jconst_huff_encode_one_block[]; |
1227 | EXTERN(JOCTET *) jsimd_huff_encode_one_block_sse2 |
1228 | (void *state, JOCTET *buffer, JCOEFPTR block, int last_dc_val, |
1229 | c_derived_tbl *dctbl, c_derived_tbl *actbl); |
1230 | |
1231 | EXTERN(JOCTET *) jsimd_huff_encode_one_block_neon |
1232 | (void *state, JOCTET *buffer, JCOEFPTR block, int last_dc_val, |
1233 | c_derived_tbl *dctbl, c_derived_tbl *actbl); |
1234 | |
1235 | #ifndef NEON_INTRINSICS |
1236 | |
1237 | EXTERN(JOCTET *) jsimd_huff_encode_one_block_neon_slowtbl |
1238 | (void *state, JOCTET *buffer, JCOEFPTR block, int last_dc_val, |
1239 | c_derived_tbl *dctbl, c_derived_tbl *actbl); |
1240 | |
1241 | #endif |
1242 | |
1243 | /* Progressive Huffman encoding */ |
1244 | EXTERN(void) jsimd_encode_mcu_AC_first_prepare_sse2 |
1245 | (const JCOEF *block, const int *jpeg_natural_order_start, int Sl, int Al, |
1246 | JCOEF *values, size_t *zerobits); |
1247 | |
1248 | EXTERN(void) jsimd_encode_mcu_AC_first_prepare_neon |
1249 | (const JCOEF *block, const int *jpeg_natural_order_start, int Sl, int Al, |
1250 | JCOEF *values, size_t *zerobits); |
1251 | |
1252 | EXTERN(int) jsimd_encode_mcu_AC_refine_prepare_sse2 |
1253 | (const JCOEF *block, const int *jpeg_natural_order_start, int Sl, int Al, |
1254 | JCOEF *absvalues, size_t *bits); |
1255 | |
1256 | EXTERN(int) jsimd_encode_mcu_AC_refine_prepare_neon |
1257 | (const JCOEF *block, const int *jpeg_natural_order_start, int Sl, int Al, |
1258 | JCOEF *absvalues, size_t *bits); |
1259 | |