Cross Reference: jpegint.h
xref
: /
openjdk7
/
jdk
/
src
/
share
/
native
/
sun
/
awt
/
image
/
jpeg
/
jpegint.h
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
0
N/A
/*
0
N/A
* reserved comment block
0
N/A
* DO NOT REMOVE OR ALTER!
0
N/A
*/
0
N/A
/*
0
N/A
*
jpegint.h
0
N/A
*
0
N/A
* Copyright (C) 1991-1997, Thomas G. Lane.
0
N/A
* This file is part of the Independent JPEG Group's software.
0
N/A
* For conditions of distribution and use, see the accompanying README file.
0
N/A
*
0
N/A
* This file provides common declarations for the various JPEG modules.
0
N/A
* These declarations are considered internal to the JPEG library; most
0
N/A
* applications using the library shouldn't need to include this file.
0
N/A
*/
0
N/A
0
N/A
0
N/A
/* Declarations for both compression & decompression */
0
N/A
0
N/A
typedef
enum
{
/* Operating modes for buffer controllers */
0
N/A
JBUF_PASS_THRU
,
/* Plain stripwise operation */
0
N/A
/* Remaining modes require a full-image buffer to have been created */
0
N/A
JBUF_SAVE_SOURCE
,
/* Run source subobject only, save output */
0
N/A
JBUF_CRANK_DEST
,
/* Run dest subobject only, using saved data */
0
N/A
JBUF_SAVE_AND_PASS
/* Run both subobjects, save output */
0
N/A
}
J_BUF_MODE
;
0
N/A
0
N/A
/* Values of global_state field (
jdapi.c
has some dependencies on ordering!) */
0
N/A
#
define
CSTATE_START
100
/* after create_compress */
0
N/A
#
define
CSTATE_SCANNING
101
/* start_compress done, write_scanlines OK */
0
N/A
#
define
CSTATE_RAW_OK
102
/* start_compress done, write_raw_data OK */
0
N/A
#
define
CSTATE_WRCOEFS
103
/* jpeg_write_coefficients done */
0
N/A
#
define
DSTATE_START
200
/* after create_decompress */
0
N/A
#
define
DSTATE_INHEADER
201
/* reading header markers, no SOS yet */
0
N/A
#
define
DSTATE_READY
202
/* found SOS, ready for start_decompress */
0
N/A
#
define
DSTATE_PRELOAD
203
/* reading multiscan file in start_decompress*/
0
N/A
#
define
DSTATE_PRESCAN
204
/* performing dummy pass for 2-pass quant */
0
N/A
#
define
DSTATE_SCANNING
205
/* start_decompress done, read_scanlines OK */
0
N/A
#
define
DSTATE_RAW_OK
206
/* start_decompress done, read_raw_data OK */
0
N/A
#
define
DSTATE_BUFIMAGE
207
/* expecting jpeg_start_output */
0
N/A
#
define
DSTATE_BUFPOST
208
/* looking for
SOS
/
EOI
in jpeg_finish_output */
0
N/A
#
define
DSTATE_RDCOEFS
209
/* reading file in jpeg_read_coefficients */
0
N/A
#
define
DSTATE_STOPPING
210
/* looking for EOI in jpeg_finish_decompress */
0
N/A
0
N/A
0
N/A
/* Declarations for compression modules */
0
N/A
0
N/A
/* Master control module */
0
N/A
struct
jpeg_comp_master
{
0
N/A
JMETHOD
(
void
,
prepare_for_pass
, (
j_compress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
pass_startup
, (
j_compress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
finish_pass
, (
j_compress_ptr
cinfo
));
0
N/A
0
N/A
/* State variables made visible to other modules */
0
N/A
boolean
call_pass_startup
;
/* True if pass_startup must be called */
0
N/A
boolean
is_last_pass
;
/* True during last pass */
0
N/A
};
0
N/A
0
N/A
/* Main buffer control (downsampled-data buffer) */
0
N/A
struct
jpeg_c_main_controller
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_compress_ptr
cinfo
,
J_BUF_MODE
pass_mode
));
0
N/A
JMETHOD
(
void
,
process_data
, (
j_compress_ptr
cinfo
,
0
N/A
JSAMPARRAY
input_buf
,
JDIMENSION
*
in_row_ctr
,
0
N/A
JDIMENSION
in_rows_avail
));
0
N/A
};
0
N/A
0
N/A
/* Compression preprocessing (downsampling input buffer control) */
0
N/A
struct
jpeg_c_prep_controller
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_compress_ptr
cinfo
,
J_BUF_MODE
pass_mode
));
0
N/A
JMETHOD
(
void
,
pre_process_data
, (
j_compress_ptr
cinfo
,
0
N/A
JSAMPARRAY
input_buf
,
0
N/A
JDIMENSION
*
in_row_ctr
,
0
N/A
JDIMENSION
in_rows_avail
,
0
N/A
JSAMPIMAGE
output_buf
,
0
N/A
JDIMENSION
*
out_row_group_ctr
,
0
N/A
JDIMENSION
out_row_groups_avail
));
0
N/A
};
0
N/A
0
N/A
/* Coefficient buffer control */
0
N/A
struct
jpeg_c_coef_controller
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_compress_ptr
cinfo
,
J_BUF_MODE
pass_mode
));
0
N/A
JMETHOD
(
boolean
,
compress_data
, (
j_compress_ptr
cinfo
,
0
N/A
JSAMPIMAGE
input_buf
));
0
N/A
};
0
N/A
0
N/A
/* Colorspace conversion */
0
N/A
struct
jpeg_color_converter
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_compress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
color_convert
, (
j_compress_ptr
cinfo
,
0
N/A
JSAMPARRAY
input_buf
,
JSAMPIMAGE
output_buf
,
0
N/A
JDIMENSION
output_row
,
int
num_rows
));
0
N/A
};
0
N/A
0
N/A
/* Downsampling */
0
N/A
struct
jpeg_downsampler
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_compress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
downsample
, (
j_compress_ptr
cinfo
,
0
N/A
JSAMPIMAGE
input_buf
,
JDIMENSION
in_row_index
,
0
N/A
JSAMPIMAGE
output_buf
,
0
N/A
JDIMENSION
out_row_group_index
));
0
N/A
0
N/A
boolean
need_context_rows
;
/* TRUE if need rows above & below */
0
N/A
};
0
N/A
0
N/A
/* Forward DCT (also controls coefficient quantization) */
0
N/A
struct
jpeg_forward_dct
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_compress_ptr
cinfo
));
0
N/A
/* perhaps this should be an array??? */
0
N/A
JMETHOD
(
void
,
forward_DCT
, (
j_compress_ptr
cinfo
,
0
N/A
jpeg_component_info
*
compptr
,
0
N/A
JSAMPARRAY
sample_data
,
JBLOCKROW
coef_blocks
,
0
N/A
JDIMENSION
start_row
,
JDIMENSION
start_col
,
0
N/A
JDIMENSION
num_blocks
));
0
N/A
};
0
N/A
0
N/A
/* Entropy encoding */
0
N/A
struct
jpeg_entropy_encoder
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_compress_ptr
cinfo
,
boolean
gather_statistics
));
0
N/A
JMETHOD
(
boolean
,
encode_mcu
, (
j_compress_ptr
cinfo
,
JBLOCKROW
*
MCU_data
));
0
N/A
JMETHOD
(
void
,
finish_pass
, (
j_compress_ptr
cinfo
));
0
N/A
};
0
N/A
0
N/A
/* Marker writing */
0
N/A
struct
jpeg_marker_writer
{
0
N/A
JMETHOD
(
void
,
write_file_header
, (
j_compress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
write_frame_header
, (
j_compress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
write_scan_header
, (
j_compress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
write_file_trailer
, (
j_compress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
write_tables_only
, (
j_compress_ptr
cinfo
));
0
N/A
/* These routines are exported to allow insertion of extra markers */
0
N/A
/* Probably only COM and APPn markers should be written this way */
0
N/A
JMETHOD
(
void
,
write_marker_header
, (
j_compress_ptr
cinfo
,
int
marker
,
0
N/A
unsigned
int
datalen
));
0
N/A
JMETHOD
(
void
,
write_marker_byte
, (
j_compress_ptr
cinfo
,
int
val
));
0
N/A
};
0
N/A
0
N/A
0
N/A
/* Declarations for decompression modules */
0
N/A
0
N/A
/* Master control module */
0
N/A
struct
jpeg_decomp_master
{
0
N/A
JMETHOD
(
void
,
prepare_for_output_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
finish_output_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
0
N/A
/* State variables made visible to other modules */
0
N/A
boolean
is_dummy_pass
;
/* True during 1st pass for 2-pass quant */
0
N/A
};
0
N/A
0
N/A
/* Input control module */
0
N/A
struct
jpeg_input_controller
{
0
N/A
JMETHOD
(
int
,
consume_input
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
reset_input_controller
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
start_input_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
finish_input_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
0
N/A
/* State variables made visible to other modules */
0
N/A
boolean
has_multiple_scans
;
/* True if file has multiple scans */
0
N/A
boolean
eoi_reached
;
/* True when EOI has been consumed */
0
N/A
};
0
N/A
0
N/A
/* Main buffer control (downsampled-data buffer) */
0
N/A
struct
jpeg_d_main_controller
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_decompress_ptr
cinfo
,
J_BUF_MODE
pass_mode
));
0
N/A
JMETHOD
(
void
,
process_data
, (
j_decompress_ptr
cinfo
,
0
N/A
JSAMPARRAY
output_buf
,
JDIMENSION
*
out_row_ctr
,
0
N/A
JDIMENSION
out_rows_avail
));
0
N/A
};
0
N/A
0
N/A
/* Coefficient buffer control */
0
N/A
struct
jpeg_d_coef_controller
{
0
N/A
JMETHOD
(
void
,
start_input_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
int
,
consume_data
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
start_output_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
int
,
decompress_data
, (
j_decompress_ptr
cinfo
,
0
N/A
JSAMPIMAGE
output_buf
));
0
N/A
/* Pointer to array of coefficient virtual arrays, or NULL if none */
0
N/A
jvirt_barray_ptr
*
coef_arrays
;
0
N/A
};
0
N/A
0
N/A
/* Decompression postprocessing (color quantization buffer control) */
0
N/A
struct
jpeg_d_post_controller
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_decompress_ptr
cinfo
,
J_BUF_MODE
pass_mode
));
0
N/A
JMETHOD
(
void
,
post_process_data
, (
j_decompress_ptr
cinfo
,
0
N/A
JSAMPIMAGE
input_buf
,
0
N/A
JDIMENSION
*
in_row_group_ctr
,
0
N/A
JDIMENSION
in_row_groups_avail
,
0
N/A
JSAMPARRAY
output_buf
,
0
N/A
JDIMENSION
*
out_row_ctr
,
0
N/A
JDIMENSION
out_rows_avail
));
0
N/A
};
0
N/A
0
N/A
/* Marker reading & parsing */
0
N/A
struct
jpeg_marker_reader
{
0
N/A
JMETHOD
(
void
,
reset_marker_reader
, (
j_decompress_ptr
cinfo
));
0
N/A
/* Read markers until SOS or EOI.
0
N/A
* Returns same codes as are defined for jpeg_consume_input:
0
N/A
* JPEG_SUSPENDED, JPEG_REACHED_SOS, or JPEG_REACHED_EOI.
0
N/A
*/
0
N/A
JMETHOD
(
int
,
read_markers
, (
j_decompress_ptr
cinfo
));
0
N/A
/* Read a restart marker --- exported for use by entropy decoder only */
0
N/A
jpeg_marker_parser_method
read_restart_marker
;
0
N/A
0
N/A
/* State of marker reader --- nominally internal, but applications
0
N/A
* supplying COM or APPn handlers might like to know the state.
0
N/A
*/
0
N/A
boolean
saw_SOI
;
/* found SOI? */
0
N/A
boolean
saw_SOF
;
/* found SOF? */
0
N/A
int
next_restart_num
;
/* next restart number expected (0-7) */
0
N/A
unsigned
int
discarded_bytes
;
/* # of bytes skipped looking for a marker */
0
N/A
};
0
N/A
0
N/A
/* Entropy decoding */
0
N/A
struct
jpeg_entropy_decoder
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
boolean
,
decode_mcu
, (
j_decompress_ptr
cinfo
,
0
N/A
JBLOCKROW
*
MCU_data
));
0
N/A
0
N/A
/* This is here to share code between baseline and progressive decoders; */
0
N/A
/* other modules probably should not use it */
0
N/A
boolean
insufficient_data
;
/* set TRUE after emitting warning */
0
N/A
};
0
N/A
0
N/A
/* Inverse DCT (also performs dequantization) */
0
N/A
typedef
JMETHOD
(
void
,
inverse_DCT_method_ptr
,
0
N/A
(
j_decompress_ptr
cinfo
,
jpeg_component_info
*
compptr
,
0
N/A
JCOEFPTR
coef_block
,
0
N/A
JSAMPARRAY
output_buf
,
JDIMENSION
output_col
));
0
N/A
0
N/A
struct
jpeg_inverse_dct
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
/* It is useful to allow each component to have a separate IDCT method. */
0
N/A
inverse_DCT_method_ptr
inverse_DCT
[
MAX_COMPONENTS
];
0
N/A
};
0
N/A
0
N/A
/* Upsampling (note that upsampler must also call color converter) */
0
N/A
struct
jpeg_upsampler
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
upsample
, (
j_decompress_ptr
cinfo
,
0
N/A
JSAMPIMAGE
input_buf
,
0
N/A
JDIMENSION
*
in_row_group_ctr
,
0
N/A
JDIMENSION
in_row_groups_avail
,
0
N/A
JSAMPARRAY
output_buf
,
0
N/A
JDIMENSION
*
out_row_ctr
,
0
N/A
JDIMENSION
out_rows_avail
));
0
N/A
0
N/A
boolean
need_context_rows
;
/* TRUE if need rows above & below */
0
N/A
};
0
N/A
0
N/A
/* Colorspace conversion */
0
N/A
struct
jpeg_color_deconverter
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
color_convert
, (
j_decompress_ptr
cinfo
,
0
N/A
JSAMPIMAGE
input_buf
,
JDIMENSION
input_row
,
0
N/A
JSAMPARRAY
output_buf
,
int
num_rows
));
0
N/A
};
0
N/A
0
N/A
/* Color quantization or color precision reduction */
0
N/A
struct
jpeg_color_quantizer
{
0
N/A
JMETHOD
(
void
,
start_pass
, (
j_decompress_ptr
cinfo
,
boolean
is_pre_scan
));
0
N/A
JMETHOD
(
void
,
color_quantize
, (
j_decompress_ptr
cinfo
,
0
N/A
JSAMPARRAY
input_buf
,
JSAMPARRAY
output_buf
,
0
N/A
int
num_rows
));
0
N/A
JMETHOD
(
void
,
finish_pass
, (
j_decompress_ptr
cinfo
));
0
N/A
JMETHOD
(
void
,
new_color_map
, (
j_decompress_ptr
cinfo
));
0
N/A
};
0
N/A
0
N/A
0
N/A
/* Miscellaneous useful macros */
0
N/A
0
N/A
#
undef
MAX
0
N/A
#
define
MAX
(a,b) ((a) > (b) ? (a) : (b))
0
N/A
#
undef
MIN
0
N/A
#
define
MIN
(a,b) ((a) < (b) ? (a) : (b))
0
N/A
0
N/A
0
N/A
/* We assume that right shift corresponds to signed division by 2 with
0
N/A
* rounding towards minus infinity. This is correct for typical "arithmetic
0
N/A
* shift" instructions that shift in copies of the sign bit. But some
0
N/A
* C compilers implement >> with an unsigned shift. For these machines you
0
N/A
* must define RIGHT_SHIFT_IS_UNSIGNED.
0
N/A
* RIGHT_SHIFT provides a proper signed right shift of an INT32 quantity.
0
N/A
* It is only applied with constant shift counts. SHIFT_TEMPS must be
0
N/A
* included in the variables of any routine using RIGHT_SHIFT.
0
N/A
*/
0
N/A
0
N/A
#
ifdef
RIGHT_SHIFT_IS_UNSIGNED
0
N/A
#
define
SHIFT_TEMPS
INT32
shift_temp
;
0
N/A
#
define
RIGHT_SHIFT
(x,
shft
) \
0
N/A
((
shift_temp
= (x)) < 0 ? \
0
N/A
(
shift_temp
>> (
shft
)) | ((~((
INT32
) 0)) << (
32
-(
shft
))) : \
0
N/A
(
shift_temp
>> (
shft
)))
0
N/A
#
else
0
N/A
#
define
SHIFT_TEMPS
0
N/A
#
define
RIGHT_SHIFT
(x,
shft
) ((x) >> (
shft
))
0
N/A
#
endif
0
N/A
0
N/A
0
N/A
/* Short forms of external names for systems with brain-damaged linkers. */
0
N/A
0
N/A
#
ifdef
NEED_SHORT_EXTERNAL_NAMES
0
N/A
#
define
jinit_compress_master
jICompress
0
N/A
#
define
jinit_c_master_control
jICMaster
0
N/A
#
define
jinit_c_main_controller
jICMainC
0
N/A
#
define
jinit_c_prep_controller
jICPrepC
0
N/A
#
define
jinit_c_coef_controller
jICCoefC
0
N/A
#
define
jinit_color_converter
jICColor
0
N/A
#
define
jinit_downsampler
jIDownsampler
0
N/A
#
define
jinit_forward_dct
jIFDCT
0
N/A
#
define
jinit_huff_encoder
jIHEncoder
0
N/A
#
define
jinit_phuff_encoder
jIPHEncoder
0
N/A
#
define
jinit_marker_writer
jIMWriter
0
N/A
#
define
jinit_master_decompress
jIDMaster
0
N/A
#
define
jinit_d_main_controller
jIDMainC
0
N/A
#
define
jinit_d_coef_controller
jIDCoefC
0
N/A
#
define
jinit_d_post_controller
jIDPostC
0
N/A
#
define
jinit_input_controller
jIInCtlr
0
N/A
#
define
jinit_marker_reader
jIMReader
0
N/A
#
define
jinit_huff_decoder
jIHDecoder
0
N/A
#
define
jinit_phuff_decoder
jIPHDecoder
0
N/A
#
define
jinit_inverse_dct
jIIDCT
0
N/A
#
define
jinit_upsampler
jIUpsampler
0
N/A
#
define
jinit_color_deconverter
jIDColor
0
N/A
#
define
jinit_1pass_quantizer
jI1Quant
0
N/A
#
define
jinit_2pass_quantizer
jI2Quant
0
N/A
#
define
jinit_merged_upsampler
jIMUpsampler
0
N/A
#
define
jinit_memory_mgr
jIMemMgr
0
N/A
#
define
jdiv_round_up
jDivRound
0
N/A
#
define
jround_up
jRound
0
N/A
#
define
jcopy_sample_rows
jCopySamples
0
N/A
#
define
jcopy_block_row
jCopyBlocks
0
N/A
#
define
jzero_far
jZeroFar
0
N/A
#
define
jpeg_zigzag_order
jZIGTable
0
N/A
#
define
jpeg_natural_order
jZAGTable
0
N/A
#
endif
/* NEED_SHORT_EXTERNAL_NAMES */
0
N/A
0
N/A
0
N/A
/* Compression module initialization routines */
0
N/A
EXTERN
(
void
)
jinit_compress_master
JPP
((
j_compress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_c_master_control
JPP
((
j_compress_ptr
cinfo
,
0
N/A
boolean
transcode_only
));
0
N/A
EXTERN
(
void
)
jinit_c_main_controller
JPP
((
j_compress_ptr
cinfo
,
0
N/A
boolean
need_full_buffer
));
0
N/A
EXTERN
(
void
)
jinit_c_prep_controller
JPP
((
j_compress_ptr
cinfo
,
0
N/A
boolean
need_full_buffer
));
0
N/A
EXTERN
(
void
)
jinit_c_coef_controller
JPP
((
j_compress_ptr
cinfo
,
0
N/A
boolean
need_full_buffer
));
0
N/A
EXTERN
(
void
)
jinit_color_converter
JPP
((
j_compress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_downsampler
JPP
((
j_compress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_forward_dct
JPP
((
j_compress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_huff_encoder
JPP
((
j_compress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_phuff_encoder
JPP
((
j_compress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_marker_writer
JPP
((
j_compress_ptr
cinfo
));
0
N/A
/* Decompression module initialization routines */
0
N/A
EXTERN
(
void
)
jinit_master_decompress
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_d_main_controller
JPP
((
j_decompress_ptr
cinfo
,
0
N/A
boolean
need_full_buffer
));
0
N/A
EXTERN
(
void
)
jinit_d_coef_controller
JPP
((
j_decompress_ptr
cinfo
,
0
N/A
boolean
need_full_buffer
));
0
N/A
EXTERN
(
void
)
jinit_d_post_controller
JPP
((
j_decompress_ptr
cinfo
,
0
N/A
boolean
need_full_buffer
));
0
N/A
EXTERN
(
void
)
jinit_input_controller
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_marker_reader
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_huff_decoder
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_phuff_decoder
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_inverse_dct
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_upsampler
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_color_deconverter
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_1pass_quantizer
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_2pass_quantizer
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
EXTERN
(
void
)
jinit_merged_upsampler
JPP
((
j_decompress_ptr
cinfo
));
0
N/A
/* Memory manager initialization */
0
N/A
EXTERN
(
void
)
jinit_memory_mgr
JPP
((
j_common_ptr
cinfo
));
0
N/A
0
N/A
/* Utility routines in
jutils.c
*/
0
N/A
EXTERN
(
long
)
jdiv_round_up
JPP
((
long
a,
long
b));
0
N/A
EXTERN
(
long
)
jround_up
JPP
((
long
a,
long
b));
0
N/A
EXTERN
(
void
)
jcopy_sample_rows
JPP
((
JSAMPARRAY
input_array
,
int
source_row
,
0
N/A
JSAMPARRAY
output_array
,
int
dest_row
,
0
N/A
int
num_rows
,
JDIMENSION
num_cols
));
0
N/A
EXTERN
(
void
)
jcopy_block_row
JPP
((
JBLOCKROW
input_row
,
JBLOCKROW
output_row
,
0
N/A
JDIMENSION
num_blocks
));
0
N/A
EXTERN
(
void
)
jzero_far
JPP
((
void
FAR
*
target
,
size_t
bytestozero
));
0
N/A
/* Constant tables in
jutils.c
*/
0
N/A
#
if
0
/* This table is not actually needed in v6a */
0
N/A
extern
const
int
jpeg_zigzag_order
[];
/* natural coef order to zigzag order */
0
N/A
#
endif
0
N/A
extern
const
int
jpeg_natural_order
[];
/* zigzag coef order to natural order */
0
N/A
0
N/A
/* Suppress undefined-structure complaints if necessary. */
0
N/A
0
N/A
#
ifdef
INCOMPLETE_TYPES_BROKEN
0
N/A
#
ifndef
AM_MEMORY_MANAGER
/* only
jmemmgr.c
defines these */
0
N/A
struct
jvirt_sarray_control
{
long
dummy
; };
0
N/A
struct
jvirt_barray_control
{
long
dummy
; };
0
N/A
#
endif
0
N/A
#
endif
/* INCOMPLETE_TYPES_BROKEN */