1 /* 2 * jsimddct.h 3 * 4 * Copyright 2009 Pierre Ossman <ossman@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 EXTERN(int) jsimd_can_convsamp(void); 13 EXTERN(int) jsimd_can_convsamp_float(void); 14 15 EXTERN(void) jsimd_convsamp(JSAMPARRAY sample_data, JDIMENSION start_col, 16 DCTELEM *workspace); 17 EXTERN(void) jsimd_convsamp_float(JSAMPARRAY sample_data, JDIMENSION start_col, 18 FAST_FLOAT *workspace); 19 20 EXTERN(int) jsimd_can_fdct_islow(void); 21 EXTERN(int) jsimd_can_fdct_ifast(void); 22 EXTERN(int) jsimd_can_fdct_float(void); 23 24 EXTERN(void) jsimd_fdct_islow(DCTELEM *data); 25 EXTERN(void) jsimd_fdct_ifast(DCTELEM *data); 26 EXTERN(void) jsimd_fdct_float(FAST_FLOAT *data); 27 28 EXTERN(int) jsimd_can_quantize(void); 29 EXTERN(int) jsimd_can_quantize_float(void); 30 31 EXTERN(void) jsimd_quantize(JCOEFPTR coef_block, DCTELEM *divisors, 32 DCTELEM *workspace); 33 EXTERN(void) jsimd_quantize_float(JCOEFPTR coef_block, FAST_FLOAT *divisors, 34 FAST_FLOAT *workspace); 35 36 EXTERN(int) jsimd_can_idct_2x2(void); 37 EXTERN(int) jsimd_can_idct_4x4(void); 38 EXTERN(int) jsimd_can_idct_6x6(void); 39 EXTERN(int) jsimd_can_idct_12x12(void); 40 41 EXTERN(void) jsimd_idct_2x2(j_decompress_ptr cinfo, 42 jpeg_component_info *compptr, JCOEFPTR coef_block, 43 JSAMPARRAY output_buf, JDIMENSION output_col); 44 EXTERN(void) jsimd_idct_4x4(j_decompress_ptr cinfo, 45 jpeg_component_info *compptr, JCOEFPTR coef_block, 46 JSAMPARRAY output_buf, JDIMENSION output_col); 47 EXTERN(void) jsimd_idct_6x6(j_decompress_ptr cinfo, 48 jpeg_component_info *compptr, JCOEFPTR coef_block, 49 JSAMPARRAY output_buf, JDIMENSION output_col); 50 EXTERN(void) jsimd_idct_12x12(j_decompress_ptr cinfo, 51 jpeg_component_info *compptr, 52 JCOEFPTR coef_block, JSAMPARRAY output_buf, 53 JDIMENSION output_col); 54 55 EXTERN(int) jsimd_can_idct_islow(void); 56 EXTERN(int) jsimd_can_idct_ifast(void); 57 EXTERN(int) jsimd_can_idct_float(void); 58 59 EXTERN(void) jsimd_idct_islow(j_decompress_ptr cinfo, 60 jpeg_component_info *compptr, 61 JCOEFPTR coef_block, JSAMPARRAY output_buf, 62 JDIMENSION output_col); 63 EXTERN(void) jsimd_idct_ifast(j_decompress_ptr cinfo, 64 jpeg_component_info *compptr, 65 JCOEFPTR coef_block, JSAMPARRAY output_buf, 66 JDIMENSION output_col); 67 EXTERN(void) jsimd_idct_float(j_decompress_ptr cinfo, 68 jpeg_component_info *compptr, 69 JCOEFPTR coef_block, JSAMPARRAY output_buf, 70 JDIMENSION output_col); 71