xref: /aosp_15_r20/external/libjpeg-turbo/jsimddct.h (revision dfc6aa5c1cfd4bc4e2018dc74aa96e29ee49c6da)
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