1*dfc6aa5cSAndroid Build Coastguard Worker /* 2*dfc6aa5cSAndroid Build Coastguard Worker * jsimddct.h 3*dfc6aa5cSAndroid Build Coastguard Worker * 4*dfc6aa5cSAndroid Build Coastguard Worker * Copyright 2009 Pierre Ossman <[email protected]> for Cendio AB 5*dfc6aa5cSAndroid Build Coastguard Worker * 6*dfc6aa5cSAndroid Build Coastguard Worker * Based on the x86 SIMD extension for IJG JPEG library, 7*dfc6aa5cSAndroid Build Coastguard Worker * Copyright (C) 1999-2006, MIYASAKA Masaru. 8*dfc6aa5cSAndroid Build Coastguard Worker * For conditions of distribution and use, see copyright notice in jsimdext.inc 9*dfc6aa5cSAndroid Build Coastguard Worker * 10*dfc6aa5cSAndroid Build Coastguard Worker */ 11*dfc6aa5cSAndroid Build Coastguard Worker 12*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_convsamp(void); 13*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_convsamp_float(void); 14*dfc6aa5cSAndroid Build Coastguard Worker 15*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp(JSAMPARRAY sample_data, JDIMENSION start_col, 16*dfc6aa5cSAndroid Build Coastguard Worker DCTELEM *workspace); 17*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_convsamp_float(JSAMPARRAY sample_data, JDIMENSION start_col, 18*dfc6aa5cSAndroid Build Coastguard Worker FAST_FLOAT *workspace); 19*dfc6aa5cSAndroid Build Coastguard Worker 20*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_fdct_islow(void); 21*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_fdct_ifast(void); 22*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_fdct_float(void); 23*dfc6aa5cSAndroid Build Coastguard Worker 24*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_islow(DCTELEM *data); 25*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_ifast(DCTELEM *data); 26*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_fdct_float(FAST_FLOAT *data); 27*dfc6aa5cSAndroid Build Coastguard Worker 28*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_quantize(void); 29*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_quantize_float(void); 30*dfc6aa5cSAndroid Build Coastguard Worker 31*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize(JCOEFPTR coef_block, DCTELEM *divisors, 32*dfc6aa5cSAndroid Build Coastguard Worker DCTELEM *workspace); 33*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_quantize_float(JCOEFPTR coef_block, FAST_FLOAT *divisors, 34*dfc6aa5cSAndroid Build Coastguard Worker FAST_FLOAT *workspace); 35*dfc6aa5cSAndroid Build Coastguard Worker 36*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_idct_2x2(void); 37*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_idct_4x4(void); 38*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_idct_6x6(void); 39*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_idct_12x12(void); 40*dfc6aa5cSAndroid Build Coastguard Worker 41*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_2x2(j_decompress_ptr cinfo, 42*dfc6aa5cSAndroid Build Coastguard Worker jpeg_component_info *compptr, JCOEFPTR coef_block, 43*dfc6aa5cSAndroid Build Coastguard Worker JSAMPARRAY output_buf, JDIMENSION output_col); 44*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_4x4(j_decompress_ptr cinfo, 45*dfc6aa5cSAndroid Build Coastguard Worker jpeg_component_info *compptr, JCOEFPTR coef_block, 46*dfc6aa5cSAndroid Build Coastguard Worker JSAMPARRAY output_buf, JDIMENSION output_col); 47*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_6x6(j_decompress_ptr cinfo, 48*dfc6aa5cSAndroid Build Coastguard Worker jpeg_component_info *compptr, JCOEFPTR coef_block, 49*dfc6aa5cSAndroid Build Coastguard Worker JSAMPARRAY output_buf, JDIMENSION output_col); 50*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_12x12(j_decompress_ptr cinfo, 51*dfc6aa5cSAndroid Build Coastguard Worker jpeg_component_info *compptr, 52*dfc6aa5cSAndroid Build Coastguard Worker JCOEFPTR coef_block, JSAMPARRAY output_buf, 53*dfc6aa5cSAndroid Build Coastguard Worker JDIMENSION output_col); 54*dfc6aa5cSAndroid Build Coastguard Worker 55*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_idct_islow(void); 56*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_idct_ifast(void); 57*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(int) jsimd_can_idct_float(void); 58*dfc6aa5cSAndroid Build Coastguard Worker 59*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_islow(j_decompress_ptr cinfo, 60*dfc6aa5cSAndroid Build Coastguard Worker jpeg_component_info *compptr, 61*dfc6aa5cSAndroid Build Coastguard Worker JCOEFPTR coef_block, JSAMPARRAY output_buf, 62*dfc6aa5cSAndroid Build Coastguard Worker JDIMENSION output_col); 63*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_ifast(j_decompress_ptr cinfo, 64*dfc6aa5cSAndroid Build Coastguard Worker jpeg_component_info *compptr, 65*dfc6aa5cSAndroid Build Coastguard Worker JCOEFPTR coef_block, JSAMPARRAY output_buf, 66*dfc6aa5cSAndroid Build Coastguard Worker JDIMENSION output_col); 67*dfc6aa5cSAndroid Build Coastguard Worker EXTERN(void) jsimd_idct_float(j_decompress_ptr cinfo, 68*dfc6aa5cSAndroid Build Coastguard Worker jpeg_component_info *compptr, 69*dfc6aa5cSAndroid Build Coastguard Worker JCOEFPTR coef_block, JSAMPARRAY output_buf, 70*dfc6aa5cSAndroid Build Coastguard Worker JDIMENSION output_col); 71