| OLD | NEW |
| 1 /* | 1 /* |
| 2 * jsimd_x86_64.c | 2 * jsimd_x86_64.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 * |
| 11 * This file contains the interface between the "normal" portions | 11 * This file contains the interface between the "normal" portions |
| 12 * of the library and the SIMD implementations when running on a | 12 * of the library and the SIMD implementations when running on a |
| 13 * x86_64 architecture. | 13 * x86_64 architecture. |
| 14 */ | 14 */ |
| 15 | 15 |
| 16 #define JPEG_INTERNALS | 16 #define JPEG_INTERNALS |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 if (BITS_IN_JSAMPLE != 8) | 268 if (BITS_IN_JSAMPLE != 8) |
| 269 return 0; | 269 return 0; |
| 270 if (sizeof(JDIMENSION) != 4) | 270 if (sizeof(JDIMENSION) != 4) |
| 271 return 0; | 271 return 0; |
| 272 | 272 |
| 273 return 1; | 273 return 1; |
| 274 } | 274 } |
| 275 | 275 |
| 276 GLOBAL(void) | 276 GLOBAL(void) |
| 277 jsimd_h2v2_upsample (j_decompress_ptr cinfo, | 277 jsimd_h2v2_upsample (j_decompress_ptr cinfo, |
| 278 jpeg_component_info * compptr, | 278 jpeg_component_info * compptr, |
| 279 JSAMPARRAY input_data, | 279 JSAMPARRAY input_data, |
| 280 JSAMPARRAY * output_data_ptr) | 280 JSAMPARRAY * output_data_ptr) |
| 281 { | 281 { |
| 282 jsimd_h2v2_upsample_sse2(cinfo->max_v_samp_factor, | 282 jsimd_h2v2_upsample_sse2(cinfo->max_v_samp_factor, |
| 283 cinfo->output_width, | 283 cinfo->output_width, |
| 284 input_data, output_data_ptr); | 284 input_data, output_data_ptr); |
| 285 } | 285 } |
| 286 | 286 |
| 287 GLOBAL(void) | 287 GLOBAL(void) |
| 288 jsimd_h2v1_upsample (j_decompress_ptr cinfo, | 288 jsimd_h2v1_upsample (j_decompress_ptr cinfo, |
| 289 jpeg_component_info * compptr, | 289 jpeg_component_info * compptr, |
| 290 JSAMPARRAY input_data, | 290 JSAMPARRAY input_data, |
| 291 JSAMPARRAY * output_data_ptr) | 291 JSAMPARRAY * output_data_ptr) |
| 292 { | 292 { |
| 293 jsimd_h2v1_upsample_sse2(cinfo->max_v_samp_factor, | 293 jsimd_h2v1_upsample_sse2(cinfo->max_v_samp_factor, |
| 294 cinfo->output_width, | 294 cinfo->output_width, |
| 295 input_data, output_data_ptr); | 295 input_data, output_data_ptr); |
| 296 } | 296 } |
| 297 | 297 |
| 298 GLOBAL(int) | 298 GLOBAL(int) |
| 299 jsimd_can_h2v2_fancy_upsample (void) | 299 jsimd_can_h2v2_fancy_upsample (void) |
| (...skipping 20 matching lines...) Expand all Loading... |
| 320 return 0; | 320 return 0; |
| 321 | 321 |
| 322 if (!IS_ALIGNED_SSE(jconst_fancy_upsample_sse2)) | 322 if (!IS_ALIGNED_SSE(jconst_fancy_upsample_sse2)) |
| 323 return 0; | 323 return 0; |
| 324 | 324 |
| 325 return 1; | 325 return 1; |
| 326 } | 326 } |
| 327 | 327 |
| 328 GLOBAL(void) | 328 GLOBAL(void) |
| 329 jsimd_h2v2_fancy_upsample (j_decompress_ptr cinfo, | 329 jsimd_h2v2_fancy_upsample (j_decompress_ptr cinfo, |
| 330 jpeg_component_info * compptr, | 330 jpeg_component_info * compptr, |
| 331 JSAMPARRAY input_data, | 331 JSAMPARRAY input_data, |
| 332 JSAMPARRAY * output_data_ptr) | 332 JSAMPARRAY * output_data_ptr) |
| 333 { | 333 { |
| 334 jsimd_h2v2_fancy_upsample_sse2(cinfo->max_v_samp_factor, | 334 jsimd_h2v2_fancy_upsample_sse2(cinfo->max_v_samp_factor, |
| 335 compptr->downsampled_width, | 335 compptr->downsampled_width, |
| 336 input_data, output_data_ptr); | 336 input_data, output_data_ptr); |
| 337 } | 337 } |
| 338 | 338 |
| 339 GLOBAL(void) | 339 GLOBAL(void) |
| 340 jsimd_h2v1_fancy_upsample (j_decompress_ptr cinfo, | 340 jsimd_h2v1_fancy_upsample (j_decompress_ptr cinfo, |
| 341 jpeg_component_info * compptr, | 341 jpeg_component_info * compptr, |
| 342 JSAMPARRAY input_data, | 342 JSAMPARRAY input_data, |
| 343 JSAMPARRAY * output_data_ptr) | 343 JSAMPARRAY * output_data_ptr) |
| 344 { | 344 { |
| 345 jsimd_h2v1_fancy_upsample_sse2(cinfo->max_v_samp_factor, | 345 jsimd_h2v1_fancy_upsample_sse2(cinfo->max_v_samp_factor, |
| 346 compptr->downsampled_width, | 346 compptr->downsampled_width, |
| 347 input_data, output_data_ptr); | 347 input_data, output_data_ptr); |
| 348 } | 348 } |
| 349 | 349 |
| 350 GLOBAL(int) | 350 GLOBAL(int) |
| 351 jsimd_can_h2v2_merged_upsample (void) | 351 jsimd_can_h2v2_merged_upsample (void) |
| (...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 751 } | 751 } |
| 752 | 752 |
| 753 GLOBAL(void) | 753 GLOBAL(void) |
| 754 jsimd_idct_float (j_decompress_ptr cinfo, jpeg_component_info * compptr, | 754 jsimd_idct_float (j_decompress_ptr cinfo, jpeg_component_info * compptr, |
| 755 JCOEFPTR coef_block, JSAMPARRAY output_buf, | 755 JCOEFPTR coef_block, JSAMPARRAY output_buf, |
| 756 JDIMENSION output_col) | 756 JDIMENSION output_col) |
| 757 { | 757 { |
| 758 jsimd_idct_float_sse2(compptr->dct_table, coef_block, | 758 jsimd_idct_float_sse2(compptr->dct_table, coef_block, |
| 759 output_buf, output_col); | 759 output_buf, output_col); |
| 760 } | 760 } |
| 761 | |
| OLD | NEW |