Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ExeBy/smexe_ro.../usr/include
File: jpegint.h
/*
[0] Fix | Delete
* jpegint.h
[1] Fix | Delete
*
[2] Fix | Delete
* This file was part of the Independent JPEG Group's software:
[3] Fix | Delete
* Copyright (C) 1991-1997, Thomas G. Lane.
[4] Fix | Delete
* Modified 1997-2009 by Guido Vollbeding.
[5] Fix | Delete
* libjpeg-turbo Modifications:
[6] Fix | Delete
* Copyright (C) 2015-2016, D. R. Commander.
[7] Fix | Delete
* Copyright (C) 2015, Google, Inc.
[8] Fix | Delete
* For conditions of distribution and use, see the accompanying README.ijg
[9] Fix | Delete
* file.
[10] Fix | Delete
*
[11] Fix | Delete
* This file provides common declarations for the various JPEG modules.
[12] Fix | Delete
* These declarations are considered internal to the JPEG library; most
[13] Fix | Delete
* applications using the library shouldn't need to include this file.
[14] Fix | Delete
*/
[15] Fix | Delete
[16] Fix | Delete
[17] Fix | Delete
/* Declarations for both compression & decompression */
[18] Fix | Delete
[19] Fix | Delete
typedef enum { /* Operating modes for buffer controllers */
[20] Fix | Delete
JBUF_PASS_THRU, /* Plain stripwise operation */
[21] Fix | Delete
/* Remaining modes require a full-image buffer to have been created */
[22] Fix | Delete
JBUF_SAVE_SOURCE, /* Run source subobject only, save output */
[23] Fix | Delete
JBUF_CRANK_DEST, /* Run dest subobject only, using saved data */
[24] Fix | Delete
JBUF_SAVE_AND_PASS /* Run both subobjects, save output */
[25] Fix | Delete
} J_BUF_MODE;
[26] Fix | Delete
[27] Fix | Delete
/* Values of global_state field (jdapi.c has some dependencies on ordering!) */
[28] Fix | Delete
#define CSTATE_START 100 /* after create_compress */
[29] Fix | Delete
#define CSTATE_SCANNING 101 /* start_compress done, write_scanlines OK */
[30] Fix | Delete
#define CSTATE_RAW_OK 102 /* start_compress done, write_raw_data OK */
[31] Fix | Delete
#define CSTATE_WRCOEFS 103 /* jpeg_write_coefficients done */
[32] Fix | Delete
#define DSTATE_START 200 /* after create_decompress */
[33] Fix | Delete
#define DSTATE_INHEADER 201 /* reading header markers, no SOS yet */
[34] Fix | Delete
#define DSTATE_READY 202 /* found SOS, ready for start_decompress */
[35] Fix | Delete
#define DSTATE_PRELOAD 203 /* reading multiscan file in start_decompress*/
[36] Fix | Delete
#define DSTATE_PRESCAN 204 /* performing dummy pass for 2-pass quant */
[37] Fix | Delete
#define DSTATE_SCANNING 205 /* start_decompress done, read_scanlines OK */
[38] Fix | Delete
#define DSTATE_RAW_OK 206 /* start_decompress done, read_raw_data OK */
[39] Fix | Delete
#define DSTATE_BUFIMAGE 207 /* expecting jpeg_start_output */
[40] Fix | Delete
#define DSTATE_BUFPOST 208 /* looking for SOS/EOI in jpeg_finish_output */
[41] Fix | Delete
#define DSTATE_RDCOEFS 209 /* reading file in jpeg_read_coefficients */
[42] Fix | Delete
#define DSTATE_STOPPING 210 /* looking for EOI in jpeg_finish_decompress */
[43] Fix | Delete
[44] Fix | Delete
[45] Fix | Delete
/* JLONG must hold at least signed 32-bit values. */
[46] Fix | Delete
typedef long JLONG;
[47] Fix | Delete
[48] Fix | Delete
[49] Fix | Delete
/*
[50] Fix | Delete
* Left shift macro that handles a negative operand without causing any
[51] Fix | Delete
* sanitizer warnings
[52] Fix | Delete
*/
[53] Fix | Delete
[54] Fix | Delete
#define LEFT_SHIFT(a, b) ((JLONG)((unsigned long)(a) << (b)))
[55] Fix | Delete
[56] Fix | Delete
[57] Fix | Delete
/* Declarations for compression modules */
[58] Fix | Delete
[59] Fix | Delete
/* Master control module */
[60] Fix | Delete
struct jpeg_comp_master {
[61] Fix | Delete
void (*prepare_for_pass) (j_compress_ptr cinfo);
[62] Fix | Delete
void (*pass_startup) (j_compress_ptr cinfo);
[63] Fix | Delete
void (*finish_pass) (j_compress_ptr cinfo);
[64] Fix | Delete
[65] Fix | Delete
/* State variables made visible to other modules */
[66] Fix | Delete
boolean call_pass_startup; /* True if pass_startup must be called */
[67] Fix | Delete
boolean is_last_pass; /* True during last pass */
[68] Fix | Delete
};
[69] Fix | Delete
[70] Fix | Delete
/* Main buffer control (downsampled-data buffer) */
[71] Fix | Delete
struct jpeg_c_main_controller {
[72] Fix | Delete
void (*start_pass) (j_compress_ptr cinfo, J_BUF_MODE pass_mode);
[73] Fix | Delete
void (*process_data) (j_compress_ptr cinfo, JSAMPARRAY input_buf,
[74] Fix | Delete
JDIMENSION *in_row_ctr, JDIMENSION in_rows_avail);
[75] Fix | Delete
};
[76] Fix | Delete
[77] Fix | Delete
/* Compression preprocessing (downsampling input buffer control) */
[78] Fix | Delete
struct jpeg_c_prep_controller {
[79] Fix | Delete
void (*start_pass) (j_compress_ptr cinfo, J_BUF_MODE pass_mode);
[80] Fix | Delete
void (*pre_process_data) (j_compress_ptr cinfo, JSAMPARRAY input_buf,
[81] Fix | Delete
JDIMENSION *in_row_ctr, JDIMENSION in_rows_avail,
[82] Fix | Delete
JSAMPIMAGE output_buf,
[83] Fix | Delete
JDIMENSION *out_row_group_ctr,
[84] Fix | Delete
JDIMENSION out_row_groups_avail);
[85] Fix | Delete
};
[86] Fix | Delete
[87] Fix | Delete
/* Coefficient buffer control */
[88] Fix | Delete
struct jpeg_c_coef_controller {
[89] Fix | Delete
void (*start_pass) (j_compress_ptr cinfo, J_BUF_MODE pass_mode);
[90] Fix | Delete
boolean (*compress_data) (j_compress_ptr cinfo, JSAMPIMAGE input_buf);
[91] Fix | Delete
};
[92] Fix | Delete
[93] Fix | Delete
/* Colorspace conversion */
[94] Fix | Delete
struct jpeg_color_converter {
[95] Fix | Delete
void (*start_pass) (j_compress_ptr cinfo);
[96] Fix | Delete
void (*color_convert) (j_compress_ptr cinfo, JSAMPARRAY input_buf,
[97] Fix | Delete
JSAMPIMAGE output_buf, JDIMENSION output_row,
[98] Fix | Delete
int num_rows);
[99] Fix | Delete
};
[100] Fix | Delete
[101] Fix | Delete
/* Downsampling */
[102] Fix | Delete
struct jpeg_downsampler {
[103] Fix | Delete
void (*start_pass) (j_compress_ptr cinfo);
[104] Fix | Delete
void (*downsample) (j_compress_ptr cinfo, JSAMPIMAGE input_buf,
[105] Fix | Delete
JDIMENSION in_row_index, JSAMPIMAGE output_buf,
[106] Fix | Delete
JDIMENSION out_row_group_index);
[107] Fix | Delete
[108] Fix | Delete
boolean need_context_rows; /* TRUE if need rows above & below */
[109] Fix | Delete
};
[110] Fix | Delete
[111] Fix | Delete
/* Forward DCT (also controls coefficient quantization) */
[112] Fix | Delete
struct jpeg_forward_dct {
[113] Fix | Delete
void (*start_pass) (j_compress_ptr cinfo);
[114] Fix | Delete
/* perhaps this should be an array??? */
[115] Fix | Delete
void (*forward_DCT) (j_compress_ptr cinfo, jpeg_component_info *compptr,
[116] Fix | Delete
JSAMPARRAY sample_data, JBLOCKROW coef_blocks,
[117] Fix | Delete
JDIMENSION start_row, JDIMENSION start_col,
[118] Fix | Delete
JDIMENSION num_blocks);
[119] Fix | Delete
};
[120] Fix | Delete
[121] Fix | Delete
/* Entropy encoding */
[122] Fix | Delete
struct jpeg_entropy_encoder {
[123] Fix | Delete
void (*start_pass) (j_compress_ptr cinfo, boolean gather_statistics);
[124] Fix | Delete
boolean (*encode_mcu) (j_compress_ptr cinfo, JBLOCKROW *MCU_data);
[125] Fix | Delete
void (*finish_pass) (j_compress_ptr cinfo);
[126] Fix | Delete
};
[127] Fix | Delete
[128] Fix | Delete
/* Marker writing */
[129] Fix | Delete
struct jpeg_marker_writer {
[130] Fix | Delete
void (*write_file_header) (j_compress_ptr cinfo);
[131] Fix | Delete
void (*write_frame_header) (j_compress_ptr cinfo);
[132] Fix | Delete
void (*write_scan_header) (j_compress_ptr cinfo);
[133] Fix | Delete
void (*write_file_trailer) (j_compress_ptr cinfo);
[134] Fix | Delete
void (*write_tables_only) (j_compress_ptr cinfo);
[135] Fix | Delete
/* These routines are exported to allow insertion of extra markers */
[136] Fix | Delete
/* Probably only COM and APPn markers should be written this way */
[137] Fix | Delete
void (*write_marker_header) (j_compress_ptr cinfo, int marker,
[138] Fix | Delete
unsigned int datalen);
[139] Fix | Delete
void (*write_marker_byte) (j_compress_ptr cinfo, int val);
[140] Fix | Delete
};
[141] Fix | Delete
[142] Fix | Delete
[143] Fix | Delete
/* Declarations for decompression modules */
[144] Fix | Delete
[145] Fix | Delete
/* Master control module */
[146] Fix | Delete
struct jpeg_decomp_master {
[147] Fix | Delete
void (*prepare_for_output_pass) (j_decompress_ptr cinfo);
[148] Fix | Delete
void (*finish_output_pass) (j_decompress_ptr cinfo);
[149] Fix | Delete
[150] Fix | Delete
/* State variables made visible to other modules */
[151] Fix | Delete
boolean is_dummy_pass; /* True during 1st pass for 2-pass quant */
[152] Fix | Delete
[153] Fix | Delete
/* Partial decompression variables */
[154] Fix | Delete
JDIMENSION first_iMCU_col;
[155] Fix | Delete
JDIMENSION last_iMCU_col;
[156] Fix | Delete
JDIMENSION first_MCU_col[MAX_COMPONENTS];
[157] Fix | Delete
JDIMENSION last_MCU_col[MAX_COMPONENTS];
[158] Fix | Delete
boolean jinit_upsampler_no_alloc;
[159] Fix | Delete
};
[160] Fix | Delete
[161] Fix | Delete
/* Input control module */
[162] Fix | Delete
struct jpeg_input_controller {
[163] Fix | Delete
int (*consume_input) (j_decompress_ptr cinfo);
[164] Fix | Delete
void (*reset_input_controller) (j_decompress_ptr cinfo);
[165] Fix | Delete
void (*start_input_pass) (j_decompress_ptr cinfo);
[166] Fix | Delete
void (*finish_input_pass) (j_decompress_ptr cinfo);
[167] Fix | Delete
[168] Fix | Delete
/* State variables made visible to other modules */
[169] Fix | Delete
boolean has_multiple_scans; /* True if file has multiple scans */
[170] Fix | Delete
boolean eoi_reached; /* True when EOI has been consumed */
[171] Fix | Delete
};
[172] Fix | Delete
[173] Fix | Delete
/* Main buffer control (downsampled-data buffer) */
[174] Fix | Delete
struct jpeg_d_main_controller {
[175] Fix | Delete
void (*start_pass) (j_decompress_ptr cinfo, J_BUF_MODE pass_mode);
[176] Fix | Delete
void (*process_data) (j_decompress_ptr cinfo, JSAMPARRAY output_buf,
[177] Fix | Delete
JDIMENSION *out_row_ctr, JDIMENSION out_rows_avail);
[178] Fix | Delete
};
[179] Fix | Delete
[180] Fix | Delete
/* Coefficient buffer control */
[181] Fix | Delete
struct jpeg_d_coef_controller {
[182] Fix | Delete
void (*start_input_pass) (j_decompress_ptr cinfo);
[183] Fix | Delete
int (*consume_data) (j_decompress_ptr cinfo);
[184] Fix | Delete
void (*start_output_pass) (j_decompress_ptr cinfo);
[185] Fix | Delete
int (*decompress_data) (j_decompress_ptr cinfo, JSAMPIMAGE output_buf);
[186] Fix | Delete
/* Pointer to array of coefficient virtual arrays, or NULL if none */
[187] Fix | Delete
jvirt_barray_ptr *coef_arrays;
[188] Fix | Delete
};
[189] Fix | Delete
[190] Fix | Delete
/* Decompression postprocessing (color quantization buffer control) */
[191] Fix | Delete
struct jpeg_d_post_controller {
[192] Fix | Delete
void (*start_pass) (j_decompress_ptr cinfo, J_BUF_MODE pass_mode);
[193] Fix | Delete
void (*post_process_data) (j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
[194] Fix | Delete
JDIMENSION *in_row_group_ctr,
[195] Fix | Delete
JDIMENSION in_row_groups_avail,
[196] Fix | Delete
JSAMPARRAY output_buf, JDIMENSION *out_row_ctr,
[197] Fix | Delete
JDIMENSION out_rows_avail);
[198] Fix | Delete
};
[199] Fix | Delete
[200] Fix | Delete
/* Marker reading & parsing */
[201] Fix | Delete
struct jpeg_marker_reader {
[202] Fix | Delete
void (*reset_marker_reader) (j_decompress_ptr cinfo);
[203] Fix | Delete
/* Read markers until SOS or EOI.
[204] Fix | Delete
* Returns same codes as are defined for jpeg_consume_input:
[205] Fix | Delete
* JPEG_SUSPENDED, JPEG_REACHED_SOS, or JPEG_REACHED_EOI.
[206] Fix | Delete
*/
[207] Fix | Delete
int (*read_markers) (j_decompress_ptr cinfo);
[208] Fix | Delete
/* Read a restart marker --- exported for use by entropy decoder only */
[209] Fix | Delete
jpeg_marker_parser_method read_restart_marker;
[210] Fix | Delete
[211] Fix | Delete
/* State of marker reader --- nominally internal, but applications
[212] Fix | Delete
* supplying COM or APPn handlers might like to know the state.
[213] Fix | Delete
*/
[214] Fix | Delete
boolean saw_SOI; /* found SOI? */
[215] Fix | Delete
boolean saw_SOF; /* found SOF? */
[216] Fix | Delete
int next_restart_num; /* next restart number expected (0-7) */
[217] Fix | Delete
unsigned int discarded_bytes; /* # of bytes skipped looking for a marker */
[218] Fix | Delete
};
[219] Fix | Delete
[220] Fix | Delete
/* Entropy decoding */
[221] Fix | Delete
struct jpeg_entropy_decoder {
[222] Fix | Delete
void (*start_pass) (j_decompress_ptr cinfo);
[223] Fix | Delete
boolean (*decode_mcu) (j_decompress_ptr cinfo, JBLOCKROW *MCU_data);
[224] Fix | Delete
[225] Fix | Delete
/* This is here to share code between baseline and progressive decoders; */
[226] Fix | Delete
/* other modules probably should not use it */
[227] Fix | Delete
boolean insufficient_data; /* set TRUE after emitting warning */
[228] Fix | Delete
};
[229] Fix | Delete
[230] Fix | Delete
/* Inverse DCT (also performs dequantization) */
[231] Fix | Delete
typedef void (*inverse_DCT_method_ptr) (j_decompress_ptr cinfo,
[232] Fix | Delete
jpeg_component_info *compptr,
[233] Fix | Delete
JCOEFPTR coef_block,
[234] Fix | Delete
JSAMPARRAY output_buf,
[235] Fix | Delete
JDIMENSION output_col);
[236] Fix | Delete
[237] Fix | Delete
struct jpeg_inverse_dct {
[238] Fix | Delete
void (*start_pass) (j_decompress_ptr cinfo);
[239] Fix | Delete
/* It is useful to allow each component to have a separate IDCT method. */
[240] Fix | Delete
inverse_DCT_method_ptr inverse_DCT[MAX_COMPONENTS];
[241] Fix | Delete
};
[242] Fix | Delete
[243] Fix | Delete
/* Upsampling (note that upsampler must also call color converter) */
[244] Fix | Delete
struct jpeg_upsampler {
[245] Fix | Delete
void (*start_pass) (j_decompress_ptr cinfo);
[246] Fix | Delete
void (*upsample) (j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
[247] Fix | Delete
JDIMENSION *in_row_group_ctr,
[248] Fix | Delete
JDIMENSION in_row_groups_avail, JSAMPARRAY output_buf,
[249] Fix | Delete
JDIMENSION *out_row_ctr, JDIMENSION out_rows_avail);
[250] Fix | Delete
[251] Fix | Delete
boolean need_context_rows; /* TRUE if need rows above & below */
[252] Fix | Delete
};
[253] Fix | Delete
[254] Fix | Delete
/* Colorspace conversion */
[255] Fix | Delete
struct jpeg_color_deconverter {
[256] Fix | Delete
void (*start_pass) (j_decompress_ptr cinfo);
[257] Fix | Delete
void (*color_convert) (j_decompress_ptr cinfo, JSAMPIMAGE input_buf,
[258] Fix | Delete
JDIMENSION input_row, JSAMPARRAY output_buf,
[259] Fix | Delete
int num_rows);
[260] Fix | Delete
};
[261] Fix | Delete
[262] Fix | Delete
/* Color quantization or color precision reduction */
[263] Fix | Delete
struct jpeg_color_quantizer {
[264] Fix | Delete
void (*start_pass) (j_decompress_ptr cinfo, boolean is_pre_scan);
[265] Fix | Delete
void (*color_quantize) (j_decompress_ptr cinfo, JSAMPARRAY input_buf,
[266] Fix | Delete
JSAMPARRAY output_buf, int num_rows);
[267] Fix | Delete
void (*finish_pass) (j_decompress_ptr cinfo);
[268] Fix | Delete
void (*new_color_map) (j_decompress_ptr cinfo);
[269] Fix | Delete
};
[270] Fix | Delete
[271] Fix | Delete
[272] Fix | Delete
/* Miscellaneous useful macros */
[273] Fix | Delete
[274] Fix | Delete
#undef MAX
[275] Fix | Delete
#define MAX(a,b) ((a) > (b) ? (a) : (b))
[276] Fix | Delete
#undef MIN
[277] Fix | Delete
#define MIN(a,b) ((a) < (b) ? (a) : (b))
[278] Fix | Delete
[279] Fix | Delete
[280] Fix | Delete
/* We assume that right shift corresponds to signed division by 2 with
[281] Fix | Delete
* rounding towards minus infinity. This is correct for typical "arithmetic
[282] Fix | Delete
* shift" instructions that shift in copies of the sign bit. But some
[283] Fix | Delete
* C compilers implement >> with an unsigned shift. For these machines you
[284] Fix | Delete
* must define RIGHT_SHIFT_IS_UNSIGNED.
[285] Fix | Delete
* RIGHT_SHIFT provides a proper signed right shift of a JLONG quantity.
[286] Fix | Delete
* It is only applied with constant shift counts. SHIFT_TEMPS must be
[287] Fix | Delete
* included in the variables of any routine using RIGHT_SHIFT.
[288] Fix | Delete
*/
[289] Fix | Delete
[290] Fix | Delete
#ifdef RIGHT_SHIFT_IS_UNSIGNED
[291] Fix | Delete
#define SHIFT_TEMPS JLONG shift_temp;
[292] Fix | Delete
#define RIGHT_SHIFT(x,shft) \
[293] Fix | Delete
((shift_temp = (x)) < 0 ? \
[294] Fix | Delete
(shift_temp >> (shft)) | ((~((JLONG) 0)) << (32-(shft))) : \
[295] Fix | Delete
(shift_temp >> (shft)))
[296] Fix | Delete
#else
[297] Fix | Delete
#define SHIFT_TEMPS
[298] Fix | Delete
#define RIGHT_SHIFT(x,shft) ((x) >> (shft))
[299] Fix | Delete
#endif
[300] Fix | Delete
[301] Fix | Delete
[302] Fix | Delete
/* Compression module initialization routines */
[303] Fix | Delete
EXTERN(void) jinit_compress_master (j_compress_ptr cinfo);
[304] Fix | Delete
EXTERN(void) jinit_c_master_control (j_compress_ptr cinfo,
[305] Fix | Delete
boolean transcode_only);
[306] Fix | Delete
EXTERN(void) jinit_c_main_controller (j_compress_ptr cinfo,
[307] Fix | Delete
boolean need_full_buffer);
[308] Fix | Delete
EXTERN(void) jinit_c_prep_controller (j_compress_ptr cinfo,
[309] Fix | Delete
boolean need_full_buffer);
[310] Fix | Delete
EXTERN(void) jinit_c_coef_controller (j_compress_ptr cinfo,
[311] Fix | Delete
boolean need_full_buffer);
[312] Fix | Delete
EXTERN(void) jinit_color_converter (j_compress_ptr cinfo);
[313] Fix | Delete
EXTERN(void) jinit_downsampler (j_compress_ptr cinfo);
[314] Fix | Delete
EXTERN(void) jinit_forward_dct (j_compress_ptr cinfo);
[315] Fix | Delete
EXTERN(void) jinit_huff_encoder (j_compress_ptr cinfo);
[316] Fix | Delete
EXTERN(void) jinit_phuff_encoder (j_compress_ptr cinfo);
[317] Fix | Delete
EXTERN(void) jinit_arith_encoder (j_compress_ptr cinfo);
[318] Fix | Delete
EXTERN(void) jinit_marker_writer (j_compress_ptr cinfo);
[319] Fix | Delete
/* Decompression module initialization routines */
[320] Fix | Delete
EXTERN(void) jinit_master_decompress (j_decompress_ptr cinfo);
[321] Fix | Delete
EXTERN(void) jinit_d_main_controller (j_decompress_ptr cinfo,
[322] Fix | Delete
boolean need_full_buffer);
[323] Fix | Delete
EXTERN(void) jinit_d_coef_controller (j_decompress_ptr cinfo,
[324] Fix | Delete
boolean need_full_buffer);
[325] Fix | Delete
EXTERN(void) jinit_d_post_controller (j_decompress_ptr cinfo,
[326] Fix | Delete
boolean need_full_buffer);
[327] Fix | Delete
EXTERN(void) jinit_input_controller (j_decompress_ptr cinfo);
[328] Fix | Delete
EXTERN(void) jinit_marker_reader (j_decompress_ptr cinfo);
[329] Fix | Delete
EXTERN(void) jinit_huff_decoder (j_decompress_ptr cinfo);
[330] Fix | Delete
EXTERN(void) jinit_phuff_decoder (j_decompress_ptr cinfo);
[331] Fix | Delete
EXTERN(void) jinit_arith_decoder (j_decompress_ptr cinfo);
[332] Fix | Delete
EXTERN(void) jinit_inverse_dct (j_decompress_ptr cinfo);
[333] Fix | Delete
EXTERN(void) jinit_upsampler (j_decompress_ptr cinfo);
[334] Fix | Delete
EXTERN(void) jinit_color_deconverter (j_decompress_ptr cinfo);
[335] Fix | Delete
EXTERN(void) jinit_1pass_quantizer (j_decompress_ptr cinfo);
[336] Fix | Delete
EXTERN(void) jinit_2pass_quantizer (j_decompress_ptr cinfo);
[337] Fix | Delete
EXTERN(void) jinit_merged_upsampler (j_decompress_ptr cinfo);
[338] Fix | Delete
/* Memory manager initialization */
[339] Fix | Delete
EXTERN(void) jinit_memory_mgr (j_common_ptr cinfo);
[340] Fix | Delete
[341] Fix | Delete
/* Utility routines in jutils.c */
[342] Fix | Delete
EXTERN(long) jdiv_round_up (long a, long b);
[343] Fix | Delete
EXTERN(long) jround_up (long a, long b);
[344] Fix | Delete
EXTERN(void) jcopy_sample_rows (JSAMPARRAY input_array, int source_row,
[345] Fix | Delete
JSAMPARRAY output_array, int dest_row,
[346] Fix | Delete
int num_rows, JDIMENSION num_cols);
[347] Fix | Delete
EXTERN(void) jcopy_block_row (JBLOCKROW input_row, JBLOCKROW output_row,
[348] Fix | Delete
JDIMENSION num_blocks);
[349] Fix | Delete
EXTERN(void) jzero_far (void *target, size_t bytestozero);
[350] Fix | Delete
/* Constant tables in jutils.c */
[351] Fix | Delete
#if 0 /* This table is not actually needed in v6a */
[352] Fix | Delete
extern const int jpeg_zigzag_order[]; /* natural coef order to zigzag order */
[353] Fix | Delete
#endif
[354] Fix | Delete
extern const int jpeg_natural_order[]; /* zigzag coef order to natural order */
[355] Fix | Delete
[356] Fix | Delete
/* Arithmetic coding probability estimation tables in jaricom.c */
[357] Fix | Delete
extern const JLONG jpeg_aritab[];
[358] Fix | Delete
[359] Fix | Delete
/* Suppress undefined-structure complaints if necessary. */
[360] Fix | Delete
[361] Fix | Delete
#ifdef INCOMPLETE_TYPES_BROKEN
[362] Fix | Delete
#ifndef AM_MEMORY_MANAGER /* only jmemmgr.c defines these */
[363] Fix | Delete
struct jvirt_sarray_control { long dummy; };
[364] Fix | Delete
struct jvirt_barray_control { long dummy; };
[365] Fix | Delete
#endif
[366] Fix | Delete
#endif /* INCOMPLETE_TYPES_BROKEN */
[367] Fix | Delete
[368] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function