Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: simd/jsimd.h

Issue 1953443002: Update to libjpeg_turbo 1.4.90 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « simd/jquanti-sse2-64.asm ('k') | simd/jsimd_altivec.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * simd/jsimd.h 2 * simd/jsimd.h
3 * 3 *
4 * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB 4 * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
5 * Copyright 2011 D. R. Commander 5 * Copyright (C) 2011, 2014-2016 D. R. Commander
6 * Copyright (C) 2013-2014, MIPS Technologies, Inc., California
6 * Copyright (C) 2014 Linaro Limited 7 * Copyright (C) 2014 Linaro Limited
7 * 8 * Copyright (C) 2015-2016 Matthieu Darbois
9 *
8 * Based on the x86 SIMD extension for IJG JPEG library, 10 * Based on the x86 SIMD extension for IJG JPEG library,
9 * Copyright (C) 1999-2006, MIYASAKA Masaru. 11 * Copyright (C) 1999-2006, MIYASAKA Masaru.
10 * For conditions of distribution and use, see copyright notice in jsimdext.inc 12 * For conditions of distribution and use, see copyright notice in jsimdext.inc
11 * 13 *
12 */ 14 */
13 15
14 /* Bitmask for supported acceleration methods */ 16 /* Bitmask for supported acceleration methods */
15 17
16 #define JSIMD_NONE 0x00 18 #define JSIMD_NONE 0x00
17 #define JSIMD_MMX 0x01 19 #define JSIMD_MMX 0x01
18 #define JSIMD_3DNOW 0x02 20 #define JSIMD_3DNOW 0x02
19 #define JSIMD_SSE 0x04 21 #define JSIMD_SSE 0x04
20 #define JSIMD_SSE2 0x08 22 #define JSIMD_SSE2 0x08
21 #define JSIMD_ARM_NEON 0x10 23 #define JSIMD_ARM_NEON 0x10
22 24 #define JSIMD_MIPS_DSPR2 0x20
23 /* Short forms of external names for systems with brain-damaged linkers. */ 25 #define JSIMD_ALTIVEC 0x40
24
25 #ifdef NEED_SHORT_EXTERNAL_NAMES
26 #define jpeg_simd_cpu_support jSiCpuSupport
27 #define jsimd_rgb_ycc_convert_mmx jSRGBYCCM
28 #define jsimd_extrgb_ycc_convert_mmx jSEXTRGBYCCM
29 #define jsimd_extrgbx_ycc_convert_mmx jSEXTRGBXYCCM
30 #define jsimd_extbgr_ycc_convert_mmx jSEXTBGRYCCM
31 #define jsimd_extbgrx_ycc_convert_mmx jSEXTBGRXYCCM
32 #define jsimd_extxbgr_ycc_convert_mmx jSEXTXBGRYCCM
33 #define jsimd_extxrgb_ycc_convert_mmx jSEXTXRGBYCCM
34 #define jsimd_rgb_gray_convert_mmx jSRGBGRYM
35 #define jsimd_extrgb_gray_convert_mmx jSEXTRGBGRYM
36 #define jsimd_extrgbx_gray_convert_mmx jSEXTRGBXGRYM
37 #define jsimd_extbgr_gray_convert_mmx jSEXTBGRGRYM
38 #define jsimd_extbgrx_gray_convert_mmx jSEXTBGRXGRYM
39 #define jsimd_extxbgr_gray_convert_mmx jSEXTXBGRGRYM
40 #define jsimd_extxrgb_gray_convert_mmx jSEXTXRGBGRYM
41 #define jsimd_ycc_rgb_convert_mmx jSYCCRGBM
42 #define jsimd_ycc_extrgb_convert_mmx jSYCCEXTRGBM
43 #define jsimd_ycc_extrgbx_convert_mmx jSYCCEXTRGBXM
44 #define jsimd_ycc_extbgr_convert_mmx jSYCCEXTBGRM
45 #define jsimd_ycc_extbgrx_convert_mmx jSYCCEXTBGRXM
46 #define jsimd_ycc_extxbgr_convert_mmx jSYCCEXTXBGRM
47 #define jsimd_ycc_extxrgb_convert_mmx jSYCCEXTXRGBM
48 #define jconst_rgb_ycc_convert_sse2 jSCRGBYCCS2
49 #define jsimd_rgb_ycc_convert_sse2 jSRGBYCCS2
50 #define jsimd_extrgb_ycc_convert_sse2 jSEXTRGBYCCS2
51 #define jsimd_extrgbx_ycc_convert_sse2 jSEXTRGBXYCCS2
52 #define jsimd_extbgr_ycc_convert_sse2 jSEXTBGRYCCS2
53 #define jsimd_extbgrx_ycc_convert_sse2 jSEXTBGRXYCCS2
54 #define jsimd_extxbgr_ycc_convert_sse2 jSEXTXBGRYCCS2
55 #define jsimd_extxrgb_ycc_convert_sse2 jSEXTXRGBYCCS2
56 #define jconst_rgb_gray_convert_sse2 jSCRGBGRYS2
57 #define jsimd_rgb_gray_convert_sse2 jSRGBGRYS2
58 #define jsimd_extrgb_gray_convert_sse2 jSEXTRGBGRYS2
59 #define jsimd_extrgbx_gray_convert_sse2 jSEXTRGBXGRYS2
60 #define jsimd_extbgr_gray_convert_sse2 jSEXTBGRGRYS2
61 #define jsimd_extbgrx_gray_convert_sse2 jSEXTBGRXGRYS2
62 #define jsimd_extxbgr_gray_convert_sse2 jSEXTXBGRGRYS2
63 #define jsimd_extxrgb_gray_convert_sse2 jSEXTXRGBGRYS2
64 #define jconst_ycc_rgb_convert_sse2 jSCYCCRGBS2
65 #define jsimd_ycc_rgb_convert_sse2 jSYCCRGBS2
66 #define jsimd_ycc_extrgb_convert_sse2 jSYCCEXTRGBS2
67 #define jsimd_ycc_extrgbx_convert_sse2 jSYCCEXTRGBXS2
68 #define jsimd_ycc_extbgr_convert_sse2 jSYCCEXTBGRS2
69 #define jsimd_ycc_extbgrx_convert_sse2 jSYCCEXTBGRXS2
70 #define jsimd_ycc_extxbgr_convert_sse2 jSYCCEXTXBGRS2
71 #define jsimd_ycc_extxrgb_convert_sse2 jSYCCEXTXRGBS2
72 #define jsimd_h2v2_downsample_mmx jSDnH2V2M
73 #define jsimd_h2v1_downsample_mmx jSDnH2V1M
74 #define jsimd_h2v2_downsample_sse2 jSDnH2V2S2
75 #define jsimd_h2v1_downsample_sse2 jSDnH2V1S2
76 #define jsimd_h2v2_upsample_mmx jSUpH2V2M
77 #define jsimd_h2v1_upsample_mmx jSUpH2V1M
78 #define jsimd_h2v2_fancy_upsample_mmx jSFUpH2V2M
79 #define jsimd_h2v1_fancy_upsample_mmx jSFUpH2V1M
80 #define jsimd_h2v2_merged_upsample_mmx jSMUpH2V2M
81 #define jsimd_h2v2_extrgb_merged_upsample_mmx jSMUpH2V2EXTRGBM
82 #define jsimd_h2v2_extrgbx_merged_upsample_mmx jSMUpH2V2EXTRGBXM
83 #define jsimd_h2v2_extbgr_merged_upsample_mmx jSMUpH2V2EXTBGRM
84 #define jsimd_h2v2_extbgrx_merged_upsample_mmx jSMUpH2V2EXTBGRXM
85 #define jsimd_h2v2_extxbgr_merged_upsample_mmx jSMUpH2V2EXTXBGRM
86 #define jsimd_h2v2_extxrgb_merged_upsample_mmx jSMUpH2V2EXTXRGBM
87 #define jsimd_h2v1_merged_upsample_mmx jSMUpH2V1M
88 #define jsimd_h2v1_extrgb_merged_upsample_mmx jSMUpH2V1EXTRGBM
89 #define jsimd_h2v1_extrgbx_merged_upsample_mmx jSMUpH2V1EXTRGBXM
90 #define jsimd_h2v1_extbgr_merged_upsample_mmx jSMUpH2V1EXTBGRM
91 #define jsimd_h2v1_extbgrx_merged_upsample_mmx jSMUpH2V1EXTBGRXM
92 #define jsimd_h2v1_extxbgr_merged_upsample_mmx jSMUpH2V1EXTXBGRM
93 #define jsimd_h2v1_extxrgb_merged_upsample_mmx jSMUpH2V1EXTXRGBM
94 #define jsimd_h2v2_upsample_sse2 jSUpH2V2S2
95 #define jsimd_h2v1_upsample_sse2 jSUpH2V1S2
96 #define jconst_fancy_upsample_sse2 jSCFUpS2
97 #define jsimd_h2v2_fancy_upsample_sse2 jSFUpH2V2S2
98 #define jsimd_h2v1_fancy_upsample_sse2 jSFUpH2V1S2
99 #define jconst_merged_upsample_sse2 jSCMUpS2
100 #define jsimd_h2v2_merged_upsample_sse2 jSMUpH2V2S2
101 #define jsimd_h2v2_extrgb_merged_upsample_sse2 jSMUpH2V2EXTRGBS2
102 #define jsimd_h2v2_extrgbx_merged_upsample_sse2 jSMUpH2V2EXTRGBXS2
103 #define jsimd_h2v2_extbgr_merged_upsample_sse2 jSMUpH2V2EXTBGRS2
104 #define jsimd_h2v2_extbgrx_merged_upsample_sse2 jSMUpH2V2EXTBGRXS2
105 #define jsimd_h2v2_extxbgr_merged_upsample_sse2 jSMUpH2V2EXTXBGRS2
106 #define jsimd_h2v2_extxrgb_merged_upsample_sse2 jSMUpH2V2EXTXRGBS2
107 #define jsimd_h2v1_merged_upsample_sse2 jSMUpH2V1S2
108 #define jsimd_h2v1_extrgb_merged_upsample_sse2 jSMUpH2V1EXTRGBS2
109 #define jsimd_h2v1_extrgbx_merged_upsample_sse2 jSMUpH2V1EXTRGBXS2
110 #define jsimd_h2v1_extbgr_merged_upsample_sse2 jSMUpH2V1EXTBGRS2
111 #define jsimd_h2v1_extbgrx_merged_upsample_sse2 jSMUpH2V1EXTBGRXS2
112 #define jsimd_h2v1_extxbgr_merged_upsample_sse2 jSMUpH2V1EXTXBGRS2
113 #define jsimd_h2v1_extxrgb_merged_upsample_sse2 jSMUpH2V1EXTXRGBS2
114 #define jsimd_convsamp_mmx jSConvM
115 #define jsimd_convsamp_sse2 jSConvS2
116 #define jsimd_convsamp_float_3dnow jSConvF3D
117 #define jsimd_convsamp_float_sse jSConvFS
118 #define jsimd_convsamp_float_sse2 jSConvFS2
119 #define jsimd_fdct_islow_mmx jSFDMIS
120 #define jsimd_fdct_ifast_mmx jSFDMIF
121 #define jconst_fdct_islow_sse2 jSCFDS2IS
122 #define jsimd_fdct_islow_sse2 jSFDS2IS
123 #define jconst_fdct_ifast_sse2 jSCFDS2IF
124 #define jsimd_fdct_ifast_sse2 jSFDS2IF
125 #define jsimd_fdct_float_3dnow jSFD3DF
126 #define jconst_fdct_float_sse jSCFDSF
127 #define jsimd_fdct_float_sse jSFDSF
128 #define jsimd_quantize_mmx jSQuantM
129 #define jsimd_quantize_sse2 jSQuantS2
130 #define jsimd_quantize_float_3dnow jSQuantF3D
131 #define jsimd_quantize_float_sse jSQuantFS
132 #define jsimd_quantize_float_sse2 jSQuantFS2
133 #define jsimd_idct_2x2_mmx jSIDM22
134 #define jsimd_idct_4x4_mmx jSIDM44
135 #define jconst_idct_red_sse2 jSCIDS2R
136 #define jsimd_idct_2x2_sse2 jSIDS222
137 #define jsimd_idct_4x4_sse2 jSIDS244
138 #define jsimd_idct_islow_mmx jSIDMIS
139 #define jsimd_idct_ifast_mmx jSIDMIF
140 #define jconst_idct_islow_sse2 jSCIDS2IS
141 #define jsimd_idct_islow_sse2 jSIDS2IS
142 #define jconst_idct_ifast_sse2 jSCIDS2IF
143 #define jsimd_idct_ifast_sse2 jSIDS2IF
144 #define jsimd_idct_float_3dnow jSID3DF
145 #define jconst_fdct_float_sse jSCIDSF
146 #define jsimd_idct_float_sse jSIDSF
147 #define jconst_fdct_float_sse2 jSCIDS2F
148 #define jsimd_idct_float_sse2 jSIDS2F
149 #endif /* NEED_SHORT_EXTERNAL_NAMES */
150 26
151 /* SIMD Ext: retrieve SIMD/CPU information */ 27 /* SIMD Ext: retrieve SIMD/CPU information */
152 EXTERN(unsigned int) jpeg_simd_cpu_support JPP((void)); 28 EXTERN(unsigned int) jpeg_simd_cpu_support (void);
153 29
154 /* SIMD Color Space Conversion */ 30 /* RGB & extended RGB --> YCC Colorspace Conversion */
155 EXTERN(void) jsimd_rgb_ycc_convert_mmx 31 EXTERN(void) jsimd_rgb_ycc_convert_mmx
156 JPP((JDIMENSION img_width, 32 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
157 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 33 JDIMENSION output_row, int num_rows);
158 JDIMENSION output_row, int num_rows));
159 EXTERN(void) jsimd_extrgb_ycc_convert_mmx 34 EXTERN(void) jsimd_extrgb_ycc_convert_mmx
160 JPP((JDIMENSION img_width, 35 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
161 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 36 JDIMENSION output_row, int num_rows);
162 JDIMENSION output_row, int num_rows));
163 EXTERN(void) jsimd_extrgbx_ycc_convert_mmx 37 EXTERN(void) jsimd_extrgbx_ycc_convert_mmx
164 JPP((JDIMENSION img_width, 38 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
165 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 39 JDIMENSION output_row, int num_rows);
166 JDIMENSION output_row, int num_rows));
167 EXTERN(void) jsimd_extbgr_ycc_convert_mmx 40 EXTERN(void) jsimd_extbgr_ycc_convert_mmx
168 JPP((JDIMENSION img_width, 41 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
169 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 42 JDIMENSION output_row, int num_rows);
170 JDIMENSION output_row, int num_rows));
171 EXTERN(void) jsimd_extbgrx_ycc_convert_mmx 43 EXTERN(void) jsimd_extbgrx_ycc_convert_mmx
172 JPP((JDIMENSION img_width, 44 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
173 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 45 JDIMENSION output_row, int num_rows);
174 JDIMENSION output_row, int num_rows));
175 EXTERN(void) jsimd_extxbgr_ycc_convert_mmx 46 EXTERN(void) jsimd_extxbgr_ycc_convert_mmx
176 JPP((JDIMENSION img_width, 47 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
177 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 48 JDIMENSION output_row, int num_rows);
178 JDIMENSION output_row, int num_rows));
179 EXTERN(void) jsimd_extxrgb_ycc_convert_mmx 49 EXTERN(void) jsimd_extxrgb_ycc_convert_mmx
180 JPP((JDIMENSION img_width, 50 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
181 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 51 JDIMENSION output_row, int num_rows);
182 JDIMENSION output_row, int num_rows));
183
184 EXTERN(void) jsimd_rgb_gray_convert_mmx
185 JPP((JDIMENSION img_width,
186 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
187 JDIMENSION output_row, int num_rows));
188 EXTERN(void) jsimd_extrgb_gray_convert_mmx
189 JPP((JDIMENSION img_width,
190 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
191 JDIMENSION output_row, int num_rows));
192 EXTERN(void) jsimd_extrgbx_gray_convert_mmx
193 JPP((JDIMENSION img_width,
194 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
195 JDIMENSION output_row, int num_rows));
196 EXTERN(void) jsimd_extbgr_gray_convert_mmx
197 JPP((JDIMENSION img_width,
198 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
199 JDIMENSION output_row, int num_rows));
200 EXTERN(void) jsimd_extbgrx_gray_convert_mmx
201 JPP((JDIMENSION img_width,
202 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
203 JDIMENSION output_row, int num_rows));
204 EXTERN(void) jsimd_extxbgr_gray_convert_mmx
205 JPP((JDIMENSION img_width,
206 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
207 JDIMENSION output_row, int num_rows));
208 EXTERN(void) jsimd_extxrgb_gray_convert_mmx
209 JPP((JDIMENSION img_width,
210 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
211 JDIMENSION output_row, int num_rows));
212
213 EXTERN(void) jsimd_ycc_rgb_convert_mmx
214 JPP((JDIMENSION out_width,
215 JSAMPIMAGE input_buf, JDIMENSION input_row,
216 JSAMPARRAY output_buf, int num_rows));
217 EXTERN(void) jsimd_ycc_extrgb_convert_mmx
218 JPP((JDIMENSION out_width,
219 JSAMPIMAGE input_buf, JDIMENSION input_row,
220 JSAMPARRAY output_buf, int num_rows));
221 EXTERN(void) jsimd_ycc_extrgbx_convert_mmx
222 JPP((JDIMENSION out_width,
223 JSAMPIMAGE input_buf, JDIMENSION input_row,
224 JSAMPARRAY output_buf, int num_rows));
225 EXTERN(void) jsimd_ycc_extbgr_convert_mmx
226 JPP((JDIMENSION out_width,
227 JSAMPIMAGE input_buf, JDIMENSION input_row,
228 JSAMPARRAY output_buf, int num_rows));
229 EXTERN(void) jsimd_ycc_extbgrx_convert_mmx
230 JPP((JDIMENSION out_width,
231 JSAMPIMAGE input_buf, JDIMENSION input_row,
232 JSAMPARRAY output_buf, int num_rows));
233 EXTERN(void) jsimd_ycc_extxbgr_convert_mmx
234 JPP((JDIMENSION out_width,
235 JSAMPIMAGE input_buf, JDIMENSION input_row,
236 JSAMPARRAY output_buf, int num_rows));
237 EXTERN(void) jsimd_ycc_extxrgb_convert_mmx
238 JPP((JDIMENSION out_width,
239 JSAMPIMAGE input_buf, JDIMENSION input_row,
240 JSAMPARRAY output_buf, int num_rows));
241 52
242 extern const int jconst_rgb_ycc_convert_sse2[]; 53 extern const int jconst_rgb_ycc_convert_sse2[];
243 EXTERN(void) jsimd_rgb_ycc_convert_sse2 54 EXTERN(void) jsimd_rgb_ycc_convert_sse2
244 JPP((JDIMENSION img_width, 55 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
245 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 56 JDIMENSION output_row, int num_rows);
246 JDIMENSION output_row, int num_rows));
247 EXTERN(void) jsimd_extrgb_ycc_convert_sse2 57 EXTERN(void) jsimd_extrgb_ycc_convert_sse2
248 JPP((JDIMENSION img_width, 58 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
249 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 59 JDIMENSION output_row, int num_rows);
250 JDIMENSION output_row, int num_rows));
251 EXTERN(void) jsimd_extrgbx_ycc_convert_sse2 60 EXTERN(void) jsimd_extrgbx_ycc_convert_sse2
252 JPP((JDIMENSION img_width, 61 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
253 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 62 JDIMENSION output_row, int num_rows);
254 JDIMENSION output_row, int num_rows));
255 EXTERN(void) jsimd_extbgr_ycc_convert_sse2 63 EXTERN(void) jsimd_extbgr_ycc_convert_sse2
256 JPP((JDIMENSION img_width, 64 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
257 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 65 JDIMENSION output_row, int num_rows);
258 JDIMENSION output_row, int num_rows));
259 EXTERN(void) jsimd_extbgrx_ycc_convert_sse2 66 EXTERN(void) jsimd_extbgrx_ycc_convert_sse2
260 JPP((JDIMENSION img_width, 67 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
261 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 68 JDIMENSION output_row, int num_rows);
262 JDIMENSION output_row, int num_rows));
263 EXTERN(void) jsimd_extxbgr_ycc_convert_sse2 69 EXTERN(void) jsimd_extxbgr_ycc_convert_sse2
264 JPP((JDIMENSION img_width, 70 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
265 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 71 JDIMENSION output_row, int num_rows);
266 JDIMENSION output_row, int num_rows));
267 EXTERN(void) jsimd_extxrgb_ycc_convert_sse2 72 EXTERN(void) jsimd_extxrgb_ycc_convert_sse2
268 JPP((JDIMENSION img_width, 73 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
269 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 74 JDIMENSION output_row, int num_rows);
270 JDIMENSION output_row, int num_rows)); 75
76 EXTERN(void) jsimd_rgb_ycc_convert_neon
77 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
78 JDIMENSION output_row, int num_rows);
79 EXTERN(void) jsimd_extrgb_ycc_convert_neon
80 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
81 JDIMENSION output_row, int num_rows);
82 EXTERN(void) jsimd_extrgbx_ycc_convert_neon
83 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
84 JDIMENSION output_row, int num_rows);
85 EXTERN(void) jsimd_extbgr_ycc_convert_neon
86 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
87 JDIMENSION output_row, int num_rows);
88 EXTERN(void) jsimd_extbgrx_ycc_convert_neon
89 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
90 JDIMENSION output_row, int num_rows);
91 EXTERN(void) jsimd_extxbgr_ycc_convert_neon
92 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
93 JDIMENSION output_row, int num_rows);
94 EXTERN(void) jsimd_extxrgb_ycc_convert_neon
95 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
96 JDIMENSION output_row, int num_rows);
97
98 EXTERN(void) jsimd_extrgb_ycc_convert_neon_slowld3
99 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
100 JDIMENSION output_row, int num_rows);
101 EXTERN(void) jsimd_extbgr_ycc_convert_neon_slowld3
102 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
103 JDIMENSION output_row, int num_rows);
104
105 EXTERN(void) jsimd_rgb_ycc_convert_mips_dspr2
106 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
107 JDIMENSION output_row, int num_rows);
108 EXTERN(void) jsimd_extrgb_ycc_convert_mips_dspr2
109 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
110 JDIMENSION output_row, int num_rows);
111 EXTERN(void) jsimd_extrgbx_ycc_convert_mips_dspr2
112 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
113 JDIMENSION output_row, int num_rows);
114 EXTERN(void) jsimd_extbgr_ycc_convert_mips_dspr2
115 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
116 JDIMENSION output_row, int num_rows);
117 EXTERN(void) jsimd_extbgrx_ycc_convert_mips_dspr2
118 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
119 JDIMENSION output_row, int num_rows);
120 EXTERN(void) jsimd_extxbgr_ycc_convert_mips_dspr2
121 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
122 JDIMENSION output_row, int num_rows);
123 EXTERN(void) jsimd_extxrgb_ycc_convert_mips_dspr2
124 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
125 JDIMENSION output_row, int num_rows);
126
127 EXTERN(void) jsimd_rgb_ycc_convert_altivec
128 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
129 JDIMENSION output_row, int num_rows);
130 EXTERN(void) jsimd_extrgb_ycc_convert_altivec
131 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
132 JDIMENSION output_row, int num_rows);
133 EXTERN(void) jsimd_extrgbx_ycc_convert_altivec
134 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
135 JDIMENSION output_row, int num_rows);
136 EXTERN(void) jsimd_extbgr_ycc_convert_altivec
137 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
138 JDIMENSION output_row, int num_rows);
139 EXTERN(void) jsimd_extbgrx_ycc_convert_altivec
140 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
141 JDIMENSION output_row, int num_rows);
142 EXTERN(void) jsimd_extxbgr_ycc_convert_altivec
143 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
144 JDIMENSION output_row, int num_rows);
145 EXTERN(void) jsimd_extxrgb_ycc_convert_altivec
146 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
147 JDIMENSION output_row, int num_rows);
148
149 /* RGB & extended RGB --> Grayscale Colorspace Conversion */
150 EXTERN(void) jsimd_rgb_gray_convert_mmx
151 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
152 JDIMENSION output_row, int num_rows);
153 EXTERN(void) jsimd_extrgb_gray_convert_mmx
154 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
155 JDIMENSION output_row, int num_rows);
156 EXTERN(void) jsimd_extrgbx_gray_convert_mmx
157 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
158 JDIMENSION output_row, int num_rows);
159 EXTERN(void) jsimd_extbgr_gray_convert_mmx
160 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
161 JDIMENSION output_row, int num_rows);
162 EXTERN(void) jsimd_extbgrx_gray_convert_mmx
163 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
164 JDIMENSION output_row, int num_rows);
165 EXTERN(void) jsimd_extxbgr_gray_convert_mmx
166 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
167 JDIMENSION output_row, int num_rows);
168 EXTERN(void) jsimd_extxrgb_gray_convert_mmx
169 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
170 JDIMENSION output_row, int num_rows);
271 171
272 extern const int jconst_rgb_gray_convert_sse2[]; 172 extern const int jconst_rgb_gray_convert_sse2[];
273 EXTERN(void) jsimd_rgb_gray_convert_sse2 173 EXTERN(void) jsimd_rgb_gray_convert_sse2
274 JPP((JDIMENSION img_width, 174 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
275 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 175 JDIMENSION output_row, int num_rows);
276 JDIMENSION output_row, int num_rows));
277 EXTERN(void) jsimd_extrgb_gray_convert_sse2 176 EXTERN(void) jsimd_extrgb_gray_convert_sse2
278 JPP((JDIMENSION img_width, 177 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
279 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 178 JDIMENSION output_row, int num_rows);
280 JDIMENSION output_row, int num_rows));
281 EXTERN(void) jsimd_extrgbx_gray_convert_sse2 179 EXTERN(void) jsimd_extrgbx_gray_convert_sse2
282 JPP((JDIMENSION img_width, 180 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
283 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 181 JDIMENSION output_row, int num_rows);
284 JDIMENSION output_row, int num_rows));
285 EXTERN(void) jsimd_extbgr_gray_convert_sse2 182 EXTERN(void) jsimd_extbgr_gray_convert_sse2
286 JPP((JDIMENSION img_width, 183 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
287 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 184 JDIMENSION output_row, int num_rows);
288 JDIMENSION output_row, int num_rows));
289 EXTERN(void) jsimd_extbgrx_gray_convert_sse2 185 EXTERN(void) jsimd_extbgrx_gray_convert_sse2
290 JPP((JDIMENSION img_width, 186 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
291 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 187 JDIMENSION output_row, int num_rows);
292 JDIMENSION output_row, int num_rows));
293 EXTERN(void) jsimd_extxbgr_gray_convert_sse2 188 EXTERN(void) jsimd_extxbgr_gray_convert_sse2
294 JPP((JDIMENSION img_width, 189 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
295 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 190 JDIMENSION output_row, int num_rows);
296 JDIMENSION output_row, int num_rows));
297 EXTERN(void) jsimd_extxrgb_gray_convert_sse2 191 EXTERN(void) jsimd_extxrgb_gray_convert_sse2
298 JPP((JDIMENSION img_width, 192 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
299 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, 193 JDIMENSION output_row, int num_rows);
300 JDIMENSION output_row, int num_rows)); 194
195 EXTERN(void) jsimd_rgb_gray_convert_mips_dspr2
196 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
197 JDIMENSION output_row, int num_rows);
198 EXTERN(void) jsimd_extrgb_gray_convert_mips_dspr2
199 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
200 JDIMENSION output_row, int num_rows);
201 EXTERN(void) jsimd_extrgbx_gray_convert_mips_dspr2
202 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
203 JDIMENSION output_row, int num_rows);
204 EXTERN(void) jsimd_extbgr_gray_convert_mips_dspr2
205 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
206 JDIMENSION output_row, int num_rows);
207 EXTERN(void) jsimd_extbgrx_gray_convert_mips_dspr2
208 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
209 JDIMENSION output_row, int num_rows);
210 EXTERN(void) jsimd_extxbgr_gray_convert_mips_dspr2
211 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
212 JDIMENSION output_row, int num_rows);
213 EXTERN(void) jsimd_extxrgb_gray_convert_mips_dspr2
214 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
215 JDIMENSION output_row, int num_rows);
216
217 EXTERN(void) jsimd_rgb_gray_convert_altivec
218 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
219 JDIMENSION output_row, int num_rows);
220 EXTERN(void) jsimd_extrgb_gray_convert_altivec
221 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
222 JDIMENSION output_row, int num_rows);
223 EXTERN(void) jsimd_extrgbx_gray_convert_altivec
224 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
225 JDIMENSION output_row, int num_rows);
226 EXTERN(void) jsimd_extbgr_gray_convert_altivec
227 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
228 JDIMENSION output_row, int num_rows);
229 EXTERN(void) jsimd_extbgrx_gray_convert_altivec
230 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
231 JDIMENSION output_row, int num_rows);
232 EXTERN(void) jsimd_extxbgr_gray_convert_altivec
233 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
234 JDIMENSION output_row, int num_rows);
235 EXTERN(void) jsimd_extxrgb_gray_convert_altivec
236 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
237 JDIMENSION output_row, int num_rows);
238
239 /* YCC --> RGB & extended RGB Colorspace Conversion */
240 EXTERN(void) jsimd_ycc_rgb_convert_mmx
241 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
242 JSAMPARRAY output_buf, int num_rows);
243 EXTERN(void) jsimd_ycc_extrgb_convert_mmx
244 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
245 JSAMPARRAY output_buf, int num_rows);
246 EXTERN(void) jsimd_ycc_extrgbx_convert_mmx
247 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
248 JSAMPARRAY output_buf, int num_rows);
249 EXTERN(void) jsimd_ycc_extbgr_convert_mmx
250 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
251 JSAMPARRAY output_buf, int num_rows);
252 EXTERN(void) jsimd_ycc_extbgrx_convert_mmx
253 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
254 JSAMPARRAY output_buf, int num_rows);
255 EXTERN(void) jsimd_ycc_extxbgr_convert_mmx
256 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
257 JSAMPARRAY output_buf, int num_rows);
258 EXTERN(void) jsimd_ycc_extxrgb_convert_mmx
259 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
260 JSAMPARRAY output_buf, int num_rows);
301 261
302 extern const int jconst_ycc_rgb_convert_sse2[]; 262 extern const int jconst_ycc_rgb_convert_sse2[];
303 EXTERN(void) jsimd_ycc_rgb_convert_sse2 263 EXTERN(void) jsimd_ycc_rgb_convert_sse2
304 JPP((JDIMENSION out_width, 264 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
305 JSAMPIMAGE input_buf, JDIMENSION input_row, 265 JSAMPARRAY output_buf, int num_rows);
306 JSAMPARRAY output_buf, int num_rows));
307 EXTERN(void) jsimd_ycc_extrgb_convert_sse2 266 EXTERN(void) jsimd_ycc_extrgb_convert_sse2
308 JPP((JDIMENSION out_width, 267 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
309 JSAMPIMAGE input_buf, JDIMENSION input_row, 268 JSAMPARRAY output_buf, int num_rows);
310 JSAMPARRAY output_buf, int num_rows));
311 EXTERN(void) jsimd_ycc_extrgbx_convert_sse2 269 EXTERN(void) jsimd_ycc_extrgbx_convert_sse2
312 JPP((JDIMENSION out_width, 270 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
313 JSAMPIMAGE input_buf, JDIMENSION input_row, 271 JSAMPARRAY output_buf, int num_rows);
314 JSAMPARRAY output_buf, int num_rows));
315 EXTERN(void) jsimd_ycc_extbgr_convert_sse2 272 EXTERN(void) jsimd_ycc_extbgr_convert_sse2
316 JPP((JDIMENSION out_width, 273 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
317 JSAMPIMAGE input_buf, JDIMENSION input_row, 274 JSAMPARRAY output_buf, int num_rows);
318 JSAMPARRAY output_buf, int num_rows));
319 EXTERN(void) jsimd_ycc_extbgrx_convert_sse2 275 EXTERN(void) jsimd_ycc_extbgrx_convert_sse2
320 JPP((JDIMENSION out_width, 276 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
321 JSAMPIMAGE input_buf, JDIMENSION input_row, 277 JSAMPARRAY output_buf, int num_rows);
322 JSAMPARRAY output_buf, int num_rows));
323 EXTERN(void) jsimd_ycc_extxbgr_convert_sse2 278 EXTERN(void) jsimd_ycc_extxbgr_convert_sse2
324 JPP((JDIMENSION out_width, 279 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
325 JSAMPIMAGE input_buf, JDIMENSION input_row, 280 JSAMPARRAY output_buf, int num_rows);
326 JSAMPARRAY output_buf, int num_rows));
327 EXTERN(void) jsimd_ycc_extxrgb_convert_sse2 281 EXTERN(void) jsimd_ycc_extxrgb_convert_sse2
328 JPP((JDIMENSION out_width, 282 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
329 JSAMPIMAGE input_buf, JDIMENSION input_row, 283 JSAMPARRAY output_buf, int num_rows);
330 JSAMPARRAY output_buf, int num_rows));
331
332 EXTERN(void) jsimd_rgb_ycc_convert_neon
333 JPP((JDIMENSION img_width,
334 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
335 JDIMENSION output_row, int num_rows));
336 EXTERN(void) jsimd_extrgb_ycc_convert_neon
337 JPP((JDIMENSION img_width,
338 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
339 JDIMENSION output_row, int num_rows));
340 EXTERN(void) jsimd_extrgbx_ycc_convert_neon
341 JPP((JDIMENSION img_width,
342 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
343 JDIMENSION output_row, int num_rows));
344 EXTERN(void) jsimd_extbgr_ycc_convert_neon
345 JPP((JDIMENSION img_width,
346 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
347 JDIMENSION output_row, int num_rows));
348 EXTERN(void) jsimd_extbgrx_ycc_convert_neon
349 JPP((JDIMENSION img_width,
350 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
351 JDIMENSION output_row, int num_rows));
352 EXTERN(void) jsimd_extxbgr_ycc_convert_neon
353 JPP((JDIMENSION img_width,
354 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
355 JDIMENSION output_row, int num_rows));
356 EXTERN(void) jsimd_extxrgb_ycc_convert_neon
357 JPP((JDIMENSION img_width,
358 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
359 JDIMENSION output_row, int num_rows));
360 284
361 EXTERN(void) jsimd_ycc_rgb_convert_neon 285 EXTERN(void) jsimd_ycc_rgb_convert_neon
362 JPP((JDIMENSION out_width, 286 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
363 JSAMPIMAGE input_buf, JDIMENSION input_row, 287 JSAMPARRAY output_buf, int num_rows);
364 JSAMPARRAY output_buf, int num_rows));
365 EXTERN(void) jsimd_ycc_extrgb_convert_neon 288 EXTERN(void) jsimd_ycc_extrgb_convert_neon
366 JPP((JDIMENSION out_width, 289 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
367 JSAMPIMAGE input_buf, JDIMENSION input_row, 290 JSAMPARRAY output_buf, int num_rows);
368 JSAMPARRAY output_buf, int num_rows));
369 EXTERN(void) jsimd_ycc_extrgbx_convert_neon 291 EXTERN(void) jsimd_ycc_extrgbx_convert_neon
370 JPP((JDIMENSION out_width, 292 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
371 JSAMPIMAGE input_buf, JDIMENSION input_row, 293 JSAMPARRAY output_buf, int num_rows);
372 JSAMPARRAY output_buf, int num_rows));
373 EXTERN(void) jsimd_ycc_extbgr_convert_neon 294 EXTERN(void) jsimd_ycc_extbgr_convert_neon
374 JPP((JDIMENSION out_width, 295 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
375 JSAMPIMAGE input_buf, JDIMENSION input_row, 296 JSAMPARRAY output_buf, int num_rows);
376 JSAMPARRAY output_buf, int num_rows));
377 EXTERN(void) jsimd_ycc_extbgrx_convert_neon 297 EXTERN(void) jsimd_ycc_extbgrx_convert_neon
378 JPP((JDIMENSION out_width, 298 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
379 JSAMPIMAGE input_buf, JDIMENSION input_row, 299 JSAMPARRAY output_buf, int num_rows);
380 JSAMPARRAY output_buf, int num_rows));
381 EXTERN(void) jsimd_ycc_extxbgr_convert_neon 300 EXTERN(void) jsimd_ycc_extxbgr_convert_neon
382 JPP((JDIMENSION out_width, 301 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
383 JSAMPIMAGE input_buf, JDIMENSION input_row, 302 JSAMPARRAY output_buf, int num_rows);
384 JSAMPARRAY output_buf, int num_rows));
385 EXTERN(void) jsimd_ycc_extxrgb_convert_neon 303 EXTERN(void) jsimd_ycc_extxrgb_convert_neon
386 JPP((JDIMENSION out_width, 304 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
387 JSAMPIMAGE input_buf, JDIMENSION input_row, 305 JSAMPARRAY output_buf, int num_rows);
388 JSAMPARRAY output_buf, int num_rows));
389 EXTERN(void) jsimd_ycc_rgb565_convert_neon 306 EXTERN(void) jsimd_ycc_rgb565_convert_neon
390 JPP((JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row, 307 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
391 JSAMPARRAY output_buf, int num_rows)); 308 JSAMPARRAY output_buf, int num_rows);
392 309
393 /* SIMD Downsample */ 310 EXTERN(void) jsimd_ycc_extrgb_convert_neon_slowst3
311 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
312 JSAMPARRAY output_buf, int num_rows);
313 EXTERN(void) jsimd_ycc_extbgr_convert_neon_slowst3
314 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
315 JSAMPARRAY output_buf, int num_rows);
316
317 EXTERN(void) jsimd_ycc_rgb_convert_mips_dspr2
318 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
319 JSAMPARRAY output_buf, int num_rows);
320 EXTERN(void) jsimd_ycc_extrgb_convert_mips_dspr2
321 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
322 JSAMPARRAY output_buf, int num_rows);
323 EXTERN(void) jsimd_ycc_extrgbx_convert_mips_dspr2
324 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
325 JSAMPARRAY output_buf, int num_rows);
326 EXTERN(void) jsimd_ycc_extbgr_convert_mips_dspr2
327 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
328 JSAMPARRAY output_buf, int num_rows);
329 EXTERN(void) jsimd_ycc_extbgrx_convert_mips_dspr2
330 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
331 JSAMPARRAY output_buf, int num_rows);
332 EXTERN(void) jsimd_ycc_extxbgr_convert_mips_dspr2
333 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
334 JSAMPARRAY output_buf, int num_rows);
335 EXTERN(void) jsimd_ycc_extxrgb_convert_mips_dspr2
336 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
337 JSAMPARRAY output_buf, int num_rows);
338
339 EXTERN(void) jsimd_ycc_rgb_convert_altivec
340 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
341 JSAMPARRAY output_buf, int num_rows);
342 EXTERN(void) jsimd_ycc_extrgb_convert_altivec
343 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
344 JSAMPARRAY output_buf, int num_rows);
345 EXTERN(void) jsimd_ycc_extrgbx_convert_altivec
346 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
347 JSAMPARRAY output_buf, int num_rows);
348 EXTERN(void) jsimd_ycc_extbgr_convert_altivec
349 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
350 JSAMPARRAY output_buf, int num_rows);
351 EXTERN(void) jsimd_ycc_extbgrx_convert_altivec
352 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
353 JSAMPARRAY output_buf, int num_rows);
354 EXTERN(void) jsimd_ycc_extxbgr_convert_altivec
355 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
356 JSAMPARRAY output_buf, int num_rows);
357 EXTERN(void) jsimd_ycc_extxrgb_convert_altivec
358 (JDIMENSION out_width, JSAMPIMAGE input_buf, JDIMENSION input_row,
359 JSAMPARRAY output_buf, int num_rows);
360
361 /* NULL Colorspace Conversion */
362 EXTERN(void) jsimd_c_null_convert_mips_dspr2
363 (JDIMENSION img_width, JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
364 JDIMENSION output_row, int num_rows, int num_components);
365
366 /* h2v1 Downsampling */
367 EXTERN(void) jsimd_h2v1_downsample_mmx
368 (JDIMENSION image_width, int max_v_samp_factor,
369 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
370 JSAMPARRAY input_data, JSAMPARRAY output_data);
371
372 EXTERN(void) jsimd_h2v1_downsample_sse2
373 (JDIMENSION image_width, int max_v_samp_factor,
374 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
375 JSAMPARRAY input_data, JSAMPARRAY output_data);
376
377 EXTERN(void) jsimd_h2v1_downsample_neon
378 (JDIMENSION image_width, int max_v_samp_factor,
379 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
380 JSAMPARRAY input_data, JSAMPARRAY output_data);
381
382 EXTERN(void) jsimd_h2v1_downsample_mips_dspr2
383 (JDIMENSION image_width, int max_v_samp_factor,
384 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
385 JSAMPARRAY input_data, JSAMPARRAY output_data);
386
387 EXTERN(void) jsimd_h2v1_downsample_altivec
388 (JDIMENSION image_width, int max_v_samp_factor,
389 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
390 JSAMPARRAY input_data, JSAMPARRAY output_data);
391
392 /* h2v2 Downsampling */
394 EXTERN(void) jsimd_h2v2_downsample_mmx 393 EXTERN(void) jsimd_h2v2_downsample_mmx
395 JPP((JDIMENSION image_width, int max_v_samp_factor, 394 (JDIMENSION image_width, int max_v_samp_factor,
396 JDIMENSION v_samp_factor, JDIMENSION width_blocks, 395 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
397 JSAMPARRAY input_data, JSAMPARRAY output_data)); 396 JSAMPARRAY input_data, JSAMPARRAY output_data);
398 EXTERN(void) jsimd_h2v1_downsample_mmx
399 JPP((JDIMENSION image_width, int max_v_samp_factor,
400 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
401 JSAMPARRAY input_data, JSAMPARRAY output_data));
402 397
403 EXTERN(void) jsimd_h2v2_downsample_sse2 398 EXTERN(void) jsimd_h2v2_downsample_sse2
404 JPP((JDIMENSION image_width, int max_v_samp_factor, 399 (JDIMENSION image_width, int max_v_samp_factor,
405 JDIMENSION v_samp_factor, JDIMENSION width_blocks, 400 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
406 JSAMPARRAY input_data, JSAMPARRAY output_data)); 401 JSAMPARRAY input_data, JSAMPARRAY output_data);
407 EXTERN(void) jsimd_h2v1_downsample_sse2 402
408 JPP((JDIMENSION image_width, int max_v_samp_factor, 403 EXTERN(void) jsimd_h2v2_downsample_neon
409 JDIMENSION v_samp_factor, JDIMENSION width_blocks, 404 (JDIMENSION image_width, int max_v_samp_factor,
410 JSAMPARRAY input_data, JSAMPARRAY output_data)); 405 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
411 406 JSAMPARRAY input_data, JSAMPARRAY output_data);
412 /* SIMD Upsample */ 407
408 EXTERN(void) jsimd_h2v2_downsample_mips_dspr2
409 (JDIMENSION image_width, int max_v_samp_factor,
410 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
411 JSAMPARRAY input_data, JSAMPARRAY output_data);
412
413 EXTERN(void) jsimd_h2v2_downsample_altivec
414 (JDIMENSION image_width, int max_v_samp_factor,
415 JDIMENSION v_samp_factor, JDIMENSION width_blocks,
416 JSAMPARRAY input_data, JSAMPARRAY output_data);
417
418 /* h2v2 Smooth Downsampling */
419 EXTERN(void) jsimd_h2v2_smooth_downsample_mips_dspr2
420 (JSAMPARRAY input_data, JSAMPARRAY output_data,
421 JDIMENSION v_samp_factor, int max_v_samp_factor,
422 int smoothing_factor, JDIMENSION width_blocks,
423 JDIMENSION image_width);
424
425
426 /* Upsampling */
427 EXTERN(void) jsimd_h2v1_upsample_mmx
428 (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
429 JSAMPARRAY *output_data_ptr);
413 EXTERN(void) jsimd_h2v2_upsample_mmx 430 EXTERN(void) jsimd_h2v2_upsample_mmx
414 JPP((int max_v_samp_factor, JDIMENSION output_width, 431 (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
415 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr)); 432 JSAMPARRAY *output_data_ptr);
416 EXTERN(void) jsimd_h2v1_upsample_mmx 433
417 JPP((int max_v_samp_factor, JDIMENSION output_width, 434 EXTERN(void) jsimd_h2v1_upsample_sse2
418 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr)); 435 (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
419 436 JSAMPARRAY *output_data_ptr);
437 EXTERN(void) jsimd_h2v2_upsample_sse2
438 (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
439 JSAMPARRAY *output_data_ptr);
440
441 EXTERN(void) jsimd_h2v1_upsample_mips_dspr2
442 (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
443 JSAMPARRAY *output_data_ptr);
444 EXTERN(void) jsimd_h2v2_upsample_mips_dspr2
445 (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
446 JSAMPARRAY *output_data_ptr);
447
448 EXTERN(void) jsimd_int_upsample_mips_dspr2
449 (UINT8 h_expand, UINT8 v_expand, JSAMPARRAY input_data,
450 JSAMPARRAY *output_data_ptr, JDIMENSION output_width,
451 int max_v_samp_factor);
452
453 EXTERN(void) jsimd_h2v1_upsample_altivec
454 (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
455 JSAMPARRAY *output_data_ptr);
456 EXTERN(void) jsimd_h2v2_upsample_altivec
457 (int max_v_samp_factor, JDIMENSION output_width, JSAMPARRAY input_data,
458 JSAMPARRAY *output_data_ptr);
459
460 /* Fancy Upsampling */
461 EXTERN(void) jsimd_h2v1_fancy_upsample_mmx
462 (int max_v_samp_factor, JDIMENSION downsampled_width,
463 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr);
420 EXTERN(void) jsimd_h2v2_fancy_upsample_mmx 464 EXTERN(void) jsimd_h2v2_fancy_upsample_mmx
421 JPP((int max_v_samp_factor, JDIMENSION downsampled_width, 465 (int max_v_samp_factor, JDIMENSION downsampled_width,
422 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr)); 466 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr);
423 EXTERN(void) jsimd_h2v1_fancy_upsample_mmx 467
424 JPP((int max_v_samp_factor, JDIMENSION downsampled_width, 468 extern const int jconst_fancy_upsample_sse2[];
425 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr)); 469 EXTERN(void) jsimd_h2v1_fancy_upsample_sse2
470 (int max_v_samp_factor, JDIMENSION downsampled_width,
471 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr);
472 EXTERN(void) jsimd_h2v2_fancy_upsample_sse2
473 (int max_v_samp_factor, JDIMENSION downsampled_width,
474 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr);
475
476 EXTERN(void) jsimd_h2v1_fancy_upsample_neon
477 (int max_v_samp_factor, JDIMENSION downsampled_width,
478 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr);
479
480 EXTERN(void) jsimd_h2v1_fancy_upsample_mips_dspr2
481 (int max_v_samp_factor, JDIMENSION downsampled_width,
482 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr);
483 EXTERN(void) jsimd_h2v2_fancy_upsample_mips_dspr2
484 (int max_v_samp_factor, JDIMENSION downsampled_width,
485 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr);
486
487 EXTERN(void) jsimd_h2v1_fancy_upsample_altivec
488 (int max_v_samp_factor, JDIMENSION downsampled_width,
489 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr);
490 EXTERN(void) jsimd_h2v2_fancy_upsample_altivec
491 (int max_v_samp_factor, JDIMENSION downsampled_width,
492 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr);
493
494 /* Merged Upsampling */
495 EXTERN(void) jsimd_h2v1_merged_upsample_mmx
496 (JDIMENSION output_width, JSAMPIMAGE input_buf,
497 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
498 EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_mmx
499 (JDIMENSION output_width, JSAMPIMAGE input_buf,
500 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
501 EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_mmx
502 (JDIMENSION output_width, JSAMPIMAGE input_buf,
503 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
504 EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_mmx
505 (JDIMENSION output_width, JSAMPIMAGE input_buf,
506 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
507 EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_mmx
508 (JDIMENSION output_width, JSAMPIMAGE input_buf,
509 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
510 EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_mmx
511 (JDIMENSION output_width, JSAMPIMAGE input_buf,
512 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
513 EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_mmx
514 (JDIMENSION output_width, JSAMPIMAGE input_buf,
515 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
426 516
427 EXTERN(void) jsimd_h2v2_merged_upsample_mmx 517 EXTERN(void) jsimd_h2v2_merged_upsample_mmx
428 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 518 (JDIMENSION output_width, JSAMPIMAGE input_buf,
429 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 519 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
430 EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_mmx 520 EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_mmx
431 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 521 (JDIMENSION output_width, JSAMPIMAGE input_buf,
432 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 522 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
433 EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_mmx 523 EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_mmx
434 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 524 (JDIMENSION output_width, JSAMPIMAGE input_buf,
435 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 525 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
436 EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_mmx 526 EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_mmx
437 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 527 (JDIMENSION output_width, JSAMPIMAGE input_buf,
438 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 528 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
439 EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_mmx 529 EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_mmx
440 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 530 (JDIMENSION output_width, JSAMPIMAGE input_buf,
441 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 531 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
442 EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_mmx 532 EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_mmx
443 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 533 (JDIMENSION output_width, JSAMPIMAGE input_buf,
444 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 534 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
445 EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_mmx 535 EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_mmx
446 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 536 (JDIMENSION output_width, JSAMPIMAGE input_buf,
447 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 537 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
448 EXTERN(void) jsimd_h2v1_merged_upsample_mmx
449 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf,
450 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf));
451 EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_mmx
452 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf,
453 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf));
454 EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_mmx
455 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf,
456 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf));
457 EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_mmx
458 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf,
459 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf));
460 EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_mmx
461 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf,
462 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf));
463 EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_mmx
464 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf,
465 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf));
466 EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_mmx
467 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf,
468 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf));
469
470 EXTERN(void) jsimd_h2v2_upsample_sse2
471 JPP((int max_v_samp_factor, JDIMENSION output_width,
472 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
473 EXTERN(void) jsimd_h2v1_upsample_sse2
474 JPP((int max_v_samp_factor, JDIMENSION output_width,
475 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
476
477 extern const int jconst_fancy_upsample_sse2[];
478 EXTERN(void) jsimd_h2v2_fancy_upsample_sse2
479 JPP((int max_v_samp_factor, JDIMENSION downsampled_width,
480 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
481 EXTERN(void) jsimd_h2v1_fancy_upsample_sse2
482 JPP((int max_v_samp_factor, JDIMENSION downsampled_width,
483 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr));
484 538
485 extern const int jconst_merged_upsample_sse2[]; 539 extern const int jconst_merged_upsample_sse2[];
540 EXTERN(void) jsimd_h2v1_merged_upsample_sse2
541 (JDIMENSION output_width, JSAMPIMAGE input_buf,
542 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
543 EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_sse2
544 (JDIMENSION output_width, JSAMPIMAGE input_buf,
545 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
546 EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_sse2
547 (JDIMENSION output_width, JSAMPIMAGE input_buf,
548 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
549 EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_sse2
550 (JDIMENSION output_width, JSAMPIMAGE input_buf,
551 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
552 EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_sse2
553 (JDIMENSION output_width, JSAMPIMAGE input_buf,
554 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
555 EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_sse2
556 (JDIMENSION output_width, JSAMPIMAGE input_buf,
557 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
558 EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_sse2
559 (JDIMENSION output_width, JSAMPIMAGE input_buf,
560 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
561
486 EXTERN(void) jsimd_h2v2_merged_upsample_sse2 562 EXTERN(void) jsimd_h2v2_merged_upsample_sse2
487 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 563 (JDIMENSION output_width, JSAMPIMAGE input_buf,
488 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 564 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
489 EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_sse2 565 EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_sse2
490 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 566 (JDIMENSION output_width, JSAMPIMAGE input_buf,
491 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 567 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
492 EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_sse2 568 EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_sse2
493 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 569 (JDIMENSION output_width, JSAMPIMAGE input_buf,
494 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 570 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
495 EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_sse2 571 EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_sse2
496 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 572 (JDIMENSION output_width, JSAMPIMAGE input_buf,
497 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 573 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
498 EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_sse2 574 EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_sse2
499 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 575 (JDIMENSION output_width, JSAMPIMAGE input_buf,
500 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 576 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
501 EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_sse2 577 EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_sse2
502 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 578 (JDIMENSION output_width, JSAMPIMAGE input_buf,
503 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 579 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
504 EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_sse2 580 EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_sse2
505 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 581 (JDIMENSION output_width, JSAMPIMAGE input_buf,
506 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 582 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
507 EXTERN(void) jsimd_h2v1_merged_upsample_sse2 583
508 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 584 EXTERN(void) jsimd_h2v1_merged_upsample_mips_dspr2
509 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 585 (JDIMENSION output_width, JSAMPIMAGE input_buf,
510 EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_sse2 586 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
511 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 587 EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_mips_dspr2
512 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 588 (JDIMENSION output_width, JSAMPIMAGE input_buf,
513 EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_sse2 589 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
514 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 590 EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_mips_dspr2
515 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 591 (JDIMENSION output_width, JSAMPIMAGE input_buf,
516 EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_sse2 592 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
517 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 593 EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_mips_dspr2
518 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 594 (JDIMENSION output_width, JSAMPIMAGE input_buf,
519 EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_sse2 595 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
520 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 596 EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_mips_dspr2
521 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 597 (JDIMENSION output_width, JSAMPIMAGE input_buf,
522 EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_sse2 598 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
523 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 599 EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_mips_dspr2
524 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 600 (JDIMENSION output_width, JSAMPIMAGE input_buf,
525 EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_sse2 601 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
526 JPP((JDIMENSION output_width, JSAMPIMAGE input_buf, 602 EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_mips_dspr2
527 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf)); 603 (JDIMENSION output_width, JSAMPIMAGE input_buf,
528 604 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
529 EXTERN(void) jsimd_h2v1_fancy_upsample_neon 605
530 JPP((int max_v_samp_factor, JDIMENSION downsampled_width, 606 EXTERN(void) jsimd_h2v2_merged_upsample_mips_dspr2
531 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr)); 607 (JDIMENSION output_width, JSAMPIMAGE input_buf,
532 608 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
533 /* SIMD Sample Conversion */ 609 EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_mips_dspr2
534 EXTERN(void) jsimd_convsamp_mmx JPP((JSAMPARRAY sample_data, 610 (JDIMENSION output_width, JSAMPIMAGE input_buf,
535 JDIMENSION start_col, 611 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
536 DCTELEM * workspace)); 612 EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_mips_dspr2
537 613 (JDIMENSION output_width, JSAMPIMAGE input_buf,
538 EXTERN(void) jsimd_convsamp_sse2 JPP((JSAMPARRAY sample_data, 614 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
539 JDIMENSION start_col, 615 EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_mips_dspr2
540 DCTELEM * workspace)); 616 (JDIMENSION output_width, JSAMPIMAGE input_buf,
541 617 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
542 EXTERN(void) jsimd_convsamp_neon JPP((JSAMPARRAY sample_data, 618 EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_mips_dspr2
543 JDIMENSION start_col, 619 (JDIMENSION output_width, JSAMPIMAGE input_buf,
544 DCTELEM * workspace)); 620 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
545 621 EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_mips_dspr2
546 EXTERN(void) jsimd_convsamp_float_3dnow JPP((JSAMPARRAY sample_data, 622 (JDIMENSION output_width, JSAMPIMAGE input_buf,
547 JDIMENSION start_col, 623 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
548 FAST_FLOAT * workspace)); 624 EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_mips_dspr2
549 625 (JDIMENSION output_width, JSAMPIMAGE input_buf,
550 EXTERN(void) jsimd_convsamp_float_sse JPP((JSAMPARRAY sample_data, 626 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf, JSAMPLE* range);
551 JDIMENSION start_col, 627
552 FAST_FLOAT * workspace)); 628 EXTERN(void) jsimd_h2v1_merged_upsample_altivec
553 629 (JDIMENSION output_width, JSAMPIMAGE input_buf,
554 EXTERN(void) jsimd_convsamp_float_sse2 JPP((JSAMPARRAY sample_data, 630 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
555 JDIMENSION start_col, 631 EXTERN(void) jsimd_h2v1_extrgb_merged_upsample_altivec
556 FAST_FLOAT * workspace)); 632 (JDIMENSION output_width, JSAMPIMAGE input_buf,
557 633 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
558 /* SIMD Forward DCT */ 634 EXTERN(void) jsimd_h2v1_extrgbx_merged_upsample_altivec
559 EXTERN(void) jsimd_fdct_islow_mmx JPP((DCTELEM * data)); 635 (JDIMENSION output_width, JSAMPIMAGE input_buf,
560 EXTERN(void) jsimd_fdct_ifast_mmx JPP((DCTELEM * data)); 636 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
637 EXTERN(void) jsimd_h2v1_extbgr_merged_upsample_altivec
638 (JDIMENSION output_width, JSAMPIMAGE input_buf,
639 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
640 EXTERN(void) jsimd_h2v1_extbgrx_merged_upsample_altivec
641 (JDIMENSION output_width, JSAMPIMAGE input_buf,
642 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
643 EXTERN(void) jsimd_h2v1_extxbgr_merged_upsample_altivec
644 (JDIMENSION output_width, JSAMPIMAGE input_buf,
645 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
646 EXTERN(void) jsimd_h2v1_extxrgb_merged_upsample_altivec
647 (JDIMENSION output_width, JSAMPIMAGE input_buf,
648 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
649
650 EXTERN(void) jsimd_h2v2_merged_upsample_altivec
651 (JDIMENSION output_width, JSAMPIMAGE input_buf,
652 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
653 EXTERN(void) jsimd_h2v2_extrgb_merged_upsample_altivec
654 (JDIMENSION output_width, JSAMPIMAGE input_buf,
655 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
656 EXTERN(void) jsimd_h2v2_extrgbx_merged_upsample_altivec
657 (JDIMENSION output_width, JSAMPIMAGE input_buf,
658 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
659 EXTERN(void) jsimd_h2v2_extbgr_merged_upsample_altivec
660 (JDIMENSION output_width, JSAMPIMAGE input_buf,
661 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
662 EXTERN(void) jsimd_h2v2_extbgrx_merged_upsample_altivec
663 (JDIMENSION output_width, JSAMPIMAGE input_buf,
664 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
665 EXTERN(void) jsimd_h2v2_extxbgr_merged_upsample_altivec
666 (JDIMENSION output_width, JSAMPIMAGE input_buf,
667 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
668 EXTERN(void) jsimd_h2v2_extxrgb_merged_upsample_altivec
669 (JDIMENSION output_width, JSAMPIMAGE input_buf,
670 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf);
671
672 /* Sample Conversion */
673 EXTERN(void) jsimd_convsamp_mmx
674 (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
675
676 EXTERN(void) jsimd_convsamp_sse2
677 (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
678
679 EXTERN(void) jsimd_convsamp_neon
680 (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
681
682 EXTERN(void) jsimd_convsamp_mips_dspr2
683 (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
684
685 EXTERN(void) jsimd_convsamp_altivec
686 (JSAMPARRAY sample_data, JDIMENSION start_col, DCTELEM *workspace);
687
688 /* Floating Point Sample Conversion */
689 EXTERN(void) jsimd_convsamp_float_3dnow
690 (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace);
691
692 EXTERN(void) jsimd_convsamp_float_sse
693 (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace);
694
695 EXTERN(void) jsimd_convsamp_float_sse2
696 (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace);
697
698 EXTERN(void) jsimd_convsamp_float_mips_dspr2
699 (JSAMPARRAY sample_data, JDIMENSION start_col, FAST_FLOAT *workspace);
700
701 /* Slow Integer Forward DCT */
702 EXTERN(void) jsimd_fdct_islow_mmx (DCTELEM *data);
703
704 extern const int jconst_fdct_islow_sse2[];
705 EXTERN(void) jsimd_fdct_islow_sse2 (DCTELEM *data);
706
707 EXTERN(void) jsimd_fdct_islow_neon (DCTELEM *data);
708
709 EXTERN(void) jsimd_fdct_islow_mips_dspr2 (DCTELEM *data);
710
711 EXTERN(void) jsimd_fdct_islow_altivec (DCTELEM *data);
712
713 /* Fast Integer Forward DCT */
714 EXTERN(void) jsimd_fdct_ifast_mmx (DCTELEM *data);
561 715
562 extern const int jconst_fdct_ifast_sse2[]; 716 extern const int jconst_fdct_ifast_sse2[];
563 EXTERN(void) jsimd_fdct_islow_sse2 JPP((DCTELEM * data)); 717 EXTERN(void) jsimd_fdct_ifast_sse2 (DCTELEM *data);
564 extern const int jconst_fdct_islow_sse2[]; 718
565 EXTERN(void) jsimd_fdct_ifast_sse2 JPP((DCTELEM * data)); 719 EXTERN(void) jsimd_fdct_ifast_neon (DCTELEM *data);
566 720
567 EXTERN(void) jsimd_fdct_ifast_neon JPP((DCTELEM * data)); 721 EXTERN(void) jsimd_fdct_ifast_mips_dspr2 (DCTELEM *data);
568 722
569 EXTERN(void) jsimd_fdct_float_3dnow JPP((FAST_FLOAT * data)); 723 EXTERN(void) jsimd_fdct_ifast_altivec (DCTELEM *data);
724
725 /* Floating Point Forward DCT */
726 EXTERN(void) jsimd_fdct_float_3dnow (FAST_FLOAT *data);
570 727
571 extern const int jconst_fdct_float_sse[]; 728 extern const int jconst_fdct_float_sse[];
572 EXTERN(void) jsimd_fdct_float_sse JPP((FAST_FLOAT * data)); 729 EXTERN(void) jsimd_fdct_float_sse (FAST_FLOAT *data);
573 730
574 /* SIMD Quantization */ 731 /* Quantization */
575 EXTERN(void) jsimd_quantize_mmx JPP((JCOEFPTR coef_block, 732 EXTERN(void) jsimd_quantize_mmx
576 DCTELEM * divisors, 733 (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
577 DCTELEM * workspace)); 734
578 735 EXTERN(void) jsimd_quantize_sse2
579 EXTERN(void) jsimd_quantize_sse2 JPP((JCOEFPTR coef_block, 736 (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
580 DCTELEM * divisors, 737
581 DCTELEM * workspace)); 738 EXTERN(void) jsimd_quantize_neon
582 739 (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
583 EXTERN(void) jsimd_quantize_neon JPP((JCOEFPTR coef_block, 740
584 DCTELEM * divisors, 741 EXTERN(void) jsimd_quantize_mips_dspr2
585 DCTELEM * workspace)); 742 (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
586 743
587 EXTERN(void) jsimd_quantize_float_3dnow JPP((JCOEFPTR coef_block, 744 EXTERN(void) jsimd_quantize_altivec
588 FAST_FLOAT * divisors, 745 (JCOEFPTR coef_block, DCTELEM *divisors, DCTELEM *workspace);
589 FAST_FLOAT * workspace)); 746
590 747 /* Floating Point Quantization */
591 EXTERN(void) jsimd_quantize_float_sse JPP((JCOEFPTR coef_block, 748 EXTERN(void) jsimd_quantize_float_3dnow
592 FAST_FLOAT * divisors, 749 (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace);
593 FAST_FLOAT * workspace)); 750
594 751 EXTERN(void) jsimd_quantize_float_sse
595 EXTERN(void) jsimd_quantize_float_sse2 JPP((JCOEFPTR coef_block, 752 (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace);
596 FAST_FLOAT * divisors, 753
597 FAST_FLOAT * workspace)); 754 EXTERN(void) jsimd_quantize_float_sse2
598 755 (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace);
599 /* SIMD Reduced Inverse DCT */ 756
600 EXTERN(void) jsimd_idct_2x2_mmx JPP((void * dct_table, 757 EXTERN(void) jsimd_quantize_float_mips_dspr2
601 JCOEFPTR coef_block, 758 (JCOEFPTR coef_block, FAST_FLOAT *divisors, FAST_FLOAT *workspace);
602 JSAMPARRAY output_buf, 759
603 JDIMENSION output_col)); 760 /* Scaled Inverse DCT */
604 EXTERN(void) jsimd_idct_4x4_mmx JPP((void * dct_table, 761 EXTERN(void) jsimd_idct_2x2_mmx
605 JCOEFPTR coef_block, 762 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
606 JSAMPARRAY output_buf, 763 JDIMENSION output_col);
607 JDIMENSION output_col)); 764 EXTERN(void) jsimd_idct_4x4_mmx
765 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
766 JDIMENSION output_col);
608 767
609 extern const int jconst_idct_red_sse2[]; 768 extern const int jconst_idct_red_sse2[];
610 EXTERN(void) jsimd_idct_2x2_sse2 JPP((void * dct_table, 769 EXTERN(void) jsimd_idct_2x2_sse2
611 JCOEFPTR coef_block, 770 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
612 JSAMPARRAY output_buf, 771 JDIMENSION output_col);
613 JDIMENSION output_col)); 772 EXTERN(void) jsimd_idct_4x4_sse2
614 EXTERN(void) jsimd_idct_4x4_sse2 JPP((void * dct_table, 773 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
615 JCOEFPTR coef_block, 774 JDIMENSION output_col);
616 JSAMPARRAY output_buf, 775
617 JDIMENSION output_col)); 776 EXTERN(void) jsimd_idct_2x2_neon
618 777 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
619 EXTERN(void) jsimd_idct_2x2_neon JPP((void * dct_table, 778 JDIMENSION output_col);
620 JCOEFPTR coef_block, 779 EXTERN(void) jsimd_idct_4x4_neon
621 JSAMPARRAY output_buf, 780 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
622 JDIMENSION output_col)); 781 JDIMENSION output_col);
623 EXTERN(void) jsimd_idct_4x4_neon JPP((void * dct_table, 782
624 JCOEFPTR coef_block, 783 EXTERN(void) jsimd_idct_2x2_mips_dspr2
625 JSAMPARRAY output_buf, 784 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
626 JDIMENSION output_col)); 785 JDIMENSION output_col);
627 786 EXTERN(void) jsimd_idct_4x4_mips_dspr2
628 /* SIMD Inverse DCT */ 787 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
629 EXTERN(void) jsimd_idct_islow_mmx JPP((void * dct_table, 788 JDIMENSION output_col, int *workspace);
630 JCOEFPTR coef_block, 789 EXTERN(void) jsimd_idct_6x6_mips_dspr2
631 JSAMPARRAY output_buf, 790 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
632 JDIMENSION output_col)); 791 JDIMENSION output_col);
633 EXTERN(void) jsimd_idct_ifast_mmx JPP((void * dct_table, 792 EXTERN(void) jsimd_idct_12x12_pass1_mips_dspr2
634 JCOEFPTR coef_block, 793 (JCOEFPTR coef_block, void *dct_table, int *workspace);
635 JSAMPARRAY output_buf, 794 EXTERN(void) jsimd_idct_12x12_pass2_mips_dspr2
636 JDIMENSION output_col)); 795 (int *workspace, int *output);
796
797 /* Slow Integer Inverse DCT */
798 EXTERN(void) jsimd_idct_islow_mmx
799 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
800 JDIMENSION output_col);
637 801
638 extern const int jconst_idct_islow_sse2[]; 802 extern const int jconst_idct_islow_sse2[];
639 EXTERN(void) jsimd_idct_islow_sse2 JPP((void * dct_table, 803 EXTERN(void) jsimd_idct_islow_sse2
640 JCOEFPTR coef_block, 804 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
641 JSAMPARRAY output_buf, 805 JDIMENSION output_col);
642 JDIMENSION output_col)); 806
807 EXTERN(void) jsimd_idct_islow_neon
808 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
809 JDIMENSION output_col);
810
811 EXTERN(void) jsimd_idct_islow_mips_dspr2
812 (void *dct_table, JCOEFPTR coef_block, int *output_buf,
813 JSAMPLE *output_col);
814
815 EXTERN(void) jsimd_idct_islow_altivec
816 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
817 JDIMENSION output_col);
818
819 /* Fast Integer Inverse DCT */
820 EXTERN(void) jsimd_idct_ifast_mmx
821 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
822 JDIMENSION output_col);
823
643 extern const int jconst_idct_ifast_sse2[]; 824 extern const int jconst_idct_ifast_sse2[];
644 EXTERN(void) jsimd_idct_ifast_sse2 JPP((void * dct_table, 825 EXTERN(void) jsimd_idct_ifast_sse2
645 JCOEFPTR coef_block, 826 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
646 JSAMPARRAY output_buf, 827 JDIMENSION output_col);
647 JDIMENSION output_col)); 828
648 829 EXTERN(void) jsimd_idct_ifast_neon
649 EXTERN(void) jsimd_idct_islow_neon JPP((void * dct_table, 830 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
650 JCOEFPTR coef_block, 831 JDIMENSION output_col);
651 JSAMPARRAY output_buf, 832
652 JDIMENSION output_col)); 833 EXTERN(void) jsimd_idct_ifast_cols_mips_dspr2
653 EXTERN(void) jsimd_idct_ifast_neon JPP((void * dct_table, 834 (JCOEF *inptr, IFAST_MULT_TYPE *quantptr, DCTELEM *wsptr,
654 JCOEFPTR coef_block, 835 const int *idct_coefs);
655 JSAMPARRAY output_buf, 836 EXTERN(void) jsimd_idct_ifast_rows_mips_dspr2
656 JDIMENSION output_col)); 837 (DCTELEM *wsptr, JSAMPARRAY output_buf, JDIMENSION output_col,
657 838 const int *idct_coefs);
658 EXTERN(void) jsimd_idct_float_3dnow JPP((void * dct_table, 839
659 JCOEFPTR coef_block, 840 EXTERN(void) jsimd_idct_ifast_altivec
660 JSAMPARRAY output_buf, 841 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
661 JDIMENSION output_col)); 842 JDIMENSION output_col);
843
844 /* Floating Point Inverse DCT */
845 EXTERN(void) jsimd_idct_float_3dnow
846 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
847 JDIMENSION output_col);
662 848
663 extern const int jconst_idct_float_sse[]; 849 extern const int jconst_idct_float_sse[];
664 EXTERN(void) jsimd_idct_float_sse JPP((void * dct_table, 850 EXTERN(void) jsimd_idct_float_sse
665 JCOEFPTR coef_block, 851 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
666 JSAMPARRAY output_buf, 852 JDIMENSION output_col);
667 JDIMENSION output_col));
668 853
669 extern const int jconst_idct_float_sse2[]; 854 extern const int jconst_idct_float_sse2[];
670 EXTERN(void) jsimd_idct_float_sse2 JPP((void * dct_table, 855 EXTERN(void) jsimd_idct_float_sse2
671 JCOEFPTR coef_block, 856 (void *dct_table, JCOEFPTR coef_block, JSAMPARRAY output_buf,
672 JSAMPARRAY output_buf, 857 JDIMENSION output_col);
673 JDIMENSION output_col)); 858
674 859 /* Huffman coding */
860 extern const int jconst_huff_encode_one_block[];
861 EXTERN(JOCTET*) jsimd_huff_encode_one_block_sse2
862 (void *state, JOCTET *buffer, JCOEFPTR block, int last_dc_val,
863 c_derived_tbl *dctbl, c_derived_tbl *actbl);
864
865 EXTERN(JOCTET*) jsimd_huff_encode_one_block_neon
866 (void *state, JOCTET *buffer, JCOEFPTR block, int last_dc_val,
867 c_derived_tbl *dctbl, c_derived_tbl *actbl);
868
869 EXTERN(JOCTET*) jsimd_huff_encode_one_block_neon_slowtbl
870 (void *state, JOCTET *buffer, JCOEFPTR block, int last_dc_val,
871 c_derived_tbl *dctbl, c_derived_tbl *actbl);
OLDNEW
« no previous file with comments | « simd/jquanti-sse2-64.asm ('k') | simd/jsimd_altivec.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698