Assignments
Assignments
jdhuff.h File Reference

Go to the source code of this file.

Classes

struct  d_derived_tbl
 
struct  bitread_perm_state
 
struct  bitread_working_state
 

Macros

#define HUFF_LOOKAHEAD   8 /* # of bits of lookahead */
 
#define BIT_BUF_SIZE   32 /* size of buffer in bits */
 
#define BITREAD_STATE_VARS
 
#define BITREAD_LOAD_STATE(cinfop, permstate)
 
#define BITREAD_SAVE_STATE(cinfop, permstate)
 
#define CHECK_BIT_BUFFER(state, nbits, action)
 
#define GET_BITS(nbits)    (((int) (get_buffer >> (bits_left -= (nbits)))) & ((1<<(nbits))-1))
 
#define PEEK_BITS(nbits)    (((int) (get_buffer >> (bits_left - (nbits)))) & ((1<<(nbits))-1))
 
#define DROP_BITS(nbits)    (bits_left -= (nbits))
 
#define HUFF_DECODE(result, state, htbl, failaction, slowlabel)
 

Typedefs

typedef INT32 bit_buf_type
 

Functions

 EXTERN (void) jpeg_make_d_derived_tbl JPP((j_decompress_ptr cinfo
 
 EXTERN (boolean) jpeg_fill_bit_buffer JPP((bitread_working_state *state
 

Variables

boolean isDC
 
boolean int tblno
 
boolean int d_derived_tbl ** pdtbl
 
register bit_buf_type get_buffer
 
register bit_buf_type register int bits_left
 
register bit_buf_type register int int nbits
 
register bit_buf_type register int d_derived_tblhtbl
 
register bit_buf_type register int d_derived_tbl int min_bits
 

Macro Definition Documentation

◆ BIT_BUF_SIZE

#define BIT_BUF_SIZE   32 /* size of buffer in bits */

◆ BITREAD_LOAD_STATE

#define BITREAD_LOAD_STATE ( cinfop,
permstate )
Value:
br_state.cinfo = cinfop; \
br_state.next_input_byte = cinfop->src->next_input_byte; \
br_state.bytes_in_buffer = cinfop->src->bytes_in_buffer; \
get_buffer = permstate.get_buffer; \
bits_left = permstate.bits_left;
register bit_buf_type register int bits_left
Definition jdhuff.h:156
register bit_buf_type get_buffer
Definition jdhuff.h:155

◆ BITREAD_SAVE_STATE

#define BITREAD_SAVE_STATE ( cinfop,
permstate )
Value:
cinfop->src->next_input_byte = br_state.next_input_byte; \
cinfop->src->bytes_in_buffer = br_state.bytes_in_buffer; \
permstate.get_buffer = get_buffer; \
permstate.bits_left = bits_left

◆ BITREAD_STATE_VARS

#define BITREAD_STATE_VARS
Value:
register int bits_left; \
INT32 bit_buf_type
Definition jdhuff.h:72
Definition jdhuff.h:87

◆ CHECK_BIT_BUFFER

#define CHECK_BIT_BUFFER ( state,
nbits,
action )
Value:
{ if (bits_left < (nbits)) { \
{ action; } \
get_buffer = (state).get_buffer; bits_left = (state).bits_left; } }
jpeg_fill_bit_buffer(bitread_working_state *state, register bit_buf_type get_buffer, register int bits_left, int nbits)
Definition jdhuff.cpp:292
register bit_buf_type register int int nbits
Definition jdhuff.h:156

◆ DROP_BITS

#define DROP_BITS ( nbits)     (bits_left -= (nbits))

◆ GET_BITS

#define GET_BITS ( nbits)     (((int) (get_buffer >> (bits_left -= (nbits)))) & ((1<<(nbits))-1))

◆ HUFF_DECODE

#define HUFF_DECODE ( result,
state,
htbl,
failaction,
slowlabel )
Value:
{ register int nb, look; \
if (! jpeg_fill_bit_buffer(&state,get_buffer,bits_left, 0)) {failaction;} \
get_buffer = state.get_buffer; bits_left = state.bits_left; \
nb = 1; goto slowlabel; \
} \
} \
if ((nb = htbl->look_nbits[look]) != 0) { \
DROP_BITS(nb); \
result = htbl->look_sym[look]; \
} else { \
nb = HUFF_LOOKAHEAD+1; \
slowlabel: \
if ((result=jpeg_huff_decode(&state,get_buffer,bits_left,htbl,nb)) < 0) \
{ failaction; } \
get_buffer = state.get_buffer; bits_left = state.bits_left; \
} \
}
jpeg_huff_decode(bitread_working_state *state, register bit_buf_type get_buffer, register int bits_left, d_derived_tbl *htbl, int min_bits)
Definition jdhuff.cpp:398
#define HUFF_LOOKAHEAD
Definition jdhuff.h:24
register bit_buf_type register int d_derived_tbl * htbl
Definition jdhuff.h:201
#define PEEK_BITS(nbits)
Definition jdhuff.h:147
UINT8 look_sym[1<< HUFF_LOOKAHEAD]
Definition jdhuff.h:45
int look_nbits[1<< HUFF_LOOKAHEAD]
Definition jdhuff.h:44

◆ HUFF_LOOKAHEAD

#define HUFF_LOOKAHEAD   8 /* # of bits of lookahead */

◆ PEEK_BITS

#define PEEK_BITS ( nbits)     (((int) (get_buffer >> (bits_left - (nbits)))) & ((1<<(nbits))-1))

Typedef Documentation

◆ bit_buf_type

Function Documentation

◆ EXTERN() [1/2]

EXTERN ( boolean )

◆ EXTERN() [2/2]

EXTERN ( void )

Variable Documentation

◆ bits_left

register bit_buf_type register int bits_left

◆ get_buffer

register bit_buf_type get_buffer

◆ htbl

register bit_buf_type register int d_derived_tbl* htbl

◆ isDC

boolean isDC

◆ min_bits

register bit_buf_type register int d_derived_tbl int min_bits

◆ nbits

register bit_buf_type register int int nbits

◆ pdtbl

boolean int d_derived_tbl** pdtbl

◆ tblno

boolean int tblno