| 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 |