4 * Copyright (C) 2022, D. R. Commander.
5 * For conditions of distribution and use, see the accompanying README.ijg
9 /* In source files that must be compiled for multiple data precisions, we
10 * prefix all precision-dependent data types, macros, methods, fields, and
11 * function names with an underscore. Including this file replaces those
12 * precision-independent tokens with their precision-dependent equivalents,
13 * based on the value of BITS_IN_JSAMPLE.
19 #if BITS_IN_JSAMPLE == 16
21 /* Sample data types and macros (jmorecfg.h) */
22 #define _JSAMPLE J16SAMPLE
24 #define _MAXJSAMPLE MAXJ16SAMPLE
25 #define _CENTERJSAMPLE CENTERJ16SAMPLE
27 #define _JSAMPROW J16SAMPROW
28 #define _JSAMPARRAY J16SAMPARRAY
29 #define _JSAMPIMAGE J16SAMPIMAGE
31 /* External functions (jpeglib.h) */
32 #define _jpeg_write_scanlines jpeg16_write_scanlines
33 #define _jpeg_read_scanlines jpeg16_read_scanlines
35 /* Internal methods (jpegint.h) */
37 #ifdef C_LOSSLESS_SUPPORTED
38 /* Use the 16-bit method in the jpeg_c_main_controller structure. */
39 #define _process_data process_data_16
40 /* Use the 16-bit method in the jpeg_c_prep_controller structure. */
41 #define _pre_process_data pre_process_data_16
42 /* Use the 16-bit method in the jpeg_c_coef_controller structure. */
43 #define _compress_data compress_data_16
44 /* Use the 16-bit method in the jpeg_color_converter structure. */
45 #define _color_convert color_convert_16
46 /* Use the 16-bit method in the jpeg_downsampler structure. */
47 #define _downsample downsample_16
49 #ifdef D_LOSSLESS_SUPPORTED
50 /* Use the 16-bit method in the jpeg_d_main_controller structure. */
51 #define _process_data process_data_16
52 /* Use the 16-bit method in the jpeg_d_coef_controller structure. */
53 #define _decompress_data decompress_data_16
54 /* Use the 16-bit method in the jpeg_d_post_controller structure. */
55 #define _post_process_data post_process_data_16
56 /* Use the 16-bit method in the jpeg_upsampler structure. */
57 #define _upsample upsample_16
58 /* Use the 16-bit method in the jpeg_color_converter structure. */
59 #define _color_convert color_convert_16
62 /* Global internal functions (jpegint.h) */
63 #ifdef C_LOSSLESS_SUPPORTED
64 #define _jinit_c_main_controller j16init_c_main_controller
65 #define _jinit_c_prep_controller j16init_c_prep_controller
66 #define _jinit_color_converter j16init_color_converter
67 #define _jinit_downsampler j16init_downsampler
68 #define _jinit_c_diff_controller j16init_c_diff_controller
69 #define _jinit_lossless_compressor j16init_lossless_compressor
72 #ifdef D_LOSSLESS_SUPPORTED
73 #define _jinit_d_main_controller j16init_d_main_controller
74 #define _jinit_d_post_controller j16init_d_post_controller
75 #define _jinit_upsampler j16init_upsampler
76 #define _jinit_color_deconverter j16init_color_deconverter
77 #define _jinit_merged_upsampler j16init_merged_upsampler
78 #define _jinit_d_diff_controller j16init_d_diff_controller
79 #define _jinit_lossless_decompressor j16init_lossless_decompressor
82 #if defined(C_LOSSLESS_SUPPORTED) || defined(D_LOSSLESS_SUPPORTED)
83 #define _jcopy_sample_rows j16copy_sample_rows
86 /* Internal fields (cdjpeg.h) */
88 #if defined(C_LOSSLESS_SUPPORTED) || defined(D_LOSSLESS_SUPPORTED)
89 /* Use the 16-bit buffer in the cjpeg_source_struct and djpeg_dest_struct
91 #define _buffer buffer16
94 /* Image I/O functions (cdjpeg.h) */
95 #ifdef C_LOSSLESS_SUPPORTED
96 #define _jinit_read_gif j16init_read_gif
97 #define _jinit_read_ppm j16init_read_ppm
100 #ifdef D_LOSSLESS_SUPPORTED
101 #define _jinit_write_ppm j16init_write_ppm
104 #elif BITS_IN_JSAMPLE == 12
106 /* Sample data types and macros (jmorecfg.h) */
107 #define _JSAMPLE J12SAMPLE
109 #define _MAXJSAMPLE MAXJ12SAMPLE
110 #define _CENTERJSAMPLE CENTERJ12SAMPLE
112 #define _JSAMPROW J12SAMPROW
113 #define _JSAMPARRAY J12SAMPARRAY
114 #define _JSAMPIMAGE J12SAMPIMAGE
116 /* External functions (jpeglib.h) */
117 #define _jpeg_write_scanlines jpeg12_write_scanlines
118 #define _jpeg_write_raw_data jpeg12_write_raw_data
119 #define _jpeg_read_scanlines jpeg12_read_scanlines
120 #define _jpeg_skip_scanlines jpeg12_skip_scanlines
121 #define _jpeg_crop_scanline jpeg12_crop_scanline
122 #define _jpeg_read_raw_data jpeg12_read_raw_data
124 /* Internal methods (jpegint.h) */
126 /* Use the 12-bit method in the jpeg_c_main_controller structure. */
127 #define _process_data process_data_12
128 /* Use the 12-bit method in the jpeg_c_prep_controller structure. */
129 #define _pre_process_data pre_process_data_12
130 /* Use the 12-bit method in the jpeg_c_coef_controller structure. */
131 #define _compress_data compress_data_12
132 /* Use the 12-bit method in the jpeg_color_converter structure. */
133 #define _color_convert color_convert_12
134 /* Use the 12-bit method in the jpeg_downsampler structure. */
135 #define _downsample downsample_12
136 /* Use the 12-bit method in the jpeg_forward_dct structure. */
137 #define _forward_DCT forward_DCT_12
138 /* Use the 12-bit method in the jpeg_d_main_controller structure. */
139 #define _process_data process_data_12
140 /* Use the 12-bit method in the jpeg_d_coef_controller structure. */
141 #define _decompress_data decompress_data_12
142 /* Use the 12-bit method in the jpeg_d_post_controller structure. */
143 #define _post_process_data post_process_data_12
144 /* Use the 12-bit method in the jpeg_inverse_dct structure. */
145 #define _inverse_DCT_method_ptr inverse_DCT_12_method_ptr
146 #define _inverse_DCT inverse_DCT_12
147 /* Use the 12-bit method in the jpeg_upsampler structure. */
148 #define _upsample upsample_12
149 /* Use the 12-bit method in the jpeg_color_converter structure. */
150 #define _color_convert color_convert_12
151 /* Use the 12-bit method in the jpeg_color_quantizer structure. */
152 #define _color_quantize color_quantize_12
154 /* Global internal functions (jpegint.h) */
155 #define _jinit_c_main_controller j12init_c_main_controller
156 #define _jinit_c_prep_controller j12init_c_prep_controller
157 #define _jinit_c_coef_controller j12init_c_coef_controller
158 #define _jinit_color_converter j12init_color_converter
159 #define _jinit_downsampler j12init_downsampler
160 #define _jinit_forward_dct j12init_forward_dct
161 #ifdef C_LOSSLESS_SUPPORTED
162 #define _jinit_c_diff_controller j12init_c_diff_controller
163 #define _jinit_lossless_compressor j12init_lossless_compressor
166 #define _jinit_d_main_controller j12init_d_main_controller
167 #define _jinit_d_coef_controller j12init_d_coef_controller
168 #define _jinit_d_post_controller j12init_d_post_controller
169 #define _jinit_inverse_dct j12init_inverse_dct
170 #define _jinit_upsampler j12init_upsampler
171 #define _jinit_color_deconverter j12init_color_deconverter
172 #define _jinit_1pass_quantizer j12init_1pass_quantizer
173 #define _jinit_2pass_quantizer j12init_2pass_quantizer
174 #define _jinit_merged_upsampler j12init_merged_upsampler
175 #ifdef D_LOSSLESS_SUPPORTED
176 #define _jinit_d_diff_controller j12init_d_diff_controller
177 #define _jinit_lossless_decompressor j12init_lossless_decompressor
180 #define _jcopy_sample_rows j12copy_sample_rows
182 /* Global internal functions (jdct.h) */
183 #define _jpeg_fdct_islow jpeg12_fdct_islow
184 #define _jpeg_fdct_ifast jpeg12_fdct_ifast
186 #define _jpeg_idct_islow jpeg12_idct_islow
187 #define _jpeg_idct_ifast jpeg12_idct_ifast
188 #define _jpeg_idct_float jpeg12_idct_float
189 #define _jpeg_idct_7x7 jpeg12_idct_7x7
190 #define _jpeg_idct_6x6 jpeg12_idct_6x6
191 #define _jpeg_idct_5x5 jpeg12_idct_5x5
192 #define _jpeg_idct_4x4 jpeg12_idct_4x4
193 #define _jpeg_idct_3x3 jpeg12_idct_3x3
194 #define _jpeg_idct_2x2 jpeg12_idct_2x2
195 #define _jpeg_idct_1x1 jpeg12_idct_1x1
196 #define _jpeg_idct_9x9 jpeg12_idct_9x9
197 #define _jpeg_idct_10x10 jpeg12_idct_10x10
198 #define _jpeg_idct_11x11 jpeg12_idct_11x11
199 #define _jpeg_idct_12x12 jpeg12_idct_12x12
200 #define _jpeg_idct_13x13 jpeg12_idct_13x13
201 #define _jpeg_idct_14x14 jpeg12_idct_14x14
202 #define _jpeg_idct_15x15 jpeg12_idct_15x15
203 #define _jpeg_idct_16x16 jpeg12_idct_16x16
205 /* Internal fields (cdjpeg.h) */
207 /* Use the 12-bit buffer in the cjpeg_source_struct and djpeg_dest_struct
209 #define _buffer buffer12
211 /* Image I/O functions (cdjpeg.h) */
212 #define _jinit_read_gif j12init_read_gif
213 #define _jinit_write_gif j12init_write_gif
214 #define _jinit_read_ppm j12init_read_ppm
215 #define _jinit_write_ppm j12init_write_ppm
217 #define _read_color_map read_color_map_12
219 #else /* BITS_IN_JSAMPLE */
221 /* Sample data types and macros (jmorecfg.h) */
222 #define _JSAMPLE JSAMPLE
224 #define _MAXJSAMPLE MAXJSAMPLE
225 #define _CENTERJSAMPLE CENTERJSAMPLE
227 #define _JSAMPROW JSAMPROW
228 #define _JSAMPARRAY JSAMPARRAY
229 #define _JSAMPIMAGE JSAMPIMAGE
231 /* External functions (jpeglib.h) */
232 #define _jpeg_write_scanlines jpeg_write_scanlines
233 #define _jpeg_write_raw_data jpeg_write_raw_data
234 #define _jpeg_read_scanlines jpeg_read_scanlines
235 #define _jpeg_skip_scanlines jpeg_skip_scanlines
236 #define _jpeg_crop_scanline jpeg_crop_scanline
237 #define _jpeg_read_raw_data jpeg_read_raw_data
239 /* Internal methods (jpegint.h) */
241 /* Use the 8-bit method in the jpeg_c_main_controller structure. */
242 #define _process_data process_data
243 /* Use the 8-bit method in the jpeg_c_prep_controller structure. */
244 #define _pre_process_data pre_process_data
245 /* Use the 8-bit method in the jpeg_c_coef_controller structure. */
246 #define _compress_data compress_data
247 /* Use the 8-bit method in the jpeg_color_converter structure. */
248 #define _color_convert color_convert
249 /* Use the 8-bit method in the jpeg_downsampler structure. */
250 #define _downsample downsample
251 /* Use the 8-bit method in the jpeg_forward_dct structure. */
252 #define _forward_DCT forward_DCT
253 /* Use the 8-bit method in the jpeg_d_main_controller structure. */
254 #define _process_data process_data
255 /* Use the 8-bit method in the jpeg_d_coef_controller structure. */
256 #define _decompress_data decompress_data
257 /* Use the 8-bit method in the jpeg_d_post_controller structure. */
258 #define _post_process_data post_process_data
259 /* Use the 8-bit method in the jpeg_inverse_dct structure. */
260 #define _inverse_DCT_method_ptr inverse_DCT_method_ptr
261 #define _inverse_DCT inverse_DCT
262 /* Use the 8-bit method in the jpeg_upsampler structure. */
263 #define _upsample upsample
264 /* Use the 8-bit method in the jpeg_color_converter structure. */
265 #define _color_convert color_convert
266 /* Use the 8-bit method in the jpeg_color_quantizer structure. */
267 #define _color_quantize color_quantize
269 /* Global internal functions (jpegint.h) */
270 #define _jinit_c_main_controller jinit_c_main_controller
271 #define _jinit_c_prep_controller jinit_c_prep_controller
272 #define _jinit_c_coef_controller jinit_c_coef_controller
273 #define _jinit_color_converter jinit_color_converter
274 #define _jinit_downsampler jinit_downsampler
275 #define _jinit_forward_dct jinit_forward_dct
276 #ifdef C_LOSSLESS_SUPPORTED
277 #define _jinit_c_diff_controller jinit_c_diff_controller
278 #define _jinit_lossless_compressor jinit_lossless_compressor
281 #define _jinit_d_main_controller jinit_d_main_controller
282 #define _jinit_d_coef_controller jinit_d_coef_controller
283 #define _jinit_d_post_controller jinit_d_post_controller
284 #define _jinit_inverse_dct jinit_inverse_dct
285 #define _jinit_upsampler jinit_upsampler
286 #define _jinit_color_deconverter jinit_color_deconverter
287 #define _jinit_1pass_quantizer jinit_1pass_quantizer
288 #define _jinit_2pass_quantizer jinit_2pass_quantizer
289 #define _jinit_merged_upsampler jinit_merged_upsampler
290 #ifdef D_LOSSLESS_SUPPORTED
291 #define _jinit_d_diff_controller jinit_d_diff_controller
292 #define _jinit_lossless_decompressor jinit_lossless_decompressor
295 #define _jcopy_sample_rows jcopy_sample_rows
297 /* Global internal functions (jdct.h) */
298 #define _jpeg_fdct_islow jpeg_fdct_islow
299 #define _jpeg_fdct_ifast jpeg_fdct_ifast
301 #define _jpeg_idct_islow jpeg_idct_islow
302 #define _jpeg_idct_ifast jpeg_idct_ifast
303 #define _jpeg_idct_float jpeg_idct_float
304 #define _jpeg_idct_7x7 jpeg_idct_7x7
305 #define _jpeg_idct_6x6 jpeg_idct_6x6
306 #define _jpeg_idct_5x5 jpeg_idct_5x5
307 #define _jpeg_idct_4x4 jpeg_idct_4x4
308 #define _jpeg_idct_3x3 jpeg_idct_3x3
309 #define _jpeg_idct_2x2 jpeg_idct_2x2
310 #define _jpeg_idct_1x1 jpeg_idct_1x1
311 #define _jpeg_idct_9x9 jpeg_idct_9x9
312 #define _jpeg_idct_10x10 jpeg_idct_10x10
313 #define _jpeg_idct_11x11 jpeg_idct_11x11
314 #define _jpeg_idct_12x12 jpeg_idct_12x12
315 #define _jpeg_idct_13x13 jpeg_idct_13x13
316 #define _jpeg_idct_14x14 jpeg_idct_14x14
317 #define _jpeg_idct_15x15 jpeg_idct_15x15
318 #define _jpeg_idct_16x16 jpeg_idct_16x16
320 /* Internal fields (cdjpeg.h) */
322 /* Use the 8-bit buffer in the cjpeg_source_struct and djpeg_dest_struct
324 #define _buffer buffer
326 /* Image I/O functions (cdjpeg.h) */
327 #define _jinit_read_gif jinit_read_gif
328 #define _jinit_write_gif jinit_write_gif
329 #define _jinit_read_ppm jinit_read_ppm
330 #define _jinit_write_ppm jinit_write_ppm
332 #define _read_color_map read_color_map
334 #endif /* BITS_IN_JSAMPLE */
336 #endif /* JSAMPLECOMP_H */