| 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 * | 6 * |
| 6 * Based on the x86 SIMD extension for IJG JPEG library, | 7 * Based on the x86 SIMD extension for IJG JPEG library, |
| 7 * Copyright (C) 1999-2006, MIYASAKA Masaru. | 8 * Copyright (C) 1999-2006, MIYASAKA Masaru. |
| 9 * For conditions of distribution and use, see copyright notice in jsimdext.inc |
| 8 * | 10 * |
| 9 */ | 11 */ |
| 10 | 12 |
| 11 /* Bitmask for supported acceleration methods */ | 13 /* Bitmask for supported acceleration methods */ |
| 12 | 14 |
| 13 #define JSIMD_NONE 0x00 | 15 #define JSIMD_NONE 0x00 |
| 14 #define JSIMD_MMX 0x01 | 16 #define JSIMD_MMX 0x01 |
| 15 #define JSIMD_3DNOW 0x02 | 17 #define JSIMD_3DNOW 0x02 |
| 16 #define JSIMD_SSE 0x04 | 18 #define JSIMD_SSE 0x04 |
| 17 #define JSIMD_SSE2 0x08 | 19 #define JSIMD_SSE2 0x08 |
| 20 #define JSIMD_ARM_NEON 0x10 |
| 18 | 21 |
| 19 /* Short forms of external names for systems with brain-damaged linkers. */ | 22 /* Short forms of external names for systems with brain-damaged linkers. */ |
| 20 | 23 |
| 21 #ifdef NEED_SHORT_EXTERNAL_NAMES | 24 #ifdef NEED_SHORT_EXTERNAL_NAMES |
| 22 #define jpeg_simd_cpu_support jSiCpuSupport | 25 #define jpeg_simd_cpu_support jSiCpuSupport |
| 23 #define jsimd_rgb_ycc_convert_mmx jSRGBYCCM | 26 #define jsimd_rgb_ycc_convert_mmx jSRGBYCCM |
| 24 #define jsimd_extrgb_ycc_convert_mmx jSEXTRGBYCCM | 27 #define jsimd_extrgb_ycc_convert_mmx jSEXTRGBYCCM |
| 25 #define jsimd_extrgbx_ycc_convert_mmx jSEXTRGBXYCCM | 28 #define jsimd_extrgbx_ycc_convert_mmx jSEXTRGBXYCCM |
| 26 #define jsimd_extbgr_ycc_convert_mmx jSEXTBGRYCCM | 29 #define jsimd_extbgr_ycc_convert_mmx jSEXTBGRYCCM |
| 27 #define jsimd_extbgrx_ycc_convert_mmx jSEXTBGRXYCCM | 30 #define jsimd_extbgrx_ycc_convert_mmx jSEXTBGRXYCCM |
| 28 #define jsimd_extxbgr_ycc_convert_mmx jSEXTXBGRYCCM | 31 #define jsimd_extxbgr_ycc_convert_mmx jSEXTXBGRYCCM |
| 29 #define jsimd_extxrgb_ycc_convert_mmx jSEXTXRGBYCCM | 32 #define jsimd_extxrgb_ycc_convert_mmx jSEXTXRGBYCCM |
| 33 #define jsimd_rgb_gray_convert_mmx jSRGBGRYM |
| 34 #define jsimd_extrgb_gray_convert_mmx jSEXTRGBGRYM |
| 35 #define jsimd_extrgbx_gray_convert_mmx jSEXTRGBXGRYM |
| 36 #define jsimd_extbgr_gray_convert_mmx jSEXTBGRGRYM |
| 37 #define jsimd_extbgrx_gray_convert_mmx jSEXTBGRXGRYM |
| 38 #define jsimd_extxbgr_gray_convert_mmx jSEXTXBGRGRYM |
| 39 #define jsimd_extxrgb_gray_convert_mmx jSEXTXRGBGRYM |
| 30 #define jsimd_ycc_rgb_convert_mmx jSYCCRGBM | 40 #define jsimd_ycc_rgb_convert_mmx jSYCCRGBM |
| 31 #define jsimd_ycc_extrgb_convert_mmx jSYCCEXTRGBM | 41 #define jsimd_ycc_extrgb_convert_mmx jSYCCEXTRGBM |
| 32 #define jsimd_ycc_extrgbx_convert_mmx jSYCCEXTRGBXM | 42 #define jsimd_ycc_extrgbx_convert_mmx jSYCCEXTRGBXM |
| 33 #define jsimd_ycc_extbgr_convert_mmx jSYCCEXTBGRM | 43 #define jsimd_ycc_extbgr_convert_mmx jSYCCEXTBGRM |
| 34 #define jsimd_ycc_extbgrx_convert_mmx jSYCCEXTBGRXM | 44 #define jsimd_ycc_extbgrx_convert_mmx jSYCCEXTBGRXM |
| 35 #define jsimd_ycc_extxbgr_convert_mmx jSYCCEXTXBGRM | 45 #define jsimd_ycc_extxbgr_convert_mmx jSYCCEXTXBGRM |
| 36 #define jsimd_ycc_extxrgb_convert_mmx jSYCCEXTXRGBM | 46 #define jsimd_ycc_extxrgb_convert_mmx jSYCCEXTXRGBM |
| 37 #define jconst_rgb_ycc_convert_sse2 jSCRGBYCCS2 | 47 #define jconst_rgb_ycc_convert_sse2 jSCRGBYCCS2 |
| 38 #define jsimd_rgb_ycc_convert_sse2 jSRGBYCCS2 | 48 #define jsimd_rgb_ycc_convert_sse2 jSRGBYCCS2 |
| 39 #define jsimd_extrgb_ycc_convert_sse2 jSEXTRGBYCCS2 | 49 #define jsimd_extrgb_ycc_convert_sse2 jSEXTRGBYCCS2 |
| 40 #define jsimd_extrgbx_ycc_convert_sse2 jSEXTRGBXYCCS2 | 50 #define jsimd_extrgbx_ycc_convert_sse2 jSEXTRGBXYCCS2 |
| 41 #define jsimd_extbgr_ycc_convert_sse2 jSEXTBGRYCCS2 | 51 #define jsimd_extbgr_ycc_convert_sse2 jSEXTBGRYCCS2 |
| 42 #define jsimd_extbgrx_ycc_convert_sse2 jSEXTBGRXYCCS2 | 52 #define jsimd_extbgrx_ycc_convert_sse2 jSEXTBGRXYCCS2 |
| 43 #define jsimd_extxbgr_ycc_convert_sse2 jSEXTXBGRYCCS2 | 53 #define jsimd_extxbgr_ycc_convert_sse2 jSEXTXBGRYCCS2 |
| 44 #define jsimd_extxrgb_ycc_convert_sse2 jSEXTXRGBYCCS2 | 54 #define jsimd_extxrgb_ycc_convert_sse2 jSEXTXRGBYCCS2 |
| 55 #define jconst_rgb_gray_convert_sse2 jSCRGBGRYS2 |
| 56 #define jsimd_rgb_gray_convert_sse2 jSRGBGRYS2 |
| 57 #define jsimd_extrgb_gray_convert_sse2 jSEXTRGBGRYS2 |
| 58 #define jsimd_extrgbx_gray_convert_sse2 jSEXTRGBXGRYS2 |
| 59 #define jsimd_extbgr_gray_convert_sse2 jSEXTBGRGRYS2 |
| 60 #define jsimd_extbgrx_gray_convert_sse2 jSEXTBGRXGRYS2 |
| 61 #define jsimd_extxbgr_gray_convert_sse2 jSEXTXBGRGRYS2 |
| 62 #define jsimd_extxrgb_gray_convert_sse2 jSEXTXRGBGRYS2 |
| 45 #define jconst_ycc_rgb_convert_sse2 jSCYCCRGBS2 | 63 #define jconst_ycc_rgb_convert_sse2 jSCYCCRGBS2 |
| 46 #define jsimd_ycc_rgb_convert_sse2 jSYCCRGBS2 | 64 #define jsimd_ycc_rgb_convert_sse2 jSYCCRGBS2 |
| 47 #define jsimd_ycc_extrgb_convert_sse2 jSYCCEXTRGBS2 | 65 #define jsimd_ycc_extrgb_convert_sse2 jSYCCEXTRGBS2 |
| 48 #define jsimd_ycc_extrgbx_convert_sse2 jSYCCEXTRGBXS2 | 66 #define jsimd_ycc_extrgbx_convert_sse2 jSYCCEXTRGBXS2 |
| 49 #define jsimd_ycc_extbgr_convert_sse2 jSYCCEXTBGRS2 | 67 #define jsimd_ycc_extbgr_convert_sse2 jSYCCEXTBGRS2 |
| 50 #define jsimd_ycc_extbgrx_convert_sse2 jSYCCEXTBGRXS2 | 68 #define jsimd_ycc_extbgrx_convert_sse2 jSYCCEXTBGRXS2 |
| 51 #define jsimd_ycc_extxbgr_convert_sse2 jSYCCEXTXBGRS2 | 69 #define jsimd_ycc_extxbgr_convert_sse2 jSYCCEXTXBGRS2 |
| 52 #define jsimd_ycc_extxrgb_convert_sse2 jSYCCEXTXRGBS2 | 70 #define jsimd_ycc_extxrgb_convert_sse2 jSYCCEXTXRGBS2 |
| 53 #define jsimd_h2v2_downsample_mmx jSDnH2V2M | 71 #define jsimd_h2v2_downsample_mmx jSDnH2V2M |
| 54 #define jsimd_h2v1_downsample_mmx jSDnH2V1M | 72 #define jsimd_h2v1_downsample_mmx jSDnH2V1M |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 JDIMENSION output_row, int num_rows)); | 173 JDIMENSION output_row, int num_rows)); |
| 156 EXTERN(void) jsimd_extxbgr_ycc_convert_mmx | 174 EXTERN(void) jsimd_extxbgr_ycc_convert_mmx |
| 157 JPP((JDIMENSION img_width, | 175 JPP((JDIMENSION img_width, |
| 158 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, | 176 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 159 JDIMENSION output_row, int num_rows)); | 177 JDIMENSION output_row, int num_rows)); |
| 160 EXTERN(void) jsimd_extxrgb_ycc_convert_mmx | 178 EXTERN(void) jsimd_extxrgb_ycc_convert_mmx |
| 161 JPP((JDIMENSION img_width, | 179 JPP((JDIMENSION img_width, |
| 162 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, | 180 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 163 JDIMENSION output_row, int num_rows)); | 181 JDIMENSION output_row, int num_rows)); |
| 164 | 182 |
| 183 EXTERN(void) jsimd_rgb_gray_convert_mmx |
| 184 JPP((JDIMENSION img_width, |
| 185 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 186 JDIMENSION output_row, int num_rows)); |
| 187 EXTERN(void) jsimd_extrgb_gray_convert_mmx |
| 188 JPP((JDIMENSION img_width, |
| 189 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 190 JDIMENSION output_row, int num_rows)); |
| 191 EXTERN(void) jsimd_extrgbx_gray_convert_mmx |
| 192 JPP((JDIMENSION img_width, |
| 193 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 194 JDIMENSION output_row, int num_rows)); |
| 195 EXTERN(void) jsimd_extbgr_gray_convert_mmx |
| 196 JPP((JDIMENSION img_width, |
| 197 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 198 JDIMENSION output_row, int num_rows)); |
| 199 EXTERN(void) jsimd_extbgrx_gray_convert_mmx |
| 200 JPP((JDIMENSION img_width, |
| 201 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 202 JDIMENSION output_row, int num_rows)); |
| 203 EXTERN(void) jsimd_extxbgr_gray_convert_mmx |
| 204 JPP((JDIMENSION img_width, |
| 205 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 206 JDIMENSION output_row, int num_rows)); |
| 207 EXTERN(void) jsimd_extxrgb_gray_convert_mmx |
| 208 JPP((JDIMENSION img_width, |
| 209 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 210 JDIMENSION output_row, int num_rows)); |
| 211 |
| 165 EXTERN(void) jsimd_ycc_rgb_convert_mmx | 212 EXTERN(void) jsimd_ycc_rgb_convert_mmx |
| 166 JPP((JDIMENSION out_width, | 213 JPP((JDIMENSION out_width, |
| 167 JSAMPIMAGE input_buf, JDIMENSION input_row, | 214 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 168 JSAMPARRAY output_buf, int num_rows)); | 215 JSAMPARRAY output_buf, int num_rows)); |
| 169 EXTERN(void) jsimd_ycc_extrgb_convert_mmx | 216 EXTERN(void) jsimd_ycc_extrgb_convert_mmx |
| 170 JPP((JDIMENSION out_width, | 217 JPP((JDIMENSION out_width, |
| 171 JSAMPIMAGE input_buf, JDIMENSION input_row, | 218 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 172 JSAMPARRAY output_buf, int num_rows)); | 219 JSAMPARRAY output_buf, int num_rows)); |
| 173 EXTERN(void) jsimd_ycc_extrgbx_convert_mmx | 220 EXTERN(void) jsimd_ycc_extrgbx_convert_mmx |
| 174 JPP((JDIMENSION out_width, | 221 JPP((JDIMENSION out_width, |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 JDIMENSION output_row, int num_rows)); | 261 JDIMENSION output_row, int num_rows)); |
| 215 EXTERN(void) jsimd_extxbgr_ycc_convert_sse2 | 262 EXTERN(void) jsimd_extxbgr_ycc_convert_sse2 |
| 216 JPP((JDIMENSION img_width, | 263 JPP((JDIMENSION img_width, |
| 217 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, | 264 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 218 JDIMENSION output_row, int num_rows)); | 265 JDIMENSION output_row, int num_rows)); |
| 219 EXTERN(void) jsimd_extxrgb_ycc_convert_sse2 | 266 EXTERN(void) jsimd_extxrgb_ycc_convert_sse2 |
| 220 JPP((JDIMENSION img_width, | 267 JPP((JDIMENSION img_width, |
| 221 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, | 268 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 222 JDIMENSION output_row, int num_rows)); | 269 JDIMENSION output_row, int num_rows)); |
| 223 | 270 |
| 271 extern const int jconst_rgb_gray_convert_sse2[]; |
| 272 EXTERN(void) jsimd_rgb_gray_convert_sse2 |
| 273 JPP((JDIMENSION img_width, |
| 274 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 275 JDIMENSION output_row, int num_rows)); |
| 276 EXTERN(void) jsimd_extrgb_gray_convert_sse2 |
| 277 JPP((JDIMENSION img_width, |
| 278 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 279 JDIMENSION output_row, int num_rows)); |
| 280 EXTERN(void) jsimd_extrgbx_gray_convert_sse2 |
| 281 JPP((JDIMENSION img_width, |
| 282 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 283 JDIMENSION output_row, int num_rows)); |
| 284 EXTERN(void) jsimd_extbgr_gray_convert_sse2 |
| 285 JPP((JDIMENSION img_width, |
| 286 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 287 JDIMENSION output_row, int num_rows)); |
| 288 EXTERN(void) jsimd_extbgrx_gray_convert_sse2 |
| 289 JPP((JDIMENSION img_width, |
| 290 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 291 JDIMENSION output_row, int num_rows)); |
| 292 EXTERN(void) jsimd_extxbgr_gray_convert_sse2 |
| 293 JPP((JDIMENSION img_width, |
| 294 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 295 JDIMENSION output_row, int num_rows)); |
| 296 EXTERN(void) jsimd_extxrgb_gray_convert_sse2 |
| 297 JPP((JDIMENSION img_width, |
| 298 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 299 JDIMENSION output_row, int num_rows)); |
| 300 |
| 224 extern const int jconst_ycc_rgb_convert_sse2[]; | 301 extern const int jconst_ycc_rgb_convert_sse2[]; |
| 225 EXTERN(void) jsimd_ycc_rgb_convert_sse2 | 302 EXTERN(void) jsimd_ycc_rgb_convert_sse2 |
| 226 JPP((JDIMENSION out_width, | 303 JPP((JDIMENSION out_width, |
| 227 JSAMPIMAGE input_buf, JDIMENSION input_row, | 304 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 228 JSAMPARRAY output_buf, int num_rows)); | 305 JSAMPARRAY output_buf, int num_rows)); |
| 229 EXTERN(void) jsimd_ycc_extrgb_convert_sse2 | 306 EXTERN(void) jsimd_ycc_extrgb_convert_sse2 |
| 230 JPP((JDIMENSION out_width, | 307 JPP((JDIMENSION out_width, |
| 231 JSAMPIMAGE input_buf, JDIMENSION input_row, | 308 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 232 JSAMPARRAY output_buf, int num_rows)); | 309 JSAMPARRAY output_buf, int num_rows)); |
| 233 EXTERN(void) jsimd_ycc_extrgbx_convert_sse2 | 310 EXTERN(void) jsimd_ycc_extrgbx_convert_sse2 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 244 JSAMPARRAY output_buf, int num_rows)); | 321 JSAMPARRAY output_buf, int num_rows)); |
| 245 EXTERN(void) jsimd_ycc_extxbgr_convert_sse2 | 322 EXTERN(void) jsimd_ycc_extxbgr_convert_sse2 |
| 246 JPP((JDIMENSION out_width, | 323 JPP((JDIMENSION out_width, |
| 247 JSAMPIMAGE input_buf, JDIMENSION input_row, | 324 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 248 JSAMPARRAY output_buf, int num_rows)); | 325 JSAMPARRAY output_buf, int num_rows)); |
| 249 EXTERN(void) jsimd_ycc_extxrgb_convert_sse2 | 326 EXTERN(void) jsimd_ycc_extxrgb_convert_sse2 |
| 250 JPP((JDIMENSION out_width, | 327 JPP((JDIMENSION out_width, |
| 251 JSAMPIMAGE input_buf, JDIMENSION input_row, | 328 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 252 JSAMPARRAY output_buf, int num_rows)); | 329 JSAMPARRAY output_buf, int num_rows)); |
| 253 | 330 |
| 331 EXTERN(void) jsimd_ycc_rgb_convert_neon |
| 332 JPP((JDIMENSION out_width, |
| 333 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 334 JSAMPARRAY output_buf, int num_rows)); |
| 335 EXTERN(void) jsimd_ycc_extrgb_convert_neon |
| 336 JPP((JDIMENSION out_width, |
| 337 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 338 JSAMPARRAY output_buf, int num_rows)); |
| 339 EXTERN(void) jsimd_ycc_extrgbx_convert_neon |
| 340 JPP((JDIMENSION out_width, |
| 341 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 342 JSAMPARRAY output_buf, int num_rows)); |
| 343 EXTERN(void) jsimd_ycc_extbgr_convert_neon |
| 344 JPP((JDIMENSION out_width, |
| 345 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 346 JSAMPARRAY output_buf, int num_rows)); |
| 347 EXTERN(void) jsimd_ycc_extbgrx_convert_neon |
| 348 JPP((JDIMENSION out_width, |
| 349 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 350 JSAMPARRAY output_buf, int num_rows)); |
| 351 EXTERN(void) jsimd_ycc_extxbgr_convert_neon |
| 352 JPP((JDIMENSION out_width, |
| 353 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 354 JSAMPARRAY output_buf, int num_rows)); |
| 355 EXTERN(void) jsimd_ycc_extxrgb_convert_neon |
| 356 JPP((JDIMENSION out_width, |
| 357 JSAMPIMAGE input_buf, JDIMENSION input_row, |
| 358 JSAMPARRAY output_buf, int num_rows)); |
| 359 |
| 254 /* SIMD Downsample */ | 360 /* SIMD Downsample */ |
| 255 EXTERN(void) jsimd_h2v2_downsample_mmx | 361 EXTERN(void) jsimd_h2v2_downsample_mmx |
| 256 JPP((JDIMENSION image_width, int max_v_samp_factor, | 362 JPP((JDIMENSION image_width, int max_v_samp_factor, |
| 257 JDIMENSION v_samp_factor, JDIMENSION width_blocks, | 363 JDIMENSION v_samp_factor, JDIMENSION width_blocks, |
| 258 JSAMPARRAY input_data, JSAMPARRAY output_data)); | 364 JSAMPARRAY input_data, JSAMPARRAY output_data)); |
| 259 EXTERN(void) jsimd_h2v1_downsample_mmx | 365 EXTERN(void) jsimd_h2v1_downsample_mmx |
| 260 JPP((JDIMENSION image_width, int max_v_samp_factor, | 366 JPP((JDIMENSION image_width, int max_v_samp_factor, |
| 261 JDIMENSION v_samp_factor, JDIMENSION width_blocks, | 367 JDIMENSION v_samp_factor, JDIMENSION width_blocks, |
| 262 JSAMPARRAY input_data, JSAMPARRAY output_data)); | 368 JSAMPARRAY input_data, JSAMPARRAY output_data)); |
| 263 | 369 |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 456 extern const int jconst_idct_red_sse2[]; | 562 extern const int jconst_idct_red_sse2[]; |
| 457 EXTERN(void) jsimd_idct_2x2_sse2 JPP((void * dct_table, | 563 EXTERN(void) jsimd_idct_2x2_sse2 JPP((void * dct_table, |
| 458 JCOEFPTR coef_block, | 564 JCOEFPTR coef_block, |
| 459 JSAMPARRAY output_buf, | 565 JSAMPARRAY output_buf, |
| 460 JDIMENSION output_col)); | 566 JDIMENSION output_col)); |
| 461 EXTERN(void) jsimd_idct_4x4_sse2 JPP((void * dct_table, | 567 EXTERN(void) jsimd_idct_4x4_sse2 JPP((void * dct_table, |
| 462 JCOEFPTR coef_block, | 568 JCOEFPTR coef_block, |
| 463 JSAMPARRAY output_buf, | 569 JSAMPARRAY output_buf, |
| 464 JDIMENSION output_col)); | 570 JDIMENSION output_col)); |
| 465 | 571 |
| 572 EXTERN(void) jsimd_idct_2x2_neon JPP((void * dct_table, |
| 573 JCOEFPTR coef_block, |
| 574 JSAMPARRAY output_buf, |
| 575 JDIMENSION output_col)); |
| 576 EXTERN(void) jsimd_idct_4x4_neon JPP((void * dct_table, |
| 577 JCOEFPTR coef_block, |
| 578 JSAMPARRAY output_buf, |
| 579 JDIMENSION output_col)); |
| 580 |
| 466 /* SIMD Inverse DCT */ | 581 /* SIMD Inverse DCT */ |
| 467 EXTERN(void) jsimd_idct_islow_mmx JPP((void * dct_table, | 582 EXTERN(void) jsimd_idct_islow_mmx JPP((void * dct_table, |
| 468 JCOEFPTR coef_block, | 583 JCOEFPTR coef_block, |
| 469 JSAMPARRAY output_buf, | 584 JSAMPARRAY output_buf, |
| 470 JDIMENSION output_col)); | 585 JDIMENSION output_col)); |
| 471 EXTERN(void) jsimd_idct_ifast_mmx JPP((void * dct_table, | 586 EXTERN(void) jsimd_idct_ifast_mmx JPP((void * dct_table, |
| 472 JCOEFPTR coef_block, | 587 JCOEFPTR coef_block, |
| 473 JSAMPARRAY output_buf, | 588 JSAMPARRAY output_buf, |
| 474 JDIMENSION output_col)); | 589 JDIMENSION output_col)); |
| 475 | 590 |
| 476 extern const int jconst_idct_islow_sse2[]; | 591 extern const int jconst_idct_islow_sse2[]; |
| 477 EXTERN(void) jsimd_idct_islow_sse2 JPP((void * dct_table, | 592 EXTERN(void) jsimd_idct_islow_sse2 JPP((void * dct_table, |
| 478 JCOEFPTR coef_block, | 593 JCOEFPTR coef_block, |
| 479 JSAMPARRAY output_buf, | 594 JSAMPARRAY output_buf, |
| 480 JDIMENSION output_col)); | 595 JDIMENSION output_col)); |
| 481 extern const int jconst_idct_ifast_sse2[]; | 596 extern const int jconst_idct_ifast_sse2[]; |
| 482 EXTERN(void) jsimd_idct_ifast_sse2 JPP((void * dct_table, | 597 EXTERN(void) jsimd_idct_ifast_sse2 JPP((void * dct_table, |
| 483 JCOEFPTR coef_block, | 598 JCOEFPTR coef_block, |
| 484 JSAMPARRAY output_buf, | 599 JSAMPARRAY output_buf, |
| 485 JDIMENSION output_col)); | 600 JDIMENSION output_col)); |
| 486 | 601 |
| 602 EXTERN(void) jsimd_idct_ifast_neon JPP((void * dct_table, |
| 603 JCOEFPTR coef_block, |
| 604 JSAMPARRAY output_buf, |
| 605 JDIMENSION output_col)); |
| 606 |
| 487 EXTERN(void) jsimd_idct_float_3dnow JPP((void * dct_table, | 607 EXTERN(void) jsimd_idct_float_3dnow JPP((void * dct_table, |
| 488 JCOEFPTR coef_block, | 608 JCOEFPTR coef_block, |
| 489 JSAMPARRAY output_buf, | 609 JSAMPARRAY output_buf, |
| 490 JDIMENSION output_col)); | 610 JDIMENSION output_col)); |
| 491 | 611 |
| 492 extern const int jconst_idct_float_sse[]; | 612 extern const int jconst_idct_float_sse[]; |
| 493 EXTERN(void) jsimd_idct_float_sse JPP((void * dct_table, | 613 EXTERN(void) jsimd_idct_float_sse JPP((void * dct_table, |
| 494 JCOEFPTR coef_block, | 614 JCOEFPTR coef_block, |
| 495 JSAMPARRAY output_buf, | 615 JSAMPARRAY output_buf, |
| 496 JDIMENSION output_col)); | 616 JDIMENSION output_col)); |
| 497 | 617 |
| 498 extern const int jconst_idct_float_sse2[]; | 618 extern const int jconst_idct_float_sse2[]; |
| 499 EXTERN(void) jsimd_idct_float_sse2 JPP((void * dct_table, | 619 EXTERN(void) jsimd_idct_float_sse2 JPP((void * dct_table, |
| 500 JCOEFPTR coef_block, | 620 JCOEFPTR coef_block, |
| 501 JSAMPARRAY output_buf, | 621 JSAMPARRAY output_buf, |
| 502 JDIMENSION output_col)); | 622 JDIMENSION output_col)); |
| 503 | 623 |
| OLD | NEW |