OLD | NEW |
1 /* | 1 /* |
2 * jsimd.h | 2 * jsimd.h |
3 * | 3 * |
4 * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB | 4 * Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB |
5 * Copyright 2011, 2014 D. R. Commander | 5 * Copyright 2011, 2014 D. R. Commander |
6 * | 6 * Copyright 2015 Matthieu Darbois |
| 7 * |
7 * Based on the x86 SIMD extension for IJG JPEG library, | 8 * Based on the x86 SIMD extension for IJG JPEG library, |
8 * Copyright (C) 1999-2006, MIYASAKA Masaru. | 9 * Copyright (C) 1999-2006, MIYASAKA Masaru. |
9 * For conditions of distribution and use, see copyright notice in jsimdext.inc | 10 * For conditions of distribution and use, see copyright notice in jsimdext.inc |
10 * | 11 * |
11 */ | 12 */ |
12 | 13 |
13 /* Short forms of external names for systems with brain-damaged linkers. */ | 14 #include "jchuff.h" /* Declarations shared with jcphuff.c */ |
14 | 15 |
15 #ifdef NEED_SHORT_EXTERNAL_NAMES | 16 EXTERN(int) jsimd_can_rgb_ycc (void); |
16 #define jsimd_can_rgb_ycc jSCanRgbYcc | 17 EXTERN(int) jsimd_can_rgb_gray (void); |
17 #define jsimd_can_rgb_gray jSCanRgbGry | 18 EXTERN(int) jsimd_can_ycc_rgb (void); |
18 #define jsimd_can_ycc_rgb jSCanYccRgb | 19 EXTERN(int) jsimd_can_ycc_rgb565 (void); |
19 #define jsimd_rgb_ycc_convert jSRgbYccConv | 20 EXTERN(int) jsimd_c_can_null_convert (void); |
20 #define jsimd_rgb_gray_convert jSRgbGryConv | |
21 #define jsimd_ycc_rgb_convert jSYccRgbConv | |
22 #define jsimd_can_h2v2_downsample jSCanH2V2Down | |
23 #define jsimd_can_h2v1_downsample jSCanH2V1Down | |
24 #define jsimd_h2v2_downsample jSH2V2Down | |
25 #define jsimd_h2v1_downsample jSH2V1Down | |
26 #define jsimd_can_h2v2_upsample jSCanH2V2Up | |
27 #define jsimd_can_h2v1_upsample jSCanH2V1Up | |
28 #define jsimd_h2v2_upsample jSH2V2Up | |
29 #define jsimd_h2v1_upsample jSH2V1Up | |
30 #define jsimd_can_h2v2_fancy_upsample jSCanH2V2FUp | |
31 #define jsimd_can_h2v1_fancy_upsample jSCanH2V1FUp | |
32 #define jsimd_h2v2_fancy_upsample jSH2V2FUp | |
33 #define jsimd_h2v1_fancy_upsample jSH2V1FUp | |
34 #define jsimd_can_h2v2_merged_upsample jSCanH2V2MUp | |
35 #define jsimd_can_h2v1_merged_upsample jSCanH2V1MUp | |
36 #define jsimd_h2v2_merged_upsample jSH2V2MUp | |
37 #define jsimd_h2v1_merged_upsample jSH2V1MUp | |
38 #endif /* NEED_SHORT_EXTERNAL_NAMES */ | |
39 | |
40 EXTERN(int) jsimd_can_rgb_ycc JPP((void)); | |
41 EXTERN(int) jsimd_can_rgb_gray JPP((void)); | |
42 EXTERN(int) jsimd_can_ycc_rgb JPP((void)); | |
43 EXTERN(int) jsimd_can_ycc_rgb565 JPP((void)); | |
44 | 21 |
45 EXTERN(void) jsimd_rgb_ycc_convert | 22 EXTERN(void) jsimd_rgb_ycc_convert |
46 JPP((j_compress_ptr cinfo, | 23 (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
47 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, | 24 JDIMENSION output_row, int num_rows); |
48 JDIMENSION output_row, int num_rows)); | |
49 EXTERN(void) jsimd_rgb_gray_convert | 25 EXTERN(void) jsimd_rgb_gray_convert |
50 JPP((j_compress_ptr cinfo, | 26 (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
51 JSAMPARRAY input_buf, JSAMPIMAGE output_buf, | 27 JDIMENSION output_row, int num_rows); |
52 JDIMENSION output_row, int num_rows)); | |
53 EXTERN(void) jsimd_ycc_rgb_convert | 28 EXTERN(void) jsimd_ycc_rgb_convert |
54 JPP((j_decompress_ptr cinfo, | 29 (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION input_row, |
55 JSAMPIMAGE input_buf, JDIMENSION input_row, | 30 JSAMPARRAY output_buf, int num_rows); |
56 JSAMPARRAY output_buf, int num_rows)); | |
57 EXTERN(void) jsimd_ycc_rgb565_convert | 31 EXTERN(void) jsimd_ycc_rgb565_convert |
58 JPP((j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION input_row, | 32 (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, JDIMENSION input_row, |
59 JSAMPARRAY output_buf, int num_rows)); | 33 JSAMPARRAY output_buf, int num_rows); |
| 34 EXTERN(void) jsimd_c_null_convert |
| 35 (j_compress_ptr cinfo, JSAMPARRAY input_buf, JSAMPIMAGE output_buf, |
| 36 JDIMENSION output_row, int num_rows); |
60 | 37 |
61 EXTERN(int) jsimd_can_h2v2_downsample JPP((void)); | 38 EXTERN(int) jsimd_can_h2v2_downsample (void); |
62 EXTERN(int) jsimd_can_h2v1_downsample JPP((void)); | 39 EXTERN(int) jsimd_can_h2v1_downsample (void); |
63 | 40 |
64 EXTERN(void) jsimd_h2v2_downsample | 41 EXTERN(void) jsimd_h2v2_downsample |
65 JPP((j_compress_ptr cinfo, jpeg_component_info * compptr, | 42 (j_compress_ptr cinfo, jpeg_component_info *compptr, |
66 JSAMPARRAY input_data, JSAMPARRAY output_data)); | 43 JSAMPARRAY input_data, JSAMPARRAY output_data); |
| 44 |
| 45 EXTERN(int) jsimd_can_h2v2_smooth_downsample (void); |
| 46 |
| 47 EXTERN(void) jsimd_h2v2_smooth_downsample |
| 48 (j_compress_ptr cinfo, jpeg_component_info *compptr, |
| 49 JSAMPARRAY input_data, JSAMPARRAY output_data); |
| 50 |
67 EXTERN(void) jsimd_h2v1_downsample | 51 EXTERN(void) jsimd_h2v1_downsample |
68 JPP((j_compress_ptr cinfo, jpeg_component_info * compptr, | 52 (j_compress_ptr cinfo, jpeg_component_info *compptr, |
69 JSAMPARRAY input_data, JSAMPARRAY output_data)); | 53 JSAMPARRAY input_data, JSAMPARRAY output_data); |
70 | 54 |
71 EXTERN(int) jsimd_can_h2v2_upsample JPP((void)); | 55 EXTERN(int) jsimd_can_h2v2_upsample (void); |
72 EXTERN(int) jsimd_can_h2v1_upsample JPP((void)); | 56 EXTERN(int) jsimd_can_h2v1_upsample (void); |
| 57 EXTERN(int) jsimd_can_int_upsample (void); |
73 | 58 |
74 EXTERN(void) jsimd_h2v2_upsample | 59 EXTERN(void) jsimd_h2v2_upsample |
75 JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, | 60 (j_decompress_ptr cinfo, jpeg_component_info *compptr, |
76 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr)); | 61 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr); |
77 EXTERN(void) jsimd_h2v1_upsample | 62 EXTERN(void) jsimd_h2v1_upsample |
78 JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, | 63 (j_decompress_ptr cinfo, jpeg_component_info *compptr, |
79 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr)); | 64 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr); |
| 65 EXTERN(void) jsimd_int_upsample |
| 66 (j_decompress_ptr cinfo, jpeg_component_info *compptr, |
| 67 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr); |
80 | 68 |
81 EXTERN(int) jsimd_can_h2v2_fancy_upsample JPP((void)); | 69 EXTERN(int) jsimd_can_h2v2_fancy_upsample (void); |
82 EXTERN(int) jsimd_can_h2v1_fancy_upsample JPP((void)); | 70 EXTERN(int) jsimd_can_h2v1_fancy_upsample (void); |
83 | 71 |
84 EXTERN(void) jsimd_h2v2_fancy_upsample | 72 EXTERN(void) jsimd_h2v2_fancy_upsample |
85 JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, | 73 (j_decompress_ptr cinfo, jpeg_component_info *compptr, |
86 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr)); | 74 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr); |
87 EXTERN(void) jsimd_h2v1_fancy_upsample | 75 EXTERN(void) jsimd_h2v1_fancy_upsample |
88 JPP((j_decompress_ptr cinfo, jpeg_component_info * compptr, | 76 (j_decompress_ptr cinfo, jpeg_component_info *compptr, |
89 JSAMPARRAY input_data, JSAMPARRAY * output_data_ptr)); | 77 JSAMPARRAY input_data, JSAMPARRAY *output_data_ptr); |
90 | 78 |
91 EXTERN(int) jsimd_can_h2v2_merged_upsample JPP((void)); | 79 EXTERN(int) jsimd_can_h2v2_merged_upsample (void); |
92 EXTERN(int) jsimd_can_h2v1_merged_upsample JPP((void)); | 80 EXTERN(int) jsimd_can_h2v1_merged_upsample (void); |
93 | 81 |
94 EXTERN(void) jsimd_h2v2_merged_upsample | 82 EXTERN(void) jsimd_h2v2_merged_upsample |
95 JPP((j_decompress_ptr cinfo, | 83 (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, |
96 JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, | 84 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf); |
97 JSAMPARRAY output_buf)); | |
98 EXTERN(void) jsimd_h2v1_merged_upsample | 85 EXTERN(void) jsimd_h2v1_merged_upsample |
99 JPP((j_decompress_ptr cinfo, | 86 (j_decompress_ptr cinfo, JSAMPIMAGE input_buf, |
100 JSAMPIMAGE input_buf, JDIMENSION in_row_group_ctr, | 87 JDIMENSION in_row_group_ctr, JSAMPARRAY output_buf); |
101 JSAMPARRAY output_buf)); | |
102 | 88 |
| 89 EXTERN(int) jsimd_can_huff_encode_one_block (void); |
| 90 |
| 91 EXTERN(JOCTET*) jsimd_huff_encode_one_block |
| 92 (void *state, JOCTET *buffer, JCOEFPTR block, int last_dc_val, |
| 93 c_derived_tbl *dctbl, c_derived_tbl *actbl); |
OLD | NEW |