00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef JLOSSY_H
00013 #define JLOSSY_H
00014
00015
00016
00017 typedef struct {
00018 struct jpeg_c_codec pub;
00019
00020
00021
00022 JMETHOD(void, coef_start_pass, (j_compress_ptr cinfo, J_BUF_MODE pass_mode));
00023
00024
00025
00026
00027 void *coef_private;
00028
00029
00030
00031 JMETHOD(void, fdct_start_pass, (j_compress_ptr cinfo));
00032
00033 JMETHOD(void, fdct_forward_DCT, (j_compress_ptr cinfo,
00034 jpeg_component_info * compptr,
00035 JSAMPARRAY sample_data, JBLOCKROW coef_blocks,
00036 JDIMENSION start_row, JDIMENSION start_col,
00037 JDIMENSION num_blocks));
00038
00039
00040 void *fdct_private;
00041
00042
00043
00044 JMETHOD(boolean, entropy_encode_mcu, (j_compress_ptr cinfo,
00045 JBLOCKROW *MCU_data));
00046
00047
00048 void *entropy_private;
00049
00050 } jpeg_lossy_c_codec;
00051
00052 typedef jpeg_lossy_c_codec * j_lossy_c_ptr;
00053
00054
00055
00056 typedef JMETHOD(void, inverse_DCT_method_ptr,
00057 (j_decompress_ptr cinfo, jpeg_component_info * compptr,
00058 JCOEFPTR coef_block,
00059 JSAMPARRAY output_buf, JDIMENSION output_col));
00060
00061
00062 typedef struct {
00063 struct jpeg_d_codec pub;
00064
00065
00066
00067 JMETHOD(void, coef_start_input_pass, (j_decompress_ptr cinfo));
00068 JMETHOD(void, coef_start_output_pass, (j_decompress_ptr cinfo));
00069
00070
00071 jvirt_barray_ptr *coef_arrays;
00072
00073
00074 void *coef_private;
00075
00076
00077
00078 JMETHOD(void, entropy_start_pass, (j_decompress_ptr cinfo));
00079 JMETHOD(boolean, entropy_decode_mcu, (j_decompress_ptr cinfo,
00080 JBLOCKROW *MCU_data));
00081
00082
00083
00084 boolean entropy_insufficient_data;
00085
00086
00087 void *entropy_private;
00088
00089
00090
00091 JMETHOD(void, idct_start_pass, (j_decompress_ptr cinfo));
00092
00093
00094 inverse_DCT_method_ptr inverse_DCT[MAX_COMPONENTS];
00095
00096
00097 void *idct_private;
00098
00099 } jpeg_lossy_d_codec;
00100
00101 typedef jpeg_lossy_d_codec * j_lossy_d_ptr;
00102
00103
00104
00105 EXTERN(void) jinit_lossy_c_codec JPP((j_compress_ptr cinfo));
00106 EXTERN(void) jinit_c_coef_controller JPP((j_compress_ptr cinfo,
00107 boolean need_full_buffer));
00108 EXTERN(void) jinit_forward_dct JPP((j_compress_ptr cinfo));
00109 EXTERN(void) jinit_shuff_encoder JPP((j_compress_ptr cinfo));
00110 EXTERN(void) jinit_phuff_encoder JPP((j_compress_ptr cinfo));
00111
00112
00113 EXTERN(void) jinit_lossy_d_codec JPP((j_decompress_ptr cinfo));
00114 EXTERN(void) jinit_d_coef_controller JPP((j_decompress_ptr cinfo,
00115 boolean need_full_buffer));
00116 EXTERN(void) jinit_shuff_decoder JPP((j_decompress_ptr cinfo));
00117 EXTERN(void) jinit_phuff_decoder JPP((j_decompress_ptr cinfo));
00118 EXTERN(void) jinit_inverse_dct JPP((j_decompress_ptr cinfo));
00119
00120 #endif