30#define CSTATE_START 100
31#define CSTATE_SCANNING 101
32#define CSTATE_RAW_OK 102
33#define CSTATE_WRCOEFS 103
34#define DSTATE_START 200
35#define DSTATE_INHEADER 201
36#define DSTATE_READY 202
37#define DSTATE_PRELOAD 203
38#define DSTATE_PRESCAN 204
39#define DSTATE_SCANNING 205
40#define DSTATE_RAW_OK 206
41#define DSTATE_BUFIMAGE 207
42#define DSTATE_BUFPOST 208
43#define DSTATE_RDCOEFS 209
44#define DSTATE_STOPPING 210
49#define DSTATE_SETSRC 211
56 JMETHOD(
void, prepare_for_pass, (j_compress_ptr cinfo));
57 JMETHOD(
void, pass_startup, (j_compress_ptr cinfo));
58 JMETHOD(
void, finish_pass, (j_compress_ptr cinfo));
61 boolean call_pass_startup;
67 JMETHOD(
void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode));
68 JMETHOD(
void, process_data, (j_compress_ptr cinfo,
69 JSAMPARRAY input_buf, JDIMENSION *in_row_ctr,
70 JDIMENSION in_rows_avail));
75 JMETHOD(
void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode));
76 JMETHOD(
void, pre_process_data, (j_compress_ptr cinfo,
78 JDIMENSION *in_row_ctr,
79 JDIMENSION in_rows_avail,
80 JSAMPIMAGE output_buf,
81 JDIMENSION *out_row_group_ctr,
82 JDIMENSION out_row_groups_avail));
87 JMETHOD(
void, start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode));
88 JMETHOD(
boolean, compress_data, (j_compress_ptr cinfo,
89 JSAMPIMAGE input_buf));
94 JMETHOD(
void, start_pass, (j_compress_ptr cinfo));
95 JMETHOD(
void, color_convert, (j_compress_ptr cinfo,
96 JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
97 JDIMENSION output_row,
int num_rows));
102 JMETHOD(
void, start_pass, (j_compress_ptr cinfo));
103 JMETHOD(
void, downsample, (j_compress_ptr cinfo,
104 JSAMPIMAGE input_buf, JDIMENSION in_row_index,
105 JSAMPIMAGE output_buf,
106 JDIMENSION out_row_group_index));
108 boolean need_context_rows;
112typedef JMETHOD(
void, forward_DCT_ptr,
114 JSAMPARRAY sample_data, JBLOCKROW coef_blocks,
115 JDIMENSION start_col, JDIMENSION num_blocks));
118 JMETHOD(
void, start_pass, (j_compress_ptr cinfo));
120 forward_DCT_ptr forward_DCT[MAX_COMPONENTS];
125 JMETHOD(
void, start_pass, (j_compress_ptr cinfo,
boolean gather_statistics));
126 JMETHOD(
boolean, encode_mcu, (j_compress_ptr cinfo, JBLOCKARRAY MCU_data));
127 JMETHOD(
void, finish_pass, (j_compress_ptr cinfo));
132 JMETHOD(
void, write_file_header, (j_compress_ptr cinfo));
133 JMETHOD(
void, write_frame_header, (j_compress_ptr cinfo));
134 JMETHOD(
void, write_scan_header, (j_compress_ptr cinfo));
135 JMETHOD(
void, write_file_trailer, (j_compress_ptr cinfo));
136 JMETHOD(
void, write_tables_only, (j_compress_ptr cinfo));
139 JMETHOD(
void, write_marker_header, (j_compress_ptr cinfo,
int marker,
140 unsigned int datalen));
141 JMETHOD(
void, write_marker_byte, (j_compress_ptr cinfo,
int val));
149 JMETHOD(
void, prepare_for_output_pass, (j_decompress_ptr cinfo));
150 JMETHOD(
void, finish_output_pass, (j_decompress_ptr cinfo));
153 boolean is_dummy_pass;
158 JMETHOD(
int, consume_input, (j_decompress_ptr cinfo));
159 JMETHOD(
void, reset_input_controller, (j_decompress_ptr cinfo));
160 JMETHOD(
void, start_input_pass, (j_decompress_ptr cinfo));
161 JMETHOD(
void, finish_input_pass, (j_decompress_ptr cinfo));
164 boolean has_multiple_scans;
170 JMETHOD(
void, start_pass, (j_decompress_ptr cinfo, J_BUF_MODE pass_mode));
171 JMETHOD(
void, process_data, (j_decompress_ptr cinfo,
172 JSAMPARRAY output_buf, JDIMENSION *out_row_ctr,
173 JDIMENSION out_rows_avail));
178 JMETHOD(
void, start_input_pass, (j_decompress_ptr cinfo));
179 JMETHOD(
int, consume_data, (j_decompress_ptr cinfo));
180 JMETHOD(
void, start_output_pass, (j_decompress_ptr cinfo));
181 JMETHOD(
int, decompress_data, (j_decompress_ptr cinfo,
182 JSAMPIMAGE output_buf));
184 jvirt_barray_ptr *coef_arrays;
189 JMETHOD(
void, start_pass, (j_decompress_ptr cinfo, J_BUF_MODE pass_mode));
190 JMETHOD(
void, post_process_data, (j_decompress_ptr cinfo,
191 JSAMPIMAGE input_buf,
192 JDIMENSION *in_row_group_ctr,
193 JDIMENSION in_row_groups_avail,
194 JSAMPARRAY output_buf,
195 JDIMENSION *out_row_ctr,
196 JDIMENSION out_rows_avail));
201 JMETHOD(
void, reset_marker_reader, (j_decompress_ptr cinfo));
206 JMETHOD(
int, read_markers, (j_decompress_ptr cinfo));
208 jpeg_marker_parser_method read_restart_marker;
215 int next_restart_num;
216 unsigned int discarded_bytes;
221 JMETHOD(
void, start_pass, (j_decompress_ptr cinfo));
222 JMETHOD(
boolean, decode_mcu, (j_decompress_ptr cinfo, JBLOCKARRAY MCU_data));
223 JMETHOD(
void, finish_pass, (j_decompress_ptr cinfo));
227typedef JMETHOD(
void, inverse_DCT_method_ptr,
230 JSAMPARRAY output_buf, JDIMENSION output_col));
233 JMETHOD(
void, start_pass, (j_decompress_ptr cinfo));
235 inverse_DCT_method_ptr inverse_DCT[MAX_COMPONENTS];
240 JMETHOD(
void, start_pass, (j_decompress_ptr cinfo));
241 JMETHOD(
void, upsample, (j_decompress_ptr cinfo,
242 JSAMPIMAGE input_buf,
243 JDIMENSION *in_row_group_ctr,
244 JDIMENSION in_row_groups_avail,
245 JSAMPARRAY output_buf,
246 JDIMENSION *out_row_ctr,
247 JDIMENSION out_rows_avail));
249 boolean need_context_rows;
254 JMETHOD(
void, start_pass, (j_decompress_ptr cinfo));
255 JMETHOD(
void, color_convert, (j_decompress_ptr cinfo,
256 JSAMPIMAGE input_buf, JDIMENSION input_row,
257 JSAMPARRAY output_buf,
int num_rows));
262 JMETHOD(
void, start_pass, (j_decompress_ptr cinfo,
boolean is_pre_scan));
263 JMETHOD(
void, color_quantize, (j_decompress_ptr cinfo,
264 JSAMPARRAY input_buf, JSAMPARRAY output_buf,
266 JMETHOD(
void, finish_pass, (j_decompress_ptr cinfo));
267 JMETHOD(
void, new_color_map, (j_decompress_ptr cinfo));
281#define RANGE_CENTER (CENTERJSAMPLE << RANGE_BITS)
287#define MAX(a,b) ((a) > (b) ? (a) : (b))
289#define MIN(a,b) ((a) < (b) ? (a) : (b))
302#ifdef RIGHT_SHIFT_IS_UNSIGNED
303#define SHIFT_TEMPS INT32 shift_temp;
304#define RIGHT_SHIFT(x,shft) \
305 ((shift_temp = (x)) < 0 ? \
306 (shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \
307 (shift_temp >> (shft)))
310#define RIGHT_SHIFT(x,shft) ((x) >> (shft))
318#define DESCALE(x,n) RIGHT_SHIFT((x) + ((INT32) 1 << ((n)-1)), n)
323#ifdef NEED_SHORT_EXTERNAL_NAMES
324#define jinit_compress_master jICompress
325#define jinit_c_master_control jICMaster
326#define jinit_c_main_controller jICMainC
327#define jinit_c_prep_controller jICPrepC
328#define jinit_c_coef_controller jICCoefC
329#define jinit_color_converter jICColor
330#define jinit_downsampler jIDownsampler
331#define jinit_forward_dct jIFDCT
332#define jinit_huff_encoder jIHEncoder
333#define jinit_arith_encoder jIAEncoder
334#define jinit_marker_writer jIMWriter
335#define jinit_master_decompress jIDMaster
336#define jinit_d_main_controller jIDMainC
337#define jinit_d_coef_controller jIDCoefC
338#define jinit_d_post_controller jIDPostC
339#define jinit_input_controller jIInCtlr
340#define jinit_marker_reader jIMReader
341#define jinit_huff_decoder jIHDecoder
342#define jinit_arith_decoder jIADecoder
343#define jinit_inverse_dct jIIDCT
344#define jinit_upsampler jIUpsampler
345#define jinit_color_deconverter jIDColor
346#define jinit_1pass_quantizer jI1Quant
347#define jinit_2pass_quantizer jI2Quant
348#define jinit_merged_upsampler jIMUpsampler
349#define jinit_memory_mgr jIMemMgr
350#define jdiv_round_up jDivRound
351#define jround_up jRound
352#define jzero_far jZeroFar
353#define jcopy_sample_rows jCopySamples
354#define jcopy_block_row jCopyBlocks
355#define jpeg_zigzag_order jZIGTable
356#define jpeg_natural_order jZAGTable
357#define jpeg_natural_order7 jZAG7Table
358#define jpeg_natural_order6 jZAG6Table
359#define jpeg_natural_order5 jZAG5Table
360#define jpeg_natural_order4 jZAG4Table
361#define jpeg_natural_order3 jZAG3Table
362#define jpeg_natural_order2 jZAG2Table
363#define jpeg_aritab jAriTab
375#ifndef NEED_FAR_POINTERS
376#define FMEMZERO(target,size) MEMZERO(target,size)
379#define FMEMZERO(target,size) _fmemset((void FAR *)(target), 0, (size_t)(size))
381EXTERN(
void) jzero_far JPP((
void FAR * target,
size_t bytestozero));
382#define FMEMZERO(target,size) jzero_far(target, size)
388EXTERN(
void) jinit_compress_master JPP((j_compress_ptr cinfo));
389EXTERN(
void) jinit_c_master_control JPP((j_compress_ptr cinfo,
390 boolean transcode_only));
391EXTERN(
void) jinit_c_main_controller JPP((j_compress_ptr cinfo,
392 boolean need_full_buffer));
393EXTERN(
void) jinit_c_prep_controller JPP((j_compress_ptr cinfo,
394 boolean need_full_buffer));
395EXTERN(
void) jinit_c_coef_controller JPP((j_compress_ptr cinfo,
396 boolean need_full_buffer));
397EXTERN(
void) jinit_color_converter JPP((j_compress_ptr cinfo));
398EXTERN(
void) jinit_downsampler JPP((j_compress_ptr cinfo));
399EXTERN(
void) jinit_forward_dct JPP((j_compress_ptr cinfo));
400EXTERN(
void) jinit_huff_encoder JPP((j_compress_ptr cinfo));
401EXTERN(
void) jinit_arith_encoder JPP((j_compress_ptr cinfo));
402EXTERN(
void) jinit_marker_writer JPP((j_compress_ptr cinfo));
404EXTERN(
void) jinit_master_decompress JPP((j_decompress_ptr cinfo));
405EXTERN(
void) jinit_d_main_controller JPP((j_decompress_ptr cinfo,
406 boolean need_full_buffer));
407EXTERN(
void) jinit_d_coef_controller JPP((j_decompress_ptr cinfo,
408 boolean need_full_buffer));
409EXTERN(
void) jinit_d_post_controller JPP((j_decompress_ptr cinfo,
410 boolean need_full_buffer));
411EXTERN(
void) jinit_input_controller JPP((j_decompress_ptr cinfo));
412EXTERN(
void) jinit_marker_reader JPP((j_decompress_ptr cinfo));
413EXTERN(
void) jinit_huff_decoder JPP((j_decompress_ptr cinfo));
414EXTERN(
void) jinit_arith_decoder JPP((j_decompress_ptr cinfo));
415EXTERN(
void) jinit_inverse_dct JPP((j_decompress_ptr cinfo));
416EXTERN(
void) jinit_upsampler JPP((j_decompress_ptr cinfo));
417EXTERN(
void) jinit_color_deconverter JPP((j_decompress_ptr cinfo));
418EXTERN(
void) jinit_1pass_quantizer JPP((j_decompress_ptr cinfo));
419EXTERN(
void) jinit_2pass_quantizer JPP((j_decompress_ptr cinfo));
420EXTERN(
void) jinit_merged_upsampler JPP((j_decompress_ptr cinfo));
425EXTERN(
void) jmcu_d_coef_controller JPP((j_decompress_ptr cinfo));
426EXTERN(
void) jmcu_upsampler JPP((j_decompress_ptr cinfo));
427EXTERN(
void) jmcu_color_deconverter JPP((j_decompress_ptr cinfo));
431EXTERN(
void) jinit_memory_mgr JPP((j_common_ptr cinfo));
434EXTERN(
long) jdiv_round_up JPP((
long a,
long b));
435EXTERN(
long) jround_up JPP((
long a,
long b));
436EXTERN(
void) jcopy_sample_rows JPP((JSAMPARRAY input_array,
437 JSAMPARRAY output_array,
438 int num_rows, JDIMENSION num_cols));
439EXTERN(
void) jcopy_block_row JPP((JBLOCKROW input_row, JBLOCKROW output_row,
440 JDIMENSION num_blocks));
443extern const int jpeg_zigzag_order[];
445extern const int jpeg_natural_order[];
446extern const int jpeg_natural_order7[];
447extern const int jpeg_natural_order6[];
448extern const int jpeg_natural_order5[];
449extern const int jpeg_natural_order4[];
450extern const int jpeg_natural_order3[];
451extern const int jpeg_natural_order2[];
454extern const INT32 jpeg_aritab[];
458#ifdef INCOMPLETE_TYPES_BROKEN
459#ifndef AM_MEMORY_MANAGER
460struct jvirt_sarray_control {
long dummy; };
461struct jvirt_barray_control {
long dummy; };