Visualization Library 2.0.0-b5

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Classes | Macros | Typedefs | Functions | Variables
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
 
 EXTERN (int) jpeg_huff_decode 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 */

Definition at line 73 of file jdhuff.h.

◆ 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;

Definition at line 107 of file jdhuff.h.

Referenced by decode_mcu(), decode_mcu_AC_first(), decode_mcu_AC_refine(), decode_mcu_DC_first(), and decode_mcu_DC_refine().

◆ 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
register bit_buf_type get_buffer
Definition: jdhuff.h:155
register bit_buf_type register int bits_left
Definition: jdhuff.h:155

Definition at line 114 of file jdhuff.h.

Referenced by decode_mcu(), decode_mcu_AC_first(), decode_mcu_AC_refine(), decode_mcu_DC_first(), and decode_mcu_DC_refine().

◆ BITREAD_STATE_VARS

#define BITREAD_STATE_VARS
Value:
register int bits_left; \
bitread_working_state br_state
INT32 bit_buf_type
Definition: jdhuff.h:72
register bit_buf_type get_buffer
Definition: jdhuff.h:155
register bit_buf_type register int bits_left
Definition: jdhuff.h:155

Definition at line 102 of file jdhuff.h.

Referenced by decode_mcu(), decode_mcu_AC_first(), decode_mcu_AC_refine(), decode_mcu_DC_first(), and decode_mcu_DC_refine().

◆ 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; } }
register bit_buf_type register int int nbits
Definition: jdhuff.h:155
jpeg_fill_bit_buffer(bitread_working_state *state, register bit_buf_type get_buffer, register int bits_left, int nbits)
Definition: jdhuff.c:292
register bit_buf_type get_buffer
Definition: jdhuff.h:155
register bit_buf_type register int bits_left
Definition: jdhuff.h:155

Definition at line 138 of file jdhuff.h.

Referenced by decode_mcu(), decode_mcu_AC_first(), decode_mcu_AC_refine(), decode_mcu_DC_first(), decode_mcu_DC_refine(), and jpeg_huff_decode().

◆ DROP_BITS

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

Definition at line 150 of file jdhuff.h.

Referenced by decode_mcu().

◆ 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: \
{ failaction; } \
get_buffer = state.get_buffer; bits_left = state.bits_left; \
} \
}
UINT8 look_sym[1<< HUFF_LOOKAHEAD]
Definition: jdhuff.h:45
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.c:398
int look_nbits[1<< HUFF_LOOKAHEAD]
Definition: jdhuff.h:44
register bit_buf_type register int d_derived_tbl * htbl
Definition: jdhuff.h:200
#define PEEK_BITS(nbits)
Definition: jdhuff.h:147
#define HUFF_LOOKAHEAD
Definition: jdhuff.h:24
jpeg_fill_bit_buffer(bitread_working_state *state, register bit_buf_type get_buffer, register int bits_left, int nbits)
Definition: jdhuff.c:292
GLuint64EXT * result
register bit_buf_type get_buffer
Definition: jdhuff.h:155
register bit_buf_type register int bits_left
Definition: jdhuff.h:155

Definition at line 176 of file jdhuff.h.

Referenced by decode_mcu(), decode_mcu_AC_first(), decode_mcu_AC_refine(), and decode_mcu_DC_first().

◆ HUFF_LOOKAHEAD

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

Definition at line 24 of file jdhuff.h.

Referenced by jpeg_make_d_derived_tbl().

◆ PEEK_BITS

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

Definition at line 147 of file jdhuff.h.

Typedef Documentation

◆ bit_buf_type

Definition at line 72 of file jdhuff.h.

Function Documentation

◆ EXTERN() [1/3]

EXTERN ( void  )

◆ EXTERN() [2/3]

EXTERN ( boolean  )

◆ EXTERN() [3/3]

EXTERN ( int  )

Variable Documentation

◆ bits_left

register bit_buf_type register int bits_left

Definition at line 155 of file jdhuff.h.

Referenced by get_data(), jpeg_fill_bit_buffer(), and jpeg_huff_decode().

◆ get_buffer

register bit_buf_type get_buffer

Definition at line 155 of file jdhuff.h.

Referenced by jpeg_fill_bit_buffer(), and jpeg_huff_decode().

◆ htbl

register bit_buf_type register int d_derived_tbl* htbl

Definition at line 200 of file jdhuff.h.

◆ isDC

boolean isDC

Definition at line 50 of file jdhuff.h.

◆ min_bits

register bit_buf_type register int d_derived_tbl int min_bits

Definition at line 200 of file jdhuff.h.

Referenced by jpeg_huff_decode().

◆ nbits

register bit_buf_type register int int nbits

◆ pdtbl

Definition at line 50 of file jdhuff.h.

◆ tblno

boolean int tblno

Definition at line 50 of file jdhuff.h.