ReactOS 0.4.15-dev-7788-g1ad9096
jpeglib.h File Reference
#include "jconfig.h"
#include "jmorecfg.h"
Include dependency graph for jpeglib.h:

Go to the source code of this file.

Classes

struct  JQUANT_TBL
 
struct  JHUFF_TBL
 
struct  jpeg_component_info
 
struct  jpeg_scan_info
 
struct  jpeg_marker_struct
 
struct  jpeg_common_struct
 
struct  jpeg_compress_struct
 
struct  jpeg_decompress_struct
 
struct  jpeg_error_mgr
 
struct  jpeg_progress_mgr
 
struct  jpeg_destination_mgr
 
struct  jpeg_source_mgr
 
struct  jpeg_memory_mgr
 

Macros

#define JPEG_LIB_VERSION   90 /* Compatibility version 9.0 */
 
#define JPEG_LIB_VERSION_MAJOR   9
 
#define JPEG_LIB_VERSION_MINOR   4
 
#define DCTSIZE   8 /* The basic DCT block is 8x8 coefficients */
 
#define DCTSIZE2   64 /* DCTSIZE squared; # of elements in a block */
 
#define NUM_QUANT_TBLS   4 /* Quantization tables are numbered 0..3 */
 
#define NUM_HUFF_TBLS   4 /* Huffman tables are numbered 0..3 */
 
#define NUM_ARITH_TBLS   16 /* Arith-coding tables are numbered 0..15 */
 
#define MAX_COMPS_IN_SCAN   4 /* JPEG limit on # of components in one scan */
 
#define MAX_SAMP_FACTOR   4 /* JPEG limit on sampling factors */
 
#define C_MAX_BLOCKS_IN_MCU   10 /* compressor's limit on blocks per MCU */
 
#define D_MAX_BLOCKS_IN_MCU   10 /* decompressor's limit on blocks per MCU */
 
#define JDCT_DEFAULT   JDCT_ISLOW
 
#define JDCT_FASTEST   JDCT_IFAST
 
#define jpeg_common_fields
 
#define JMSG_LENGTH_MAX   200 /* recommended size of format_message buffer */
 
#define JMSG_STR_PARM_MAX   80
 
#define JPOOL_PERMANENT   0 /* lasts until master record is destroyed */
 
#define JPOOL_IMAGE   1 /* lasts until done with image/datastream */
 
#define JPOOL_NUMPOOLS   2
 
#define JPP(arglist)   arglist
 
#define jpeg_create_compress(cinfo)
 
#define jpeg_create_decompress(cinfo)
 
#define JPEG_SUSPENDED   0 /* Suspended due to lack of input data */
 
#define JPEG_HEADER_OK   1 /* Found valid image datastream */
 
#define JPEG_HEADER_TABLES_ONLY   2 /* Found valid table-specs-only datastream */
 
#define JPEG_REACHED_SOS   1 /* Reached start of new scan */
 
#define JPEG_REACHED_EOI   2 /* Reached end of image */
 
#define JPEG_ROW_COMPLETED   3 /* Completed one iMCU row */
 
#define JPEG_SCAN_COMPLETED   4 /* Completed last iMCU row of a scan */
 
#define JPEG_RST0   0xD0 /* RST0 marker code */
 
#define JPEG_EOI   0xD9 /* EOI marker code */
 
#define JPEG_APP0   0xE0 /* APP0 marker code */
 
#define JPEG_COM   0xFE /* COM marker code */
 

Typedefs

typedef JSAMPLE FARJSAMPROW
 
typedef JSAMPROWJSAMPARRAY
 
typedef JSAMPARRAYJSAMPIMAGE
 
typedef JCOEF JBLOCK[DCTSIZE2]
 
typedef JBLOCK FARJBLOCKROW
 
typedef JBLOCKROWJBLOCKARRAY
 
typedef JBLOCKARRAYJBLOCKIMAGE
 
typedef JCOEF FARJCOEFPTR
 
typedef struct jpeg_marker_struct FARjpeg_saved_marker_ptr
 
typedef struct jpeg_common_structj_common_ptr
 
typedef struct jpeg_compress_structj_compress_ptr
 
typedef struct jpeg_decompress_structj_decompress_ptr
 
typedef struct jvirt_sarray_controljvirt_sarray_ptr
 
typedef struct jvirt_barray_controljvirt_barray_ptr
 

Enumerations

enum  J_COLOR_SPACE {
  JCS_UNKNOWN , JCS_GRAYSCALE , JCS_RGB , JCS_YCbCr ,
  JCS_CMYK , JCS_YCCK , JCS_BG_RGB , JCS_BG_YCC
}
 
enum  J_COLOR_TRANSFORM { JCT_NONE = 0 , JCT_SUBTRACT_GREEN = 1 }
 
enum  J_DCT_METHOD { JDCT_ISLOW , JDCT_IFAST , JDCT_FLOAT }
 
enum  J_DITHER_MODE { JDITHER_NONE , JDITHER_ORDERED , JDITHER_FS }
 

Functions

typedef JMETHOD (boolean, jpeg_marker_parser_method,(j_decompress_ptr cinfo))
 
 EXTERN (struct jpeg_error_mgr *) jpeg_std_error JPP((struct jpeg_error_mgr *err))
 
 EXTERN (void) jpeg_CreateCompress JPP((j_compress_ptr cinfo
 
 EXTERN (int) jpeg_quality_scaling JPP((int quality))
 
 EXTERN (JQUANT_TBL *) jpeg_alloc_quant_table JPP((j_common_ptr cinfo))
 
 EXTERN (JHUFF_TBL *) jpeg_alloc_huff_table JPP((j_common_ptr cinfo))
 
 EXTERN (JDIMENSION) jpeg_write_scanlines JPP((j_compress_ptr cinfo
 
 EXTERN (boolean) jpeg_start_decompress JPP((j_decompress_ptr cinfo))
 
 EXTERN (jvirt_barray_ptr *) jpeg_read_coefficients JPP((j_decompress_ptr cinfo))
 

Variables

int version
 
int size_t structsize
 
FILEoutfile
 
FILEinfile
 
unsigned char ** outbuffer
 
unsigned char size_toutsize
 
const unsigned charinbuffer
 
const unsigned char size_t insize
 
J_COLOR_SPACE colorspace
 
int quality
 
int boolean force_baseline
 
int scale_factor
 
int which_tbl
 
int const unsigned intbasic_table
 
boolean suppress
 
boolean isDC
 
boolean int tblno
 
boolean write_all_tables
 
JSAMPARRAY scanlines
 
JSAMPARRAY JDIMENSION num_lines
 
JSAMPIMAGE data
 
int marker
 
int const JOCTETdataptr
 
int const JOCTET unsigned int datalen
 
int val
 
boolean require_image
 
JSAMPARRAY JDIMENSION max_lines
 
int scan_number
 
int marker_code
 
int unsigned int length_limit
 
int jpeg_marker_parser_method routine
 
jvirt_barray_ptrcoef_arrays
 
j_compress_ptr dstinfo
 
int desired
 

Macro Definition Documentation

◆ C_MAX_BLOCKS_IN_MCU

#define C_MAX_BLOCKS_IN_MCU   10 /* compressor's limit on blocks per MCU */

Definition at line 64 of file jpeglib.h.

◆ D_MAX_BLOCKS_IN_MCU

#define D_MAX_BLOCKS_IN_MCU   10 /* decompressor's limit on blocks per MCU */

Definition at line 66 of file jpeglib.h.

◆ DCTSIZE

#define DCTSIZE   8 /* The basic DCT block is 8x8 coefficients */

Definition at line 50 of file jpeglib.h.

◆ DCTSIZE2

#define DCTSIZE2   64 /* DCTSIZE squared; # of elements in a block */

Definition at line 51 of file jpeglib.h.

◆ JDCT_DEFAULT

#define JDCT_DEFAULT   JDCT_ISLOW

Definition at line 247 of file jpeglib.h.

◆ JDCT_FASTEST

#define JDCT_FASTEST   JDCT_IFAST

Definition at line 250 of file jpeglib.h.

◆ JMSG_LENGTH_MAX

#define JMSG_LENGTH_MAX   200 /* recommended size of format_message buffer */

Definition at line 711 of file jpeglib.h.

◆ JMSG_STR_PARM_MAX

#define JMSG_STR_PARM_MAX   80

Definition at line 719 of file jpeglib.h.

◆ JPEG_APP0

#define JPEG_APP0   0xE0 /* APP0 marker code */

Definition at line 1128 of file jpeglib.h.

◆ JPEG_COM

#define JPEG_COM   0xFE /* COM marker code */

Definition at line 1129 of file jpeglib.h.

◆ jpeg_common_fields

#define jpeg_common_fields
Value:
struct jpeg_error_mgr * err; /* Error handler module */\
struct jpeg_memory_mgr * mem; /* Memory manager module */\
struct jpeg_progress_mgr * progress; /* Progress monitor, or NULL if none */\
void * client_data; /* Available for use by application */\
boolean is_decompressor; /* So common code can tell which is which */\
int global_state /* For checking call sequence validity */
cd_progress_ptr progress
Definition: cdjpeg.h:152
static int global_state
Definition: custom.c:1366
#define err(...)
Definition: mem.c:156

Definition at line 264 of file jpeglib.h.

◆ jpeg_create_compress

#define jpeg_create_compress (   cinfo)
Value:
(size_t) sizeof(struct jpeg_compress_struct))
jpeg_CreateCompress(j_compress_ptr cinfo, int version, size_t structsize)
Definition: jcapimin.c:31
#define JPEG_LIB_VERSION
Definition: jpeglib.h:40

Definition at line 959 of file jpeglib.h.

◆ jpeg_create_decompress

#define jpeg_create_decompress (   cinfo)
Value:
(size_t) sizeof(struct jpeg_decompress_struct))
jpeg_CreateDecompress(j_decompress_ptr cinfo, int version, size_t structsize)
Definition: jdapimin.c:31

Definition at line 962 of file jpeglib.h.

◆ JPEG_EOI

#define JPEG_EOI   0xD9 /* EOI marker code */

Definition at line 1127 of file jpeglib.h.

◆ JPEG_HEADER_OK

#define JPEG_HEADER_OK   1 /* Found valid image datastream */

Definition at line 1046 of file jpeglib.h.

◆ JPEG_HEADER_TABLES_ONLY

#define JPEG_HEADER_TABLES_ONLY   2 /* Found valid table-specs-only datastream */

Definition at line 1047 of file jpeglib.h.

◆ JPEG_LIB_VERSION

#define JPEG_LIB_VERSION   90 /* Compatibility version 9.0 */

Definition at line 40 of file jpeglib.h.

◆ JPEG_LIB_VERSION_MAJOR

#define JPEG_LIB_VERSION_MAJOR   9

Definition at line 41 of file jpeglib.h.

◆ JPEG_LIB_VERSION_MINOR

#define JPEG_LIB_VERSION_MINOR   4

Definition at line 42 of file jpeglib.h.

◆ JPEG_REACHED_EOI

#define JPEG_REACHED_EOI   2 /* Reached end of image */

Definition at line 1077 of file jpeglib.h.

◆ JPEG_REACHED_SOS

#define JPEG_REACHED_SOS   1 /* Reached start of new scan */

Definition at line 1076 of file jpeglib.h.

◆ JPEG_ROW_COMPLETED

#define JPEG_ROW_COMPLETED   3 /* Completed one iMCU row */

Definition at line 1078 of file jpeglib.h.

◆ JPEG_RST0

#define JPEG_RST0   0xD0 /* RST0 marker code */

Definition at line 1126 of file jpeglib.h.

◆ JPEG_SCAN_COMPLETED

#define JPEG_SCAN_COMPLETED   4 /* Completed last iMCU row of a scan */

Definition at line 1079 of file jpeglib.h.

◆ JPEG_SUSPENDED

#define JPEG_SUSPENDED   0 /* Suspended due to lack of input data */

Definition at line 1045 of file jpeglib.h.

◆ JPOOL_IMAGE

#define JPOOL_IMAGE   1 /* lasts until done with image/datastream */

Definition at line 808 of file jpeglib.h.

◆ JPOOL_NUMPOOLS

#define JPOOL_NUMPOOLS   2

Definition at line 809 of file jpeglib.h.

◆ JPOOL_PERMANENT

#define JPOOL_PERMANENT   0 /* lasts until master record is destroyed */

Definition at line 807 of file jpeglib.h.

◆ JPP

#define JPP (   arglist)    arglist

Definition at line 877 of file jpeglib.h.

◆ MAX_COMPS_IN_SCAN

#define MAX_COMPS_IN_SCAN   4 /* JPEG limit on # of components in one scan */

Definition at line 55 of file jpeglib.h.

◆ MAX_SAMP_FACTOR

#define MAX_SAMP_FACTOR   4 /* JPEG limit on sampling factors */

Definition at line 56 of file jpeglib.h.

◆ NUM_ARITH_TBLS

#define NUM_ARITH_TBLS   16 /* Arith-coding tables are numbered 0..15 */

Definition at line 54 of file jpeglib.h.

◆ NUM_HUFF_TBLS

#define NUM_HUFF_TBLS   4 /* Huffman tables are numbered 0..3 */

Definition at line 53 of file jpeglib.h.

◆ NUM_QUANT_TBLS

#define NUM_QUANT_TBLS   4 /* Quantization tables are numbered 0..3 */

Definition at line 52 of file jpeglib.h.

Typedef Documentation

◆ j_common_ptr

Definition at line 284 of file jpeglib.h.

◆ j_compress_ptr

Definition at line 285 of file jpeglib.h.

◆ j_decompress_ptr

Definition at line 286 of file jpeglib.h.

◆ JBLOCK

typedef JCOEF JBLOCK[DCTSIZE2]

Definition at line 79 of file jpeglib.h.

◆ JBLOCKARRAY

Definition at line 81 of file jpeglib.h.

◆ JBLOCKIMAGE

Definition at line 82 of file jpeglib.h.

◆ JBLOCKROW

typedef JBLOCK FAR* JBLOCKROW

Definition at line 80 of file jpeglib.h.

◆ JCOEFPTR

typedef JCOEF FAR* JCOEFPTR

Definition at line 84 of file jpeglib.h.

◆ jpeg_saved_marker_ptr

Definition at line 207 of file jpeglib.h.

◆ JSAMPARRAY

typedef JSAMPROW* JSAMPARRAY

Definition at line 76 of file jpeglib.h.

◆ JSAMPIMAGE

Definition at line 77 of file jpeglib.h.

◆ JSAMPROW

typedef JSAMPLE FAR* JSAMPROW

Definition at line 75 of file jpeglib.h.

◆ jvirt_barray_ptr

Definition at line 812 of file jpeglib.h.

◆ jvirt_sarray_ptr

Definition at line 811 of file jpeglib.h.

Enumeration Type Documentation

◆ J_COLOR_SPACE

Enumerator
JCS_UNKNOWN 
JCS_GRAYSCALE 
JCS_RGB 
JCS_YCbCr 
JCS_CMYK 
JCS_YCCK 
JCS_BG_RGB 
JCS_BG_YCC 

Definition at line 220 of file jpeglib.h.

220 {
221 JCS_UNKNOWN, /* error/unspecified */
222 JCS_GRAYSCALE, /* monochrome */
223 JCS_RGB, /* red/green/blue, standard RGB (sRGB) */
224 JCS_YCbCr, /* Y/Cb/Cr (also known as YUV), standard YCC */
225 JCS_CMYK, /* C/M/Y/K */
226 JCS_YCCK, /* Y/Cb/Cr/K */
227 JCS_BG_RGB, /* big gamut red/green/blue, bg-sRGB */
228 JCS_BG_YCC /* big gamut Y/Cb/Cr, bg-sYCC */
J_COLOR_SPACE
Definition: jpeglib.h:220
@ JCS_YCCK
Definition: jpeglib.h:226
@ JCS_BG_RGB
Definition: jpeglib.h:227
@ JCS_BG_YCC
Definition: jpeglib.h:228
@ JCS_UNKNOWN
Definition: jpeglib.h:221
@ JCS_YCbCr
Definition: jpeglib.h:224
@ JCS_CMYK
Definition: jpeglib.h:225
@ JCS_GRAYSCALE
Definition: jpeglib.h:222
@ JCS_RGB
Definition: jpeglib.h:223

◆ J_COLOR_TRANSFORM

Enumerator
JCT_NONE 
JCT_SUBTRACT_GREEN 

Definition at line 233 of file jpeglib.h.

233 {
234 JCT_NONE = 0,
J_COLOR_TRANSFORM
Definition: jpeglib.h:233
@ JCT_NONE
Definition: jpeglib.h:234
@ JCT_SUBTRACT_GREEN
Definition: jpeglib.h:235

◆ J_DCT_METHOD

Enumerator
JDCT_ISLOW 
JDCT_IFAST 
JDCT_FLOAT 

Definition at line 240 of file jpeglib.h.

240 {
241 JDCT_ISLOW, /* slow but accurate integer algorithm */
242 JDCT_IFAST, /* faster, less accurate integer method */
243 JDCT_FLOAT /* floating-point: accurate, fast on fast HW */
J_DCT_METHOD
Definition: jpeglib.h:240
@ JDCT_IFAST
Definition: jpeglib.h:242
@ JDCT_FLOAT
Definition: jpeglib.h:243
@ JDCT_ISLOW
Definition: jpeglib.h:241

◆ J_DITHER_MODE

Enumerator
JDITHER_NONE 
JDITHER_ORDERED 
JDITHER_FS 

Definition at line 255 of file jpeglib.h.

255 {
256 JDITHER_NONE, /* no dithering */
257 JDITHER_ORDERED, /* simple ordered dither */
258 JDITHER_FS /* Floyd-Steinberg error diffusion dither */
J_DITHER_MODE
Definition: jpeglib.h:255
@ JDITHER_NONE
Definition: jpeglib.h:256
@ JDITHER_FS
Definition: jpeglib.h:258
@ JDITHER_ORDERED
Definition: jpeglib.h:257

Function Documentation

◆ EXTERN() [1/8]

EXTERN ( boolean  )

◆ EXTERN() [2/8]

EXTERN ( int  )

◆ EXTERN() [3/8]

EXTERN ( JDIMENSION  )

◆ EXTERN() [4/8]

EXTERN ( JHUFF_TBL )

◆ EXTERN() [5/8]

EXTERN ( JQUANT_TBL )

◆ EXTERN() [6/8]

EXTERN ( jvirt_barray_ptr )

◆ EXTERN() [7/8]

EXTERN ( struct jpeg_error_mgr )

◆ EXTERN() [8/8]

EXTERN ( void  )

◆ JMETHOD()

typedef JMETHOD ( boolean  ,
jpeg_marker_parser_method  ,
(j_decompress_ptr cinfo)   
)

Variable Documentation

◆ basic_table

int const unsigned int* basic_table

Definition at line 1000 of file jpeglib.h.

Referenced by jpeg_add_quant_table().

◆ coef_arrays

jvirt_barray_ptr* coef_arrays

Definition at line 1098 of file jpeglib.h.

Referenced by transencode_coef_controller(), and transencode_master_selection().

◆ colorspace

J_COLOR_SPACE colorspace

Definition at line 990 of file jpeglib.h.

Referenced by jpeg_set_colorspace(), and test_color_contexts().

◆ data

Definition at line 1025 of file jpeglib.h.

◆ datalen

◆ dataptr

◆ desired

◆ dstinfo

◆ force_baseline

int const unsigned int int boolean force_baseline

Definition at line 993 of file jpeglib.h.

◆ inbuffer

const unsigned char* inbuffer

Definition at line 983 of file jpeglib.h.

Referenced by device_io(), jpeg_mem_src(), mszip_decompress(), and test_write_flush_size().

◆ infile

FILE* infile

Definition at line 976 of file jpeglib.h.

◆ insize

◆ isDC

boolean isDC

◆ length_limit

int unsigned int length_limit

Definition at line 1088 of file jpeglib.h.

◆ marker

◆ marker_code

int marker_code

Definition at line 1087 of file jpeglib.h.

Referenced by jpeg_set_marker_processor().

◆ max_lines

Definition at line 1058 of file jpeglib.h.

Referenced by jpeg_read_raw_data(), jpeg_read_scanlines(), and ME_HandleMessage().

◆ num_lines

Definition at line 1017 of file jpeglib.h.

Referenced by jpeg_write_raw_data(), and jpeg_write_scanlines().

◆ outbuffer

Definition at line 980 of file jpeglib.h.

Referenced by jpeg_mem_dest().

◆ outfile

FILE* outfile

Definition at line 975 of file jpeglib.h.

◆ outsize

◆ quality

◆ require_image

boolean require_image

Definition at line 1043 of file jpeglib.h.

Referenced by jpeg_read_header().

◆ routine

int jpeg_marker_parser_method routine

◆ scale_factor

int const unsigned int int scale_factor

Definition at line 995 of file jpeglib.h.

Referenced by get_pointsize(), jpeg_add_quant_table(), and jpeg_set_linear_quality().

◆ scan_number

int scan_number

Definition at line 1069 of file jpeglib.h.

◆ scanlines

JSAMPARRAY scanlines

Definition at line 1016 of file jpeglib.h.

Referenced by jpeg_read_scanlines(), and jpeg_write_scanlines().

◆ structsize

int size_t structsize

Definition at line 966 of file jpeglib.h.

Referenced by jpeg_CreateCompress(), and jpeg_CreateDecompress().

◆ suppress

◆ tblno

◆ val

Definition at line 1036 of file jpeglib.h.

◆ version

int version

Definition at line 966 of file jpeglib.h.

◆ which_tbl

int which_tbl

Definition at line 999 of file jpeglib.h.

Referenced by jpeg_add_quant_table().

◆ write_all_tables

boolean write_all_tables

Definition at line 1014 of file jpeglib.h.

Referenced by jpeg_start_compress().