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, 18 JDIMENSION start_col, 19 FAST_FLOAT *workspace); 20 21 EXTERN(int) jsimd_can_fdct_islow (void); 22 EXTERN(int) jsimd_can_fdct_ifast (void); 23 EXTERN(int) jsimd_can_fdct_float (void); 24 25 EXTERN(void) jsimd_fdct_islow (DCTELEM *data); 26 EXTERN(void) jsimd_fdct_ifast (DCTELEM *data); 27 EXTERN(void) jsimd_fdct_float (FAST_FLOAT *data); 28 29 EXTERN(int) jsimd_can_quantize (void); 30 EXTERN(int) jsimd_can_quantize_float (void); 31 32 EXTERN(void) jsimd_quantize (JCOEFPTR coef_block, DCTELEM *divisors, 33 DCTELEM *workspace); 34 EXTERN(void) jsimd_quantize_float (JCOEFPTR coef_block, FAST_FLOAT *divisors, 35 FAST_FLOAT *workspace); 36 37 EXTERN(int) jsimd_can_idct_2x2 (void); 38 EXTERN(int) jsimd_can_idct_4x4 (void); 39 EXTERN(int) jsimd_can_idct_6x6 (void); 40 EXTERN(int) jsimd_can_idct_12x12 (void); 41 42 EXTERN(void) jsimd_idct_2x2 (j_decompress_ptr cinfo, 43 jpeg_component_info *compptr, 44 JCOEFPTR coef_block, JSAMPARRAY output_buf, 45 JDIMENSION output_col); 46 EXTERN(void) jsimd_idct_4x4 (j_decompress_ptr cinfo, 47 jpeg_component_info *compptr, 48 JCOEFPTR coef_block, JSAMPARRAY output_buf, 49 JDIMENSION output_col); 50 EXTERN(void) jsimd_idct_6x6 (j_decompress_ptr cinfo, 51 jpeg_component_info *compptr, 52 JCOEFPTR coef_block, JSAMPARRAY output_buf, 53 JDIMENSION output_col); 54 EXTERN(void) jsimd_idct_12x12 (j_decompress_ptr cinfo, 55 jpeg_component_info *compptr, 56 JCOEFPTR coef_block, JSAMPARRAY output_buf, 57 JDIMENSION output_col); 58 59 EXTERN(int) jsimd_can_idct_islow (void); 60 EXTERN(int) jsimd_can_idct_ifast (void); 61 EXTERN(int) jsimd_can_idct_float (void); 62 63 EXTERN(void) jsimd_idct_islow (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_ifast (j_decompress_ptr cinfo, 68 jpeg_component_info *compptr, 69 JCOEFPTR coef_block, JSAMPARRAY output_buf, 70 JDIMENSION output_col); 71 EXTERN(void) jsimd_idct_float (j_decompress_ptr cinfo, 72 jpeg_component_info *compptr, 73 JCOEFPTR coef_block, JSAMPARRAY output_buf, 74 JDIMENSION output_col); 75