12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052 |
- typedef unsigned char boolean;
- typedef JSAMPLE FAR *JSAMPROW;
- typedef JSAMPROW *JSAMPARRAY;
- typedef JSAMPARRAY *JSAMPIMAGE;
- typedef JCOEF JBLOCK[DCTSIZE2];
- typedef JBLOCK FAR *JBLOCKROW;
- typedef JBLOCKROW *JBLOCKARRAY;
- typedef JBLOCKARRAY *JBLOCKIMAGE;
- typedef JCOEF FAR *JCOEFPTR;
- typedef struct {
-
- UINT16 quantval[DCTSIZE2]
-
- boolean sent_table
- } JQUANT_TBL;
- typedef struct {
-
- UINT8 bits[17];
-
- UINT8 huffval[256]
-
- boolean sent_table
- } JHUFF_TBL;
- typedef struct {
-
-
-
- int component_id
- int component_index
- int h_samp_factor
- int v_samp_factor
- int quant_tbl_no
-
-
-
-
- int dc_tbl_no
- int ac_tbl_no
-
-
-
-
-
- JDIMENSION width_in_blocks
- JDIMENSION height_in_blocks
-
- int DCT_scaled_size
-
- JDIMENSION downsampled_width
- JDIMENSION downsampled_height
-
- boolean component_needed
-
-
- int MCU_width
- int MCU_height
- int MCU_blocks
- int MCU_sample_width
- int last_col_width
- int last_row_height
-
- JQUANT_TBL * quant_table
-
- void * dct_table
- } jpeg_component_info;
- typedef struct {
- int comps_in_scan
- int component_index[MAX_COMPS_IN_SCAN]
- int Ss, Se
- int Ah, Al
- } jpeg_scan_info;
- typedef enum {
- JCS_UNKNOWN,
- JCS_GRAYSCALE,
- JCS_RGB,
- JCS_YCbCr,
- JCS_CMYK,
- JCS_YCCK
- } J_COLOR_SPACE;
- typedef enum {
- JDCT_ISLOW,
- JDCT_IFAST,
- JDCT_FLOAT
- } J_DCT_METHOD;
- typedef enum {
- JDITHER_NONE,
- JDITHER_ORDERED,
- JDITHER_FS
- } J_DITHER_MODE;
- struct jpeg_error_mgr * err
- struct jpeg_memory_mgr * mem
- struct jpeg_progress_mgr * progress
- boolean is_decompressor
- int global_state
- struct jpeg_common_struct {
- jpeg_common_fields;
-
- }
- typedef struct jpeg_common_struct * j_common_ptr;
- typedef struct jpeg_compress_struct * j_compress_ptr;
- typedef struct jpeg_decompress_struct * j_decompress_ptr;
- struct jpeg_compress_struct {
- jpeg_common_fields;
-
- struct jpeg_destination_mgr * dest
-
- JDIMENSION image_width
- JDIMENSION image_height
- int input_components
- J_COLOR_SPACE in_color_space
- double input_gamma
-
- int data_precision
- int num_components
- J_COLOR_SPACE jpeg_color_space;
- jpeg_component_info * comp_info
-
-
- JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]
-
-
- JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]
- JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]
-
-
- UINT8 arith_dc_L[NUM_ARITH_TBLS]
- UINT8 arith_dc_U[NUM_ARITH_TBLS]
- UINT8 arith_ac_K[NUM_ARITH_TBLS]
- int num_scans
- const jpeg_scan_info * scan_info;
-
- boolean raw_data_in
- boolean arith_code
- boolean optimize_coding
- boolean CCIR601_sampling
- int smoothing_factor
- J_DCT_METHOD dct_method
-
- unsigned int restart_interval
- int restart_in_rows
-
- boolean write_JFIF_header
-
-
-
-
- UINT8 density_unit
- UINT16 X_density
- UINT16 Y_density
- boolean write_Adobe_marker
-
-
- JDIMENSION next_scanline
-
-
- boolean progressive_mode
- int max_h_samp_factor
- int max_v_samp_factor
- JDIMENSION total_iMCU_rows
-
-
-
- int comps_in_scan
- jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]
-
-
- JDIMENSION MCUs_per_row
- JDIMENSION MCU_rows_in_scan
-
- int blocks_in_MCU;
- int MCU_membership[C_MAX_BLOCKS_IN_MCU]
-
-
- int Ss, Se, Ah, Al
-
- struct jpeg_comp_master * master
- struct jpeg_c_main_controller * main
- struct jpeg_c_prep_controller * prep
- struct jpeg_c_coef_controller * coef
- struct jpeg_marker_writer * marker
- struct jpeg_color_converter * cconvert
- struct jpeg_downsampler * downsample
- struct jpeg_forward_dct * fdct
- struct jpeg_entropy_encoder * entropy
- }
- struct jpeg_decompress_struct {
- jpeg_common_fields;
-
- struct jpeg_source_mgr * src
-
-
- JDIMENSION image_width
- JDIMENSION image_height
- int num_components
- J_COLOR_SPACE jpeg_color_space;
-
- J_COLOR_SPACE out_color_space
- unsigned int scale_num, scale_denom;
- double output_gamma
- boolean buffered_image;
- boolean raw_data_out
- J_DCT_METHOD dct_method
- boolean do_fancy_upsampling
- boolean do_block_smoothing
- boolean quantize_colors
-
- J_DITHER_MODE dither_mode;
- boolean two_pass_quantize
- int desired_number_of_colors
-
- boolean enable_1pass_quant
- boolean enable_external_quant
- boolean enable_2pass_quant
-
- JDIMENSION output_width
- JDIMENSION output_height
- int out_color_components
- int output_components
-
- int rec_outbuf_height
-
-
- int actual_number_of_colors
- JSAMPARRAY colormap
-
-
- JDIMENSION output_scanline
-
- int input_scan_number
- JDIMENSION input_iMCU_row
-
- int output_scan_number
- JDIMENSION output_iMCU_row
-
- int (*coef_bits)[DCTSIZE2]
-
-
- JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]
-
- JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]
- JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]
-
-
- int data_precision
- jpeg_component_info * comp_info
-
- boolean progressive_mode
- boolean arith_code
- UINT8 arith_dc_L[NUM_ARITH_TBLS]
- UINT8 arith_dc_U[NUM_ARITH_TBLS]
- UINT8 arith_ac_K[NUM_ARITH_TBLS]
- unsigned int restart_interval
-
- boolean saw_JFIF_marker
-
- UINT8 density_unit
- UINT16 X_density
- UINT16 Y_density
- boolean saw_Adobe_marker
- UINT8 Adobe_transform
- boolean CCIR601_sampling
-
-
- int max_h_samp_factor
- int max_v_samp_factor
- int min_DCT_scaled_size
- JDIMENSION total_iMCU_rows
-
- JSAMPLE * sample_range_limit
-
- int comps_in_scan
- jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]
-
- JDIMENSION MCUs_per_row
- JDIMENSION MCU_rows_in_scan
- int blocks_in_MCU;
- int MCU_membership[D_MAX_BLOCKS_IN_MCU]
-
-
- int Ss, Se, Ah, Al
-
- int unread_marker
-
- struct jpeg_decomp_master * master
- struct jpeg_d_main_controller * main
- struct jpeg_d_coef_controller * coef
- struct jpeg_d_post_controller * post
- struct jpeg_input_controller * inputctl
- struct jpeg_marker_reader * marker
- struct jpeg_entropy_decoder * entropy
- struct jpeg_inverse_dct * idct
- struct jpeg_upsampler * upsample
- struct jpeg_color_deconverter * cconvert
- struct jpeg_color_quantizer * cquantize
- }
- struct jpeg_error_mgr {
-
- JMETHOD(void, error_exit, (j_common_ptr cinfo))
-
- JMETHOD(void, emit_message, (j_common_ptr cinfo, int msg_level))
-
- JMETHOD(void, output_message, (j_common_ptr cinfo))
-
- JMETHOD(void, format_message, (j_common_ptr cinfo, char * buffer));
-
- JMETHOD(void, reset_error_mgr, (j_common_ptr cinfo))
-
-
- int msg_code
- union {
- int i[8]
- char s[JMSG_STR_PARM_MAX];
- } msg_parm
-
-
-
- int trace_level
-
-
- long num_warnings
-
- const char * const * jpeg_message_table;
- int last_jpeg_message
-
- const char * const * addon_message_table;
- int first_addon_message
- int last_addon_message
- }
- struct jpeg_progress_mgr {
- JMETHOD(void, progress_monitor, (j_common_ptr cinfo))
- long pass_counter
- long pass_limit
- int completed_passes
- int total_passes
- }
- struct jpeg_destination_mgr {
- JOCTET * next_output_byte
- size_t free_in_buffer
- JMETHOD(void, init_destination, (j_compress_ptr cinfo))
- JMETHOD(boolean, empty_output_buffer, (j_compress_ptr cinfo))
- JMETHOD(void, term_destination, (j_compress_ptr cinfo))
- }
- struct jpeg_source_mgr {
- const JOCTET * next_input_byte
- size_t bytes_in_buffer;
- JMETHOD(void, init_source, (j_decompress_ptr cinfo))
- JMETHOD(boolean, fill_input_buffer, (j_decompress_ptr cinfo))
- JMETHOD(void, skip_input_data, (j_decompress_ptr cinfo, long num_bytes))
- JMETHOD(boolean, resync_to_restart, (j_decompress_ptr cinfo, int desired))
- JMETHOD(void, term_source, (j_decompress_ptr cinfo))
- }
- typedef struct jvirt_sarray_control * jvirt_sarray_ptr;
- typedef struct jvirt_barray_control * jvirt_barray_ptr;
- struct jpeg_memory_mgr {
-
- JMETHOD(void *, alloc_small, (j_common_ptr cinfo, int pool_id,
- size_t sizeofobject))
- JMETHOD(void FAR *, alloc_large, (j_common_ptr cinfo, int pool_id,
- size_t sizeofobject))
- JMETHOD(JSAMPARRAY, alloc_sarray, (j_common_ptr cinfo, int pool_id,
- JDIMENSION samplesperrow,
- JDIMENSION numrows))
- JMETHOD(JBLOCKARRAY, alloc_barray, (j_common_ptr cinfo, int pool_id,
- JDIMENSION blocksperrow,
- JDIMENSION numrows))
- JMETHOD(jvirt_sarray_ptr, request_virt_sarray, (j_common_ptr cinfo,
- int pool_id,
- boolean pre_zero,
- JDIMENSION samplesperrow,
- JDIMENSION numrows,
- JDIMENSION maxaccess))
- JMETHOD(jvirt_barray_ptr, request_virt_barray, (j_common_ptr cinfo,
- int pool_id,
- boolean pre_zero,
- JDIMENSION blocksperrow,
- JDIMENSION numrows,
- JDIMENSION maxaccess))
- JMETHOD(void, realize_virt_arrays, (j_common_ptr cinfo))
- JMETHOD(JSAMPARRAY, access_virt_sarray, (j_common_ptr cinfo,
- jvirt_sarray_ptr ptr,
- JDIMENSION start_row,
- JDIMENSION num_rows,
- boolean writable))
- JMETHOD(JBLOCKARRAY, access_virt_barray, (j_common_ptr cinfo,
- jvirt_barray_ptr ptr,
- JDIMENSION start_row,
- JDIMENSION num_rows,
- boolean writable))
- JMETHOD(void, free_pool, (j_common_ptr cinfo, int pool_id))
- JMETHOD(void, self_destruct, (j_common_ptr cinfo))
-
- long max_memory_to_use
- }
- typedef JMETHOD(boolean, jpeg_marker_parser_method, (j_decompress_ptr cinfo))
- EXTERN struct jpeg_error_mgr *jpeg_std_error JPP((struct jpeg_error_mgr *err))
- EXTERN void jpeg_create_compress JPP((j_compress_ptr cinfo))
- EXTERN void jpeg_create_decompress JPP((j_decompress_ptr cinfo))
- EXTERN void jpeg_destroy_compress JPP((j_compress_ptr cinfo))
- EXTERN void jpeg_destroy_decompress JPP((j_decompress_ptr cinfo))
- EXTERN void jpeg_stdio_dest JPP((j_compress_ptr cinfo, FILE * outfile))
- EXTERN void jpeg_stdio_src JPP((j_decompress_ptr cinfo, unsigned char *infile))
- EXTERN void jpeg_set_defaults JPP((j_compress_ptr cinfo))
- EXTERN void jpeg_set_colorspace JPP((j_compress_ptr cinfo,
- J_COLOR_SPACE colorspace))
- EXTERN void jpeg_default_colorspace JPP((j_compress_ptr cinfo))
- EXTERN void jpeg_set_quality JPP((j_compress_ptr cinfo, int quality,
- boolean force_baseline))
- EXTERN void jpeg_set_linear_quality JPP((j_compress_ptr cinfo,
- int scale_factor,
- boolean force_baseline))
- EXTERN void jpeg_add_quant_table JPP((j_compress_ptr cinfo, int which_tbl,
- const unsigned int *basic_table,
- int scale_factor,
- boolean force_baseline))
- EXTERN int jpeg_quality_scaling JPP((int quality))
- EXTERN void jpeg_simple_progression JPP((j_compress_ptr cinfo))
- EXTERN void jpeg_suppress_tables JPP((j_compress_ptr cinfo,
- boolean suppress))
- EXTERN JQUANT_TBL * jpeg_alloc_quant_table JPP((j_common_ptr cinfo))
- EXTERN JHUFF_TBL * jpeg_alloc_huff_table JPP((j_common_ptr cinfo))
- EXTERN void jpeg_start_compress JPP((j_compress_ptr cinfo,
- boolean write_all_tables))
- EXTERN JDIMENSION jpeg_write_scanlines JPP((j_compress_ptr cinfo,
- JSAMPARRAY scanlines,
- JDIMENSION num_lines))
- EXTERN void jpeg_finish_compress JPP((j_compress_ptr cinfo))
- EXTERN JDIMENSION jpeg_write_raw_data JPP((j_compress_ptr cinfo,
- JSAMPIMAGE data,
- JDIMENSION num_lines))
- EXTERN void jpeg_write_marker JPP((j_compress_ptr cinfo, int marker,
- const JOCTET *dataptr, unsigned int datalen))
- EXTERN void jpeg_write_tables JPP((j_compress_ptr cinfo))
- EXTERN int jpeg_read_header JPP((j_decompress_ptr cinfo,
- boolean require_image))
- EXTERN boolean jpeg_start_decompress JPP((j_decompress_ptr cinfo))
- EXTERN JDIMENSION jpeg_read_scanlines JPP((j_decompress_ptr cinfo,
- JSAMPARRAY scanlines,
- JDIMENSION max_lines))
- EXTERN boolean jpeg_finish_decompress JPP((j_decompress_ptr cinfo))
- EXTERN JDIMENSION jpeg_read_raw_data JPP((j_decompress_ptr cinfo,
- JSAMPIMAGE data,
- JDIMENSION max_lines))
- EXTERN boolean jpeg_has_multiple_scans JPP((j_decompress_ptr cinfo))
- EXTERN boolean jpeg_start_output JPP((j_decompress_ptr cinfo,
- int scan_number));
- EXTERN boolean jpeg_finish_output JPP((j_decompress_ptr cinfo))
- EXTERN boolean jpeg_input_complete JPP((j_decompress_ptr cinfo))
- EXTERN void jpeg_new_colormap JPP((j_decompress_ptr cinfo))
- EXTERN int jpeg_consume_input JPP((j_decompress_ptr cinfo))
- EXTERN void jpeg_calc_output_dimensions JPP((j_decompress_ptr cinfo))
- EXTERN void jpeg_set_marker_processor JPP((j_decompress_ptr cinfo,
- int marker_code,
- jpeg_marker_parser_method routine))
- EXTERN jvirt_barray_ptr * jpeg_read_coefficients JPP((j_decompress_ptr cinfo))
- EXTERN void jpeg_write_coefficients JPP((j_compress_ptr cinfo,
- jvirt_barray_ptr * coef_arrays))
- EXTERN void jpeg_copy_critical_parameters JPP((j_decompress_ptr srcinfo,
- j_compress_ptr dstinfo))
- EXTERN void jpeg_abort_compress JPP((j_compress_ptr cinfo))
- EXTERN void jpeg_abort_decompress JPP((j_decompress_ptr cinfo))
- EXTERN void jpeg_abort JPP((j_common_ptr cinfo))
- EXTERN void jpeg_destroy JPP((j_common_ptr cinfo))
- EXTERN boolean jpeg_resync_to_restart JPP((j_decompress_ptr cinfo,
- int desired))
- struct jvirt_sarray_control { long dummy
- struct jvirt_barray_control { long dummy
- struct jpeg_comp_master { long dummy
- struct jpeg_c_main_controller { long dummy
- struct jpeg_c_prep_controller { long dummy
- struct jpeg_c_coef_controller { long dummy
- struct jpeg_marker_writer { long dummy
- struct jpeg_color_converter { long dummy
- struct jpeg_downsampler { long dummy
- struct jpeg_forward_dct { long dummy
- struct jpeg_entropy_encoder { long dummy
- struct jpeg_decomp_master { long dummy
- struct jpeg_d_main_controller { long dummy
- struct jpeg_d_coef_controller { long dummy
- struct jpeg_d_post_controller { long dummy
- struct jpeg_input_controller { long dummy
- struct jpeg_marker_reader { long dummy
- struct jpeg_entropy_decoder { long dummy
- struct jpeg_inverse_dct { long dummy
- struct jpeg_upsampler { long dummy
- struct jpeg_color_deconverter { long dummy
- struct jpeg_color_quantizer { long dummy
|