24#ifndef JCONFIG_INCLUDED
31#ifndef DONT_USE_EXTERN_C
40#define JPEG_LIB_VERSION 90
41#define JPEG_LIB_VERSION_MAJOR 9
42#define JPEG_LIB_VERSION_MINOR 4
52#define NUM_QUANT_TBLS 4
53#define NUM_HUFF_TBLS 4
54#define NUM_ARITH_TBLS 16
55#define MAX_COMPS_IN_SCAN 4
56#define MAX_SAMP_FACTOR 4
64#define C_MAX_BLOCKS_IN_MCU 10
65#ifndef D_MAX_BLOCKS_IN_MCU
66#define D_MAX_BLOCKS_IN_MCU 10
247#define JDCT_DEFAULT JDCT_ISLOW
250#define JDCT_FASTEST JDCT_IFAST
264#define jpeg_common_fields \
265 struct jpeg_error_mgr * err; \
266 struct jpeg_memory_mgr * mem; \
267 struct jpeg_progress_mgr * progress; \
268 void * client_data; \
269 boolean is_decompressor; \
711#define JMSG_LENGTH_MAX 200
719#define JMSG_STR_PARM_MAX 80
807#define JPOOL_PERMANENT 0
809#define JPOOL_NUMPOOLS 2
876#ifdef HAVE_PROTOTYPES
877#define JPP(arglist) arglist
879#define JPP(arglist) ()
890#ifdef NEED_SHORT_EXTERNAL_NAMES
891#define jpeg_std_error jStdError
892#define jpeg_CreateCompress jCreaCompress
893#define jpeg_CreateDecompress jCreaDecompress
894#define jpeg_destroy_compress jDestCompress
895#define jpeg_destroy_decompress jDestDecompress
896#define jpeg_stdio_dest jStdDest
897#define jpeg_stdio_src jStdSrc
898#define jpeg_mem_dest jMemDest
899#define jpeg_mem_src jMemSrc
900#define jpeg_set_defaults jSetDefaults
901#define jpeg_set_colorspace jSetColorspace
902#define jpeg_default_colorspace jDefColorspace
903#define jpeg_set_quality jSetQuality
904#define jpeg_set_linear_quality jSetLQuality
905#define jpeg_default_qtables jDefQTables
906#define jpeg_add_quant_table jAddQuantTable
907#define jpeg_quality_scaling jQualityScaling
908#define jpeg_simple_progression jSimProgress
909#define jpeg_suppress_tables jSuppressTables
910#define jpeg_alloc_quant_table jAlcQTable
911#define jpeg_alloc_huff_table jAlcHTable
912#define jpeg_std_huff_table jStdHTable
913#define jpeg_start_compress jStrtCompress
914#define jpeg_write_scanlines jWrtScanlines
915#define jpeg_finish_compress jFinCompress
916#define jpeg_calc_jpeg_dimensions jCjpegDimensions
917#define jpeg_write_raw_data jWrtRawData
918#define jpeg_write_marker jWrtMarker
919#define jpeg_write_m_header jWrtMHeader
920#define jpeg_write_m_byte jWrtMByte
921#define jpeg_write_tables jWrtTables
922#define jpeg_read_header jReadHeader
923#define jpeg_start_decompress jStrtDecompress
924#define jpeg_read_scanlines jReadScanlines
925#define jpeg_finish_decompress jFinDecompress
926#define jpeg_read_raw_data jReadRawData
927#define jpeg_has_multiple_scans jHasMultScn
928#define jpeg_start_output jStrtOutput
929#define jpeg_finish_output jFinOutput
930#define jpeg_input_complete jInComplete
931#define jpeg_new_colormap jNewCMap
932#define jpeg_consume_input jConsumeInput
933#define jpeg_core_output_dimensions jCoreDimensions
934#define jpeg_calc_output_dimensions jCalcDimensions
935#define jpeg_save_markers jSaveMarkers
936#define jpeg_set_marker_processor jSetMarker
937#define jpeg_read_coefficients jReadCoefs
938#define jpeg_write_coefficients jWrtCoefs
939#define jpeg_copy_critical_parameters jCopyCrit
940#define jpeg_abort_compress jAbrtCompress
941#define jpeg_abort_decompress jAbrtDecompress
942#define jpeg_abort jAbort
943#define jpeg_destroy jDestroy
944#define jpeg_resync_to_restart jResyncRestart
959#define jpeg_create_compress(cinfo) \
960 jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, \
961 (size_t) sizeof(struct jpeg_compress_struct))
962#define jpeg_create_decompress(cinfo) \
963 jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, \
964 (size_t) sizeof(struct jpeg_decompress_struct))
1045#define JPEG_SUSPENDED 0
1046#define JPEG_HEADER_OK 1
1047#define JPEG_HEADER_TABLES_ONLY 2
1076#define JPEG_REACHED_SOS 1
1077#define JPEG_REACHED_EOI 2
1078#define JPEG_ROW_COMPLETED 3
1079#define JPEG_SCAN_COMPLETED 4
1086EXTERN(
void) jpeg_save_markers
1126#define JPEG_RST0 0xD0
1127#define JPEG_EOI 0xD9
1128#define JPEG_APP0 0xE0
1129#define JPEG_COM 0xFE
1137#ifdef INCOMPLETE_TYPES_BROKEN
1138#ifndef JPEG_INTERNALS
1172#ifdef JPEG_INTERNALS
1178#ifndef DONT_USE_EXTERN_C
void WINAPIV output_message(unsigned int id,...)
void WINAPIV error_exit(unsigned int id,...)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
jpeg_write_m_byte(j_compress_ptr cinfo, int val)
jpeg_destroy_compress(j_compress_ptr cinfo)
jpeg_write_m_header(j_compress_ptr cinfo, int marker, unsigned int datalen)
jpeg_finish_compress(j_compress_ptr cinfo)
jpeg_write_tables(j_compress_ptr cinfo)
jpeg_write_marker(j_compress_ptr cinfo, int marker, const JOCTET *dataptr, unsigned int datalen)
jpeg_suppress_tables(j_compress_ptr cinfo, boolean suppress)
jpeg_CreateCompress(j_compress_ptr cinfo, int version, size_t structsize)
jpeg_abort_compress(j_compress_ptr cinfo)
jpeg_write_raw_data(j_compress_ptr cinfo, JSAMPIMAGE data, JDIMENSION num_lines)
jpeg_write_scanlines(j_compress_ptr cinfo, JSAMPARRAY scanlines, JDIMENSION num_lines)
jpeg_start_compress(j_compress_ptr cinfo, boolean write_all_tables)
jpeg_calc_jpeg_dimensions(j_compress_ptr cinfo)
jpeg_alloc_quant_table(j_common_ptr cinfo)
jpeg_abort(j_common_ptr cinfo)
jpeg_destroy(j_common_ptr cinfo)
jpeg_std_huff_table(j_common_ptr cinfo, boolean isDC, int tblno)
jpeg_alloc_huff_table(j_common_ptr cinfo)
jpeg_default_qtables(j_compress_ptr cinfo, boolean force_baseline)
jpeg_set_colorspace(j_compress_ptr cinfo, J_COLOR_SPACE colorspace)
jpeg_set_quality(j_compress_ptr cinfo, int quality, boolean force_baseline)
jpeg_set_linear_quality(j_compress_ptr cinfo, int scale_factor, boolean force_baseline)
jpeg_add_quant_table(j_compress_ptr cinfo, int which_tbl, const unsigned int *basic_table, int scale_factor, boolean force_baseline)
jpeg_set_defaults(j_compress_ptr cinfo)
jpeg_default_colorspace(j_compress_ptr cinfo)
jpeg_quality_scaling(int quality)
jpeg_copy_critical_parameters(j_decompress_ptr srcinfo, j_compress_ptr dstinfo)
jpeg_CreateDecompress(j_decompress_ptr cinfo, int version, size_t structsize)
jpeg_abort_decompress(j_decompress_ptr cinfo)
jpeg_consume_input(j_decompress_ptr cinfo)
jpeg_destroy_decompress(j_decompress_ptr cinfo)
jpeg_has_multiple_scans(j_decompress_ptr cinfo)
jpeg_finish_decompress(j_decompress_ptr cinfo)
jpeg_read_header(j_decompress_ptr cinfo, boolean require_image)
jpeg_input_complete(j_decompress_ptr cinfo)
jpeg_read_scanlines(j_decompress_ptr cinfo, JSAMPARRAY scanlines, JDIMENSION max_lines)
jpeg_read_raw_data(j_decompress_ptr cinfo, JSAMPIMAGE data, JDIMENSION max_lines)
term_destination(j_compress_ptr cinfo)
jpeg_mem_dest(j_compress_ptr cinfo, unsigned char **outbuffer, size_t *outsize)
init_destination(j_compress_ptr cinfo)
jpeg_stdio_dest(j_compress_ptr cinfo, FILE *outfile)
empty_output_buffer(j_compress_ptr cinfo)
term_source(j_decompress_ptr cinfo)
jpeg_mem_src(j_decompress_ptr cinfo, const unsigned char *inbuffer, size_t insize)
jpeg_stdio_src(j_decompress_ptr cinfo, FILE *infile)
fill_input_buffer(j_decompress_ptr cinfo)
init_source(j_decompress_ptr cinfo)
skip_input_data(j_decompress_ptr cinfo, long num_bytes)
jpeg_resync_to_restart(j_decompress_ptr cinfo, int desired)
jpeg_set_marker_processor(j_decompress_ptr cinfo, int marker_code, jpeg_marker_parser_method routine)
jpeg_calc_output_dimensions(j_decompress_ptr cinfo)
emit_message(j_common_ptr cinfo, int msg_level)
format_message(j_common_ptr cinfo, char *buffer)
jpeg_std_error(struct jpeg_error_mgr *err)
reset_error_mgr(j_common_ptr cinfo)
self_destruct(j_common_ptr cinfo)
alloc_sarray(j_common_ptr cinfo, int pool_id, JDIMENSION samplesperrow, JDIMENSION numrows)
request_virt_sarray(j_common_ptr cinfo, int pool_id, boolean pre_zero, JDIMENSION samplesperrow, JDIMENSION numrows, JDIMENSION maxaccess)
access_virt_barray(j_common_ptr cinfo, jvirt_barray_ptr ptr, JDIMENSION start_row, JDIMENSION num_rows, boolean writable)
request_virt_barray(j_common_ptr cinfo, int pool_id, boolean pre_zero, JDIMENSION blocksperrow, JDIMENSION numrows, JDIMENSION maxaccess)
access_virt_sarray(j_common_ptr cinfo, jvirt_sarray_ptr ptr, JDIMENSION start_row, JDIMENSION num_rows, boolean writable)
alloc_small(j_common_ptr cinfo, int pool_id, size_t sizeofobject)
free_pool(j_common_ptr cinfo, int pool_id)
realize_virt_arrays(j_common_ptr cinfo)
alloc_large(j_common_ptr cinfo, int pool_id, size_t sizeofobject)
alloc_barray(j_common_ptr cinfo, int pool_id, JDIMENSION blocksperrow, JDIMENSION numrows)
#define JMETHOD(type, methodname, arglist)
int JSAMPARRAY int int num_rows
struct jpeg_decompress_struct * j_decompress_ptr
struct jpeg_common_struct * j_common_ptr
struct jpeg_marker_struct FAR * jpeg_saved_marker_ptr
int const JOCTET unsigned int datalen
#define C_MAX_BLOCKS_IN_MCU
const unsigned char * inbuffer
JBLOCKARRAY * JBLOCKIMAGE
int unsigned int length_limit
int const unsigned int * basic_table
int jpeg_marker_parser_method routine
struct jvirt_barray_control * jvirt_barray_ptr
const unsigned char size_t insize
JSAMPARRAY JDIMENSION num_lines
struct jvirt_sarray_control * jvirt_sarray_ptr
#define JMSG_STR_PARM_MAX
int const JOCTET * dataptr
EXTERN(void) jpeg_CreateCompress JPP((j_compress_ptr cinfo
#define MAX_COMPS_IN_SCAN
struct jpeg_compress_struct * j_compress_ptr
unsigned char size_t * outsize
jvirt_barray_ptr * coef_arrays
int boolean force_baseline
JSAMPARRAY JDIMENSION max_lines
#define D_MAX_BLOCKS_IN_MCU
JDIMENSION downsampled_height
JDIMENSION width_in_blocks
JDIMENSION height_in_blocks
JDIMENSION downsampled_width
boolean write_JFIF_header
jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]
struct jpeg_entropy_encoder * entropy
J_COLOR_TRANSFORM color_transform
boolean write_Adobe_marker
int q_scale_factor[NUM_QUANT_TBLS]
const int * natural_order
jpeg_component_info * comp_info
struct jpeg_comp_master * master
const jpeg_scan_info * scan_info
unsigned int restart_interval
int min_DCT_v_scaled_size
struct jpeg_downsampler * downsample
struct jpeg_c_prep_controller * prep
boolean do_fancy_downsampling
JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]
UINT8 arith_dc_U[NUM_ARITH_TBLS]
int MCU_membership[C_MAX_BLOCKS_IN_MCU]
JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]
UINT8 arith_dc_L[NUM_ARITH_TBLS]
struct jpeg_color_converter * cconvert
J_COLOR_SPACE jpeg_color_space
struct jpeg_marker_writer * marker
JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]
int min_DCT_h_scaled_size
struct jpeg_c_main_controller * main
struct jpeg_destination_mgr * dest
jpeg_scan_info * script_space
JDIMENSION MCU_rows_in_scan
struct jpeg_forward_dct * fdct
UINT8 arith_ac_K[NUM_ARITH_TBLS]
J_COLOR_SPACE in_color_space
struct jpeg_c_coef_controller * coef
JDIMENSION total_iMCU_rows
boolean two_pass_quantize
struct jpeg_color_deconverter * cconvert
struct jpeg_d_coef_controller * coef
jpeg_saved_marker_ptr marker_list
struct jpeg_inverse_dct * idct
boolean do_fancy_upsampling
JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]
const int * natural_order
boolean do_block_smoothing
J_COLOR_SPACE out_color_space
struct jpeg_marker_reader * marker
int(* coef_bits)[DCTSIZE2]
JDIMENSION input_iMCU_row
JDIMENSION MCU_rows_in_scan
JSAMPLE * sample_range_limit
UINT8 arith_dc_L[NUM_ARITH_TBLS]
int actual_number_of_colors
unsigned int restart_interval
JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]
struct jpeg_upsampler * upsample
int min_DCT_h_scaled_size
JDIMENSION output_iMCU_row
JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]
int min_DCT_v_scaled_size
boolean enable_2pass_quant
J_COLOR_TRANSFORM color_transform
J_COLOR_SPACE jpeg_color_space
boolean enable_1pass_quant
UINT8 arith_ac_K[NUM_ARITH_TBLS]
struct jpeg_source_mgr * src
struct jpeg_d_post_controller * post
int desired_number_of_colors
struct jpeg_d_main_controller * main
boolean enable_external_quant
JDIMENSION total_iMCU_rows
jpeg_component_info * cur_comp_info[MAX_COMPS_IN_SCAN]
struct jpeg_input_controller * inputctl
J_DITHER_MODE dither_mode
JDIMENSION output_scanline
int MCU_membership[D_MAX_BLOCKS_IN_MCU]
struct jpeg_entropy_decoder * entropy
struct jpeg_color_quantizer * cquantize
struct jpeg_decomp_master * master
UINT8 arith_dc_U[NUM_ARITH_TBLS]
jpeg_component_info * comp_info
JMETHOD(void, term_destination,(j_compress_ptr cinfo))
JOCTET * next_output_byte
JMETHOD(boolean, empty_output_buffer,(j_compress_ptr cinfo))
JMETHOD(void, init_destination,(j_compress_ptr cinfo))
JMETHOD(void, format_message,(j_common_ptr cinfo, char *buffer))
JMETHOD(noreturn_t, error_exit,(j_common_ptr cinfo))
JMETHOD(void, emit_message,(j_common_ptr cinfo, int msg_level))
union jpeg_error_mgr::@3459 msg_parm
JMETHOD(void, output_message,(j_common_ptr cinfo))
JMETHOD(void, reset_error_mgr,(j_common_ptr cinfo))
const char *const * jpeg_message_table
const char *const * addon_message_table
jpeg_saved_marker_ptr next
unsigned int original_length
JMETHOD(void FAR *, alloc_large,(j_common_ptr cinfo, int pool_id, size_t sizeofobject))
JMETHOD(jvirt_sarray_ptr, request_virt_sarray,(j_common_ptr cinfo, int pool_id, boolean pre_zero, JDIMENSION samplesperrow, JDIMENSION numrows, JDIMENSION maxaccess))
JMETHOD(void, realize_virt_arrays,(j_common_ptr cinfo))
JMETHOD(JSAMPARRAY, alloc_sarray,(j_common_ptr cinfo, int pool_id, JDIMENSION samplesperrow, JDIMENSION numrows))
JMETHOD(JSAMPARRAY, access_virt_sarray,(j_common_ptr cinfo, jvirt_sarray_ptr ptr, JDIMENSION start_row, JDIMENSION num_rows, boolean writable))
JMETHOD(void, free_pool,(j_common_ptr cinfo, int pool_id))
JMETHOD(void *, alloc_small,(j_common_ptr cinfo, int pool_id, size_t sizeofobject))
JMETHOD(JBLOCKARRAY, access_virt_barray,(j_common_ptr cinfo, jvirt_barray_ptr ptr, JDIMENSION start_row, JDIMENSION num_rows, boolean writable))
JMETHOD(void, self_destruct,(j_common_ptr cinfo))
JMETHOD(jvirt_barray_ptr, request_virt_barray,(j_common_ptr cinfo, int pool_id, boolean pre_zero, JDIMENSION blocksperrow, JDIMENSION numrows, JDIMENSION maxaccess))
JMETHOD(JBLOCKARRAY, alloc_barray,(j_common_ptr cinfo, int pool_id, JDIMENSION blocksperrow, JDIMENSION numrows))
JMETHOD(void, progress_monitor,(j_common_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))
const JOCTET * next_input_byte
JMETHOD(boolean, fill_input_buffer,(j_decompress_ptr cinfo))
JMETHOD(void, init_source,(j_decompress_ptr cinfo))