20 #ifndef JCONFIG_INCLUDED
30 #define JPEG_LIB_VERSION 62
40 #define NUM_QUANT_TBLS 4
41 #define NUM_HUFF_TBLS 4
42 #define NUM_ARITH_TBLS 16
43 #define MAX_COMPS_IN_SCAN 4
44 #define MAX_SAMP_FACTOR 4
52 #define C_MAX_BLOCKS_IN_MCU 10
53 #ifndef D_MAX_BLOCKS_IN_MCU
54 #define D_MAX_BLOCKS_IN_MCU 10
221 #define JDCT_DEFAULT JDCT_ISLOW
224 #define JDCT_FASTEST JDCT_IFAST
238 #define jpeg_common_fields \
239 struct jpeg_error_mgr * err; \
240 struct jpeg_memory_mgr * mem; \
241 struct jpeg_progress_mgr * progress; \
242 void * client_data; \
243 boolean is_decompressor; \
649 #define JMSG_LENGTH_MAX 200
657 #define JMSG_STR_PARM_MAX 80
745 #define JPOOL_PERMANENT 0
746 #define JPOOL_IMAGE 1
747 #define JPOOL_NUMPOOLS 2
814 #ifdef HAVE_PROTOTYPES
815 #define JPP(arglist) arglist
817 #define JPP(arglist) ()
828 #ifdef NEED_SHORT_EXTERNAL_NAMES
829 #define jpeg_std_error jStdError
830 #define jpeg_CreateCompress jCreaCompress
831 #define jpeg_CreateDecompress jCreaDecompress
832 #define jpeg_destroy_compress jDestCompress
833 #define jpeg_destroy_decompress jDestDecompress
834 #define jpeg_stdio_dest jStdDest
835 #define jpeg_stdio_src jStdSrc
836 #define jpeg_set_defaults jSetDefaults
837 #define jpeg_set_colorspace jSetColorspace
838 #define jpeg_default_colorspace jDefColorspace
839 #define jpeg_set_quality jSetQuality
840 #define jpeg_set_linear_quality jSetLQuality
841 #define jpeg_add_quant_table jAddQuantTable
842 #define jpeg_quality_scaling jQualityScaling
843 #define jpeg_simple_progression jSimProgress
844 #define jpeg_suppress_tables jSuppressTables
845 #define jpeg_alloc_quant_table jAlcQTable
846 #define jpeg_alloc_huff_table jAlcHTable
847 #define jpeg_start_compress jStrtCompress
848 #define jpeg_write_scanlines jWrtScanlines
849 #define jpeg_finish_compress jFinCompress
850 #define jpeg_write_raw_data jWrtRawData
851 #define jpeg_write_marker jWrtMarker
852 #define jpeg_write_m_header jWrtMHeader
853 #define jpeg_write_m_byte jWrtMByte
854 #define jpeg_write_tables jWrtTables
855 #define jpeg_read_header jReadHeader
856 #define jpeg_start_decompress jStrtDecompress
857 #define jpeg_read_scanlines jReadScanlines
858 #define jpeg_finish_decompress jFinDecompress
859 #define jpeg_read_raw_data jReadRawData
860 #define jpeg_has_multiple_scans jHasMultScn
861 #define jpeg_start_output jStrtOutput
862 #define jpeg_finish_output jFinOutput
863 #define jpeg_input_complete jInComplete
864 #define jpeg_new_colormap jNewCMap
865 #define jpeg_consume_input jConsumeInput
866 #define jpeg_calc_output_dimensions jCalcDimensions
867 #define jpeg_save_markers jSaveMarkers
868 #define jpeg_set_marker_processor jSetMarker
869 #define jpeg_read_coefficients jReadCoefs
870 #define jpeg_write_coefficients jWrtCoefs
871 #define jpeg_copy_critical_parameters jCopyCrit
872 #define jpeg_abort_compress jAbrtCompress
873 #define jpeg_abort_decompress jAbrtDecompress
874 #define jpeg_abort jAbort
875 #define jpeg_destroy jDestroy
876 #define jpeg_resync_to_restart jResyncRestart
891 #define jpeg_create_compress(cinfo) \
892 jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, \
893 (size_t) sizeof(struct jpeg_compress_struct))
894 #define jpeg_create_decompress(cinfo) \
895 jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, \
896 (size_t) sizeof(struct jpeg_decompress_struct))
962 #define JPEG_SUSPENDED 0
963 #define JPEG_HEADER_OK 1
964 #define JPEG_HEADER_TABLES_ONLY 2
993 #define JPEG_REACHED_SOS 1
994 #define JPEG_REACHED_EOI 2
995 #define JPEG_ROW_COMPLETED 3
996 #define JPEG_SCAN_COMPLETED 4
1042 #define JPEG_RST0 0xD0
1043 #define JPEG_EOI 0xD9
1044 #define JPEG_APP0 0xE0
1045 #define JPEG_COM 0xFE
1053 #ifdef INCOMPLETE_TYPES_BROKEN
1054 #ifndef JPEG_INTERNALS
1088 #ifdef JPEG_INTERNALS
term_source(j_decompress_ptr cinfo)
term_destination(j_compress_ptr cinfo)
fill_input_buffer(j_decompress_ptr cinfo)
init_destination(j_compress_ptr cinfo)
empty_output_buffer(j_compress_ptr cinfo)
init_source(j_decompress_ptr cinfo)
skip_input_data(j_decompress_ptr cinfo, long num_bytes)
jpeg_stdio_src(j_decompress_ptr cinfo, CStream *in)
jpeg_stdio_dest(j_compress_ptr cinfo, CStream *out)
GLsizei GLsizei GLenum GLenum const GLvoid * data
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_alloc_quant_table(j_common_ptr cinfo)
jpeg_abort(j_common_ptr cinfo)
jpeg_destroy(j_common_ptr cinfo)
jpeg_alloc_huff_table(j_common_ptr cinfo)
jpeg_set_colorspace(j_compress_ptr cinfo, J_COLOR_SPACE colorspace)
jpeg_set_quality(j_compress_ptr cinfo, int quality, boolean force_baseline)
jpeg_simple_progression(j_compress_ptr cinfo)
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_write_coefficients(j_compress_ptr cinfo, jvirt_barray_ptr *coef_arrays)
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_finish_output(j_decompress_ptr cinfo)
jpeg_read_raw_data(j_decompress_ptr cinfo, JSAMPIMAGE data, JDIMENSION max_lines)
jpeg_start_output(j_decompress_ptr cinfo, int scan_number)
jpeg_start_decompress(j_decompress_ptr cinfo)
jpeg_resync_to_restart(j_decompress_ptr cinfo, int desired)
jpeg_save_markers(j_decompress_ptr cinfo, int marker_code, unsigned int length_limit)
jpeg_set_marker_processor(j_decompress_ptr cinfo, int marker_code, jpeg_marker_parser_method routine)
jpeg_calc_output_dimensions(j_decompress_ptr cinfo)
jpeg_new_colormap(j_decompress_ptr cinfo)
jpeg_read_coefficients(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)
error_exit(j_common_ptr cinfo)
output_message(j_common_ptr cinfo)
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)
int JSAMPARRAY int int num_rows
struct jpeg_decompress_struct * j_decompress_ptr
struct jpeg_common_struct * j_common_ptr
typedef JMETHOD(boolean, jpeg_marker_parser_method,(j_decompress_ptr cinfo))
struct jpeg_marker_struct FAR * jpeg_saved_marker_ptr
int const JOCTET unsigned int datalen
#define C_MAX_BLOCKS_IN_MCU
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
JSAMPARRAY JDIMENSION num_lines
struct jvirt_sarray_control * jvirt_sarray_ptr
#define JMSG_STR_PARM_MAX
int const JOCTET * dataptr
#define MAX_COMPS_IN_SCAN
struct jpeg_compress_struct * j_compress_ptr
jvirt_barray_ptr * coef_arrays
EXTERN(struct jpeg_error_mgr *) jpeg_std_error JPP((struct jpeg_error_mgr *err))
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
boolean write_Adobe_marker
jpeg_component_info * comp_info
struct jpeg_comp_master * master
const jpeg_scan_info * scan_info
unsigned int restart_interval
struct jpeg_downsampler * downsample
struct jpeg_c_prep_controller * prep
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]
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]
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
JDIMENSION output_iMCU_row
JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]
boolean enable_2pass_quant
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))
union jpeg_error_mgr::@79 msg_parm
JMETHOD(void, format_message,(j_common_ptr cinfo, char *buffer))
JMETHOD(void, emit_message,(j_common_ptr cinfo, int msg_level))
JMETHOD(void, output_message,(j_common_ptr cinfo))
JMETHOD(void, reset_error_mgr,(j_common_ptr cinfo))
JMETHOD(void, error_exit,(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))