< prev index next >
modules/javafx.graphics/src/main/native-iio/libjpeg7/jpegint.h
Print this page
*** 1,10 ****
/*
* jpegint.h
*
* Copyright (C) 1991-1997, Thomas G. Lane.
! * Modified 1997-2009 by Guido Vollbeding.
* This file is part of the Independent JPEG Group's software.
* For conditions of distribution and use, see the accompanying README file.
*
* This file provides common declarations for the various JPEG modules.
* These declarations are considered internal to the JPEG library; most
--- 1,10 ----
/*
* jpegint.h
*
* Copyright (C) 1991-1997, Thomas G. Lane.
! * Modified 1997-2017 by Guido Vollbeding.
* This file is part of the Independent JPEG Group's software.
* For conditions of distribution and use, see the accompanying README file.
*
* This file provides common declarations for the various JPEG modules.
* These declarations are considered internal to the JPEG library; most
*** 209,224 ****
};
/* Entropy decoding */
struct jpeg_entropy_decoder {
JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
! JMETHOD(boolean, decode_mcu, (j_decompress_ptr cinfo,
! JBLOCKROW *MCU_data));
!
! /* This is here to share code between baseline and progressive decoders; */
! /* other modules probably should not use it */
! boolean insufficient_data; /* set TRUE after emitting warning */
};
/* Inverse DCT (also performs dequantization) */
typedef JMETHOD(void, inverse_DCT_method_ptr,
(j_decompress_ptr cinfo, jpeg_component_info * compptr,
--- 209,220 ----
};
/* Entropy decoding */
struct jpeg_entropy_decoder {
JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
! JMETHOD(boolean, decode_mcu, (j_decompress_ptr cinfo, JBLOCKROW *MCU_data));
! JMETHOD(void, finish_pass, (j_decompress_ptr cinfo));
};
/* Inverse DCT (also performs dequantization) */
typedef JMETHOD(void, inverse_DCT_method_ptr,
(j_decompress_ptr cinfo, jpeg_component_info * compptr,
*** 262,271 ****
--- 258,280 ----
JMETHOD(void, finish_pass, (j_decompress_ptr cinfo));
JMETHOD(void, new_color_map, (j_decompress_ptr cinfo));
};
+ /* Definition of range extension bits for decompression processes.
+ * See the comments with prepare_range_limit_table (in jdmaster.c)
+ * for more info.
+ * The recommended default value for normal applications is 2.
+ * Applications with special requirements may use a different value.
+ * For example, Ghostscript wants to use 3 for proper handling of
+ * wacky images with oversize coefficient values.
+ */
+
+ #define RANGE_BITS 2
+ #define RANGE_CENTER (CENTERJSAMPLE << RANGE_BITS)
+
+
/* Miscellaneous useful macros */
#undef MAX
#define MAX(a,b) ((a) > (b) ? (a) : (b))
#undef MIN
*** 323,340 ****
#define jinit_2pass_quantizer jI2Quant
#define jinit_merged_upsampler jIMUpsampler
#define jinit_memory_mgr jIMemMgr
#define jdiv_round_up jDivRound
#define jround_up jRound
#define jcopy_sample_rows jCopySamples
#define jcopy_block_row jCopyBlocks
- #define jzero_far jZeroFar
#define jpeg_zigzag_order jZIGTable
#define jpeg_natural_order jZAGTable
#endif /* NEED_SHORT_EXTERNAL_NAMES */
/* Compression module initialization routines */
EXTERN(void) jinit_compress_master JPP((j_compress_ptr cinfo));
EXTERN(void) jinit_c_master_control JPP((j_compress_ptr cinfo,
boolean transcode_only));
EXTERN(void) jinit_c_main_controller JPP((j_compress_ptr cinfo,
--- 332,376 ----
#define jinit_2pass_quantizer jI2Quant
#define jinit_merged_upsampler jIMUpsampler
#define jinit_memory_mgr jIMemMgr
#define jdiv_round_up jDivRound
#define jround_up jRound
+ #define jzero_far jZeroFar
#define jcopy_sample_rows jCopySamples
#define jcopy_block_row jCopyBlocks
#define jpeg_zigzag_order jZIGTable
#define jpeg_natural_order jZAGTable
+ #define jpeg_natural_order7 jZAG7Table
+ #define jpeg_natural_order6 jZAG6Table
+ #define jpeg_natural_order5 jZAG5Table
+ #define jpeg_natural_order4 jZAG4Table
+ #define jpeg_natural_order3 jZAG3Table
+ #define jpeg_natural_order2 jZAG2Table
+ #define jpeg_aritab jAriTab
#endif /* NEED_SHORT_EXTERNAL_NAMES */
+ /* On normal machines we can apply MEMCOPY() and MEMZERO() to sample arrays
+ * and coefficient-block arrays. This won't work on 80x86 because the arrays
+ * are FAR and we're assuming a small-pointer memory model. However, some
+ * DOS compilers provide far-pointer versions of memcpy() and memset() even
+ * in the small-model libraries. These will be used if USE_FMEM is defined.
+ * Otherwise, the routines in jutils.c do it the hard way.
+ */
+
+ #ifndef NEED_FAR_POINTERS /* normal case, same as regular macro */
+ #define FMEMZERO(target,size) MEMZERO(target,size)
+ #else /* 80x86 case */
+ #ifdef USE_FMEM
+ #define FMEMZERO(target,size) _fmemset((void FAR *)(target), 0, (size_t)(size))
+ #else
+ EXTERN(void) jzero_far JPP((void FAR * target, size_t bytestozero));
+ #define FMEMZERO(target,size) jzero_far(target, size)
+ #endif
+ #endif
+
+
/* Compression module initialization routines */
EXTERN(void) jinit_compress_master JPP((j_compress_ptr cinfo));
EXTERN(void) jinit_c_master_control JPP((j_compress_ptr cinfo,
boolean transcode_only));
EXTERN(void) jinit_c_main_controller JPP((j_compress_ptr cinfo,
*** 376,391 ****
EXTERN(void) jcopy_sample_rows JPP((JSAMPARRAY input_array, int source_row,
JSAMPARRAY output_array, int dest_row,
int num_rows, JDIMENSION num_cols));
EXTERN(void) jcopy_block_row JPP((JBLOCKROW input_row, JBLOCKROW output_row,
JDIMENSION num_blocks));
- EXTERN(void) jzero_far JPP((void FAR * target, size_t bytestozero));
/* Constant tables in jutils.c */
#if 0 /* This table is not actually needed in v6a */
extern const int jpeg_zigzag_order[]; /* natural coef order to zigzag order */
#endif
extern const int jpeg_natural_order[]; /* zigzag coef order to natural order */
/* Suppress undefined-structure complaints if necessary. */
#ifdef INCOMPLETE_TYPES_BROKEN
#ifndef AM_MEMORY_MANAGER /* only jmemmgr.c defines these */
--- 412,435 ----
EXTERN(void) jcopy_sample_rows JPP((JSAMPARRAY input_array, int source_row,
JSAMPARRAY output_array, int dest_row,
int num_rows, JDIMENSION num_cols));
EXTERN(void) jcopy_block_row JPP((JBLOCKROW input_row, JBLOCKROW output_row,
JDIMENSION num_blocks));
/* Constant tables in jutils.c */
#if 0 /* This table is not actually needed in v6a */
extern const int jpeg_zigzag_order[]; /* natural coef order to zigzag order */
#endif
extern const int jpeg_natural_order[]; /* zigzag coef order to natural order */
+ extern const int jpeg_natural_order7[]; /* zz to natural order for 7x7 block */
+ extern const int jpeg_natural_order6[]; /* zz to natural order for 6x6 block */
+ extern const int jpeg_natural_order5[]; /* zz to natural order for 5x5 block */
+ extern const int jpeg_natural_order4[]; /* zz to natural order for 4x4 block */
+ extern const int jpeg_natural_order3[]; /* zz to natural order for 3x3 block */
+ extern const int jpeg_natural_order2[]; /* zz to natural order for 2x2 block */
+
+ /* Arithmetic coding probability estimation tables in jaricom.c */
+ extern const INT32 jpeg_aritab[];
/* Suppress undefined-structure complaints if necessary. */
#ifdef INCOMPLETE_TYPES_BROKEN
#ifndef AM_MEMORY_MANAGER /* only jmemmgr.c defines these */
< prev index next >