1 /* 2 * jsimddct.h 3 * 4 * Copyright 2009 Pierre Ossman <ossman (at) cendio.se> for Cendio AB 5 * 6 * Based on the x86 SIMD extension for IJG JPEG library, 7 * Copyright (C) 1999-2006, MIYASAKA Masaru. 8 * For conditions of distribution and use, see copyright notice in jsimdext.inc 9 * 10 */ 11 12 /* Short forms of external names for systems with brain-damaged linkers. */ 13 14 #ifdef NEED_SHORT_EXTERNAL_NAMES 15 #define jsimd_can_convsamp jSCanConv 16 #define jsimd_can_convsamp_float jSCanConvF 17 #define jsimd_convsamp jSConv 18 #define jsimd_convsamp_float jSConvF 19 #define jsimd_can_fdct_islow jSCanFDCTIS 20 #define jsimd_can_fdct_ifast jSCanFDCTIF 21 #define jsimd_can_fdct_float jSCanFDCTFl 22 #define jsimd_fdct_islow jSFDCTIS 23 #define jsimd_fdct_ifast jSFDCTIF 24 #define jsimd_fdct_float jSFDCTFl 25 #define jsimd_can_quantize jSCanQuant 26 #define jsimd_can_quantize_float jSCanQuantF 27 #define jsimd_quantize jSQuant 28 #define jsimd_quantize_float jSQuantF 29 #define jsimd_can_idct_2x2 jSCanIDCT22 30 #define jsimd_can_idct_4x4 jSCanIDCT44 31 #define jsimd_idct_2x2 jSIDCT22 32 #define jsimd_idct_4x4 jSIDCT44 33 #define jsimd_can_idct_islow jSCanIDCTIS 34 #define jsimd_can_idct_ifast jSCanIDCTIF 35 #define jsimd_can_idct_float jSCanIDCTFl 36 #define jsimd_idct_islow jSIDCTIS 37 #define jsimd_idct_ifast jSIDCTIF 38 #define jsimd_idct_float jSIDCTFl 39 #endif /* NEED_SHORT_EXTERNAL_NAMES */ 40 41 EXTERN(int) jsimd_can_convsamp JPP((void)); 42 EXTERN(int) jsimd_can_convsamp_float JPP((void)); 43 44 EXTERN(void) jsimd_convsamp JPP((JSAMPARRAY sample_data, 45 JDIMENSION start_col, 46 DCTELEM * workspace)); 47 EXTERN(void) jsimd_convsamp_float JPP((JSAMPARRAY sample_data, 48 JDIMENSION start_col, 49 FAST_FLOAT * workspace)); 50 51 EXTERN(int) jsimd_can_fdct_islow JPP((void)); 52 EXTERN(int) jsimd_can_fdct_ifast JPP((void)); 53 EXTERN(int) jsimd_can_fdct_float JPP((void)); 54 55 EXTERN(void) jsimd_fdct_islow JPP((DCTELEM * data)); 56 EXTERN(void) jsimd_fdct_ifast JPP((DCTELEM * data)); 57 EXTERN(void) jsimd_fdct_float JPP((FAST_FLOAT * data)); 58 59 EXTERN(int) jsimd_can_quantize JPP((void)); 60 EXTERN(int) jsimd_can_quantize_float JPP((void)); 61 62 EXTERN(void) jsimd_quantize JPP((JCOEFPTR coef_block, 63 DCTELEM * divisors, 64 DCTELEM * workspace)); 65 EXTERN(void) jsimd_quantize_float JPP((JCOEFPTR coef_block, 66 FAST_FLOAT * divisors, 67 FAST_FLOAT * workspace)); 68 69 EXTERN(int) jsimd_can_idct_2x2 JPP((void)); 70 EXTERN(int) jsimd_can_idct_4x4 JPP((void)); 71 72 EXTERN(void) jsimd_idct_2x2 JPP((j_decompress_ptr cinfo, 73 jpeg_component_info * compptr, 74 JCOEFPTR coef_block, 75 JSAMPARRAY output_buf, 76 JDIMENSION output_col)); 77 EXTERN(void) jsimd_idct_4x4 JPP((j_decompress_ptr cinfo, 78 jpeg_component_info * compptr, 79 JCOEFPTR coef_block, 80 JSAMPARRAY output_buf, 81 JDIMENSION output_col)); 82 83 EXTERN(int) jsimd_can_idct_islow JPP((void)); 84 EXTERN(int) jsimd_can_idct_ifast JPP((void)); 85 EXTERN(int) jsimd_can_idct_float JPP((void)); 86 87 EXTERN(void) jsimd_idct_islow JPP((j_decompress_ptr cinfo, 88 jpeg_component_info * compptr, 89 JCOEFPTR coef_block, 90 JSAMPARRAY output_buf, 91 JDIMENSION output_col)); 92 EXTERN(void) jsimd_idct_ifast JPP((j_decompress_ptr cinfo, 93 jpeg_component_info * compptr, 94 JCOEFPTR coef_block, 95 JSAMPARRAY output_buf, 96 JDIMENSION output_col)); 97 EXTERN(void) jsimd_idct_float JPP((j_decompress_ptr cinfo, 98 jpeg_component_info * compptr, 99 JCOEFPTR coef_block, 100 JSAMPARRAY output_buf, 101 JDIMENSION output_col)); 102 103