shun-iwasawa 82a8f5
/*
shun-iwasawa 82a8f5
 * jsimddct.h
shun-iwasawa 82a8f5
 *
shun-iwasawa 82a8f5
 * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB</ossman@cendio.se>
shun-iwasawa 82a8f5
 *
shun-iwasawa 82a8f5
 * Based on the x86 SIMD extension for IJG JPEG library,
shun-iwasawa 82a8f5
 * Copyright (C) 1999-2006, MIYASAKA Masaru.
shun-iwasawa 82a8f5
 * For conditions of distribution and use, see copyright notice in jsimdext.inc
shun-iwasawa 82a8f5
 *
shun-iwasawa 82a8f5
 */
shun-iwasawa 82a8f5
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_convsamp(void);
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_convsamp_float(void);
shun-iwasawa 82a8f5
shun-iwasawa 82a8f5
EXTERN(void) jsimd_convsamp(JSAMPARRAY sample_data, JDIMENSION start_col,
shun-iwasawa 82a8f5
                            DCTELEM *workspace);
shun-iwasawa 82a8f5
EXTERN(void) jsimd_convsamp_float(JSAMPARRAY sample_data, JDIMENSION start_col,
shun-iwasawa 82a8f5
                                  FAST_FLOAT *workspace);
shun-iwasawa 82a8f5
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_fdct_islow(void);
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_fdct_ifast(void);
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_fdct_float(void);
shun-iwasawa 82a8f5
shun-iwasawa 82a8f5
EXTERN(void) jsimd_fdct_islow(DCTELEM *data);
shun-iwasawa 82a8f5
EXTERN(void) jsimd_fdct_ifast(DCTELEM *data);
shun-iwasawa 82a8f5
EXTERN(void) jsimd_fdct_float(FAST_FLOAT *data);
shun-iwasawa 82a8f5
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_quantize(void);
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_quantize_float(void);
shun-iwasawa 82a8f5
shun-iwasawa 82a8f5
EXTERN(void) jsimd_quantize(JCOEFPTR coef_block, DCTELEM *divisors,
shun-iwasawa 82a8f5
                            DCTELEM *workspace);
shun-iwasawa 82a8f5
EXTERN(void) jsimd_quantize_float(JCOEFPTR coef_block, FAST_FLOAT *divisors,
shun-iwasawa 82a8f5
                                  FAST_FLOAT *workspace);
shun-iwasawa 82a8f5
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_idct_2x2(void);
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_idct_4x4(void);
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_idct_6x6(void);
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_idct_12x12(void);
shun-iwasawa 82a8f5
shun-iwasawa 82a8f5
EXTERN(void) jsimd_idct_2x2(j_decompress_ptr cinfo,
shun-iwasawa 82a8f5
                            jpeg_component_info *compptr, JCOEFPTR coef_block,
shun-iwasawa 82a8f5
                            JSAMPARRAY output_buf, JDIMENSION output_col);
shun-iwasawa 82a8f5
EXTERN(void) jsimd_idct_4x4(j_decompress_ptr cinfo,
shun-iwasawa 82a8f5
                            jpeg_component_info *compptr, JCOEFPTR coef_block,
shun-iwasawa 82a8f5
                            JSAMPARRAY output_buf, JDIMENSION output_col);
shun-iwasawa 82a8f5
EXTERN(void) jsimd_idct_6x6(j_decompress_ptr cinfo,
shun-iwasawa 82a8f5
                            jpeg_component_info *compptr, JCOEFPTR coef_block,
shun-iwasawa 82a8f5
                            JSAMPARRAY output_buf, JDIMENSION output_col);
shun-iwasawa 82a8f5
EXTERN(void) jsimd_idct_12x12(j_decompress_ptr cinfo,
shun-iwasawa 82a8f5
                              jpeg_component_info *compptr,
shun-iwasawa 82a8f5
                              JCOEFPTR coef_block, JSAMPARRAY output_buf,
shun-iwasawa 82a8f5
                              JDIMENSION output_col);
shun-iwasawa 82a8f5
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_idct_islow(void);
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_idct_ifast(void);
shun-iwasawa 82a8f5
EXTERN(int) jsimd_can_idct_float(void);
shun-iwasawa 82a8f5
shun-iwasawa 82a8f5
EXTERN(void) jsimd_idct_islow(j_decompress_ptr cinfo,
shun-iwasawa 82a8f5
                              jpeg_component_info *compptr,
shun-iwasawa 82a8f5
                              JCOEFPTR coef_block, JSAMPARRAY output_buf,
shun-iwasawa 82a8f5
                              JDIMENSION output_col);
shun-iwasawa 82a8f5
EXTERN(void) jsimd_idct_ifast(j_decompress_ptr cinfo,
shun-iwasawa 82a8f5
                              jpeg_component_info *compptr,
shun-iwasawa 82a8f5
                              JCOEFPTR coef_block, JSAMPARRAY output_buf,
shun-iwasawa 82a8f5
                              JDIMENSION output_col);
shun-iwasawa 82a8f5
EXTERN(void) jsimd_idct_float(j_decompress_ptr cinfo,
shun-iwasawa 82a8f5
                              jpeg_component_info *compptr,
shun-iwasawa 82a8f5
                              JCOEFPTR coef_block, JSAMPARRAY output_buf,
shun-iwasawa 82a8f5
                              JDIMENSION output_col);