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