OLD | NEW |
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); |
OLD | NEW |