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 | |