| OLD | NEW |
| 1 /* | 1 /* |
| 2 * jsimd_arm.c | 2 * jsimd_arm.c |
| 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 2009-2011 D. R. Commander | 5 * Copyright 2009-2011 D. R. Commander |
| 6 * | 6 * |
| 7 * Based on the x86 SIMD extension for IJG JPEG library, | 7 * Based on the x86 SIMD extension for IJG JPEG library, |
| 8 * 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 | 9 * For conditions of distribution and use, see copyright notice in jsimdext.inc |
| 10 * | 10 * |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 JDIMENSION output_row, int num_rows) | 182 JDIMENSION output_row, int num_rows) |
| 183 { | 183 { |
| 184 void (*neonfct)(JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int); | 184 void (*neonfct)(JDIMENSION, JSAMPARRAY, JSAMPIMAGE, JDIMENSION, int); |
| 185 | 185 |
| 186 switch(cinfo->in_color_space) | 186 switch(cinfo->in_color_space) |
| 187 { | 187 { |
| 188 case JCS_EXT_RGB: | 188 case JCS_EXT_RGB: |
| 189 neonfct=jsimd_extrgb_ycc_convert_neon; | 189 neonfct=jsimd_extrgb_ycc_convert_neon; |
| 190 break; | 190 break; |
| 191 case JCS_EXT_RGBX: | 191 case JCS_EXT_RGBX: |
| 192 case JCS_EXT_RGBA: |
| 192 neonfct=jsimd_extrgbx_ycc_convert_neon; | 193 neonfct=jsimd_extrgbx_ycc_convert_neon; |
| 193 break; | 194 break; |
| 194 case JCS_EXT_BGR: | 195 case JCS_EXT_BGR: |
| 195 neonfct=jsimd_extbgr_ycc_convert_neon; | 196 neonfct=jsimd_extbgr_ycc_convert_neon; |
| 196 break; | 197 break; |
| 197 case JCS_EXT_BGRX: | 198 case JCS_EXT_BGRX: |
| 199 case JCS_EXT_BGRA: |
| 198 neonfct=jsimd_extbgrx_ycc_convert_neon; | 200 neonfct=jsimd_extbgrx_ycc_convert_neon; |
| 199 break; | 201 break; |
| 200 case JCS_EXT_XBGR: | 202 case JCS_EXT_XBGR: |
| 203 case JCS_EXT_ABGR: |
| 201 neonfct=jsimd_extxbgr_ycc_convert_neon; | 204 neonfct=jsimd_extxbgr_ycc_convert_neon; |
| 202 break; | 205 break; |
| 203 case JCS_EXT_XRGB: | 206 case JCS_EXT_XRGB: |
| 207 case JCS_EXT_ARGB: |
| 204 neonfct=jsimd_extxrgb_ycc_convert_neon; | 208 neonfct=jsimd_extxrgb_ycc_convert_neon; |
| 205 break; | 209 break; |
| 206 default: | 210 default: |
| 207 neonfct=jsimd_extrgb_ycc_convert_neon; | 211 neonfct=jsimd_extrgb_ycc_convert_neon; |
| 208 break; | 212 break; |
| 209 } | 213 } |
| 210 | 214 |
| 211 if (simd_support & JSIMD_ARM_NEON) | 215 if (simd_support & JSIMD_ARM_NEON) |
| 212 neonfct(cinfo->image_width, input_buf, | 216 neonfct(cinfo->image_width, input_buf, |
| 213 output_buf, output_row, num_rows); | 217 output_buf, output_row, num_rows); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 226 JSAMPARRAY output_buf, int num_rows) | 230 JSAMPARRAY output_buf, int num_rows) |
| 227 { | 231 { |
| 228 void (*neonfct)(JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY, int); | 232 void (*neonfct)(JDIMENSION, JSAMPIMAGE, JDIMENSION, JSAMPARRAY, int); |
| 229 | 233 |
| 230 switch(cinfo->out_color_space) | 234 switch(cinfo->out_color_space) |
| 231 { | 235 { |
| 232 case JCS_EXT_RGB: | 236 case JCS_EXT_RGB: |
| 233 neonfct=jsimd_ycc_extrgb_convert_neon; | 237 neonfct=jsimd_ycc_extrgb_convert_neon; |
| 234 break; | 238 break; |
| 235 case JCS_EXT_RGBX: | 239 case JCS_EXT_RGBX: |
| 240 case JCS_EXT_RGBA: |
| 236 neonfct=jsimd_ycc_extrgbx_convert_neon; | 241 neonfct=jsimd_ycc_extrgbx_convert_neon; |
| 237 break; | 242 break; |
| 238 case JCS_EXT_BGR: | 243 case JCS_EXT_BGR: |
| 239 neonfct=jsimd_ycc_extbgr_convert_neon; | 244 neonfct=jsimd_ycc_extbgr_convert_neon; |
| 240 break; | 245 break; |
| 241 case JCS_EXT_BGRX: | 246 case JCS_EXT_BGRX: |
| 247 case JCS_EXT_BGRA: |
| 242 neonfct=jsimd_ycc_extbgrx_convert_neon; | 248 neonfct=jsimd_ycc_extbgrx_convert_neon; |
| 243 break; | 249 break; |
| 244 case JCS_EXT_XBGR: | 250 case JCS_EXT_XBGR: |
| 251 case JCS_EXT_ABGR: |
| 245 neonfct=jsimd_ycc_extxbgr_convert_neon; | 252 neonfct=jsimd_ycc_extxbgr_convert_neon; |
| 246 break; | 253 break; |
| 247 case JCS_EXT_XRGB: | 254 case JCS_EXT_XRGB: |
| 255 case JCS_EXT_ARGB: |
| 248 neonfct=jsimd_ycc_extxrgb_convert_neon; | 256 neonfct=jsimd_ycc_extxrgb_convert_neon; |
| 249 break; | 257 break; |
| 250 default: | 258 default: |
| 251 neonfct=jsimd_ycc_extrgb_convert_neon; | 259 neonfct=jsimd_ycc_extrgb_convert_neon; |
| 252 break; | 260 break; |
| 253 } | 261 } |
| 254 | 262 |
| 255 if (simd_support & JSIMD_ARM_NEON) | 263 if (simd_support & JSIMD_ARM_NEON) |
| 256 neonfct(cinfo->output_width, input_buf, | 264 neonfct(cinfo->output_width, input_buf, |
| 257 input_row, output_buf, num_rows); | 265 input_row, output_buf, num_rows); |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 653 jsimd_idct_ifast_neon(compptr->dct_table, coef_block, output_buf, output_col
); | 661 jsimd_idct_ifast_neon(compptr->dct_table, coef_block, output_buf, output_col
); |
| 654 } | 662 } |
| 655 | 663 |
| 656 GLOBAL(void) | 664 GLOBAL(void) |
| 657 jsimd_idct_float (j_decompress_ptr cinfo, jpeg_component_info * compptr, | 665 jsimd_idct_float (j_decompress_ptr cinfo, jpeg_component_info * compptr, |
| 658 JCOEFPTR coef_block, JSAMPARRAY output_buf, | 666 JCOEFPTR coef_block, JSAMPARRAY output_buf, |
| 659 JDIMENSION output_col) | 667 JDIMENSION output_col) |
| 660 { | 668 { |
| 661 } | 669 } |
| 662 | 670 |
| OLD | NEW |