| Bsoft 1.9 Bernard's software package

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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

## 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_tbl * | htbl
register bit_buf_type register int d_derived_tbl int | min_bits

## Macro Definition Documentation

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

Definition at line 73 of file jdhuff.h.

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

Definition at line 107 of file jdhuff.h.

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

Definition at line 114 of file jdhuff.h.

#define BITREAD_STATE_VARS

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

Definition at line 102 of file jdhuff.h.

#define CHECK_BIT_BUFFER | ( |  | state,
|  |  | nbits,
|  |  | action
| ) |  |

Value:
{ if (bits_left < (nbits)) { \
if (! jpeg_fill_bit_buffer(&(state),get_buffer,bits_left,nbits)) \
{ action; } \
get_buffer = (state).get_buffer; bits_left = (state).bits_left; } }
nbits
register bit_buf_type register int int nbits
Definition: jdhuff.h:155
jpeg_fill_bit_buffer
jpeg_fill_bit_buffer(bitread_working_state *state, register bit_buf_type get_buffer, register int bits_left, int nbits)
Definition: jdhuff.c:292
get_buffer
register bit_buf_type get_buffer
Definition: jdhuff.h:155
bits_left
register bit_buf_type register int bits_left
Definition: jdhuff.h:155

Definition at line 138 of file jdhuff.h.

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

Definition at line 150 of file jdhuff.h.

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

Definition at line 144 of file jdhuff.h.

#define HUFF_DECODE | ( |  | result,
|  |  | state,
|  |  | htbl,
|  |  | failaction,
|  |  | slowlabel
| ) |  |

Value:
{ register int nb, look; \
if (bits_left < HUFF_LOOKAHEAD) { \
if (! jpeg_fill_bit_buffer(&state,get_buffer,bits_left, 0)) {failaction;} \
get_buffer = state.get_buffer; bits_left = state.bits_left; \
if (bits_left < HUFF_LOOKAHEAD) { \
nb = 1; goto slowlabel; \
} \
} \
look = PEEK_BITS(HUFF_LOOKAHEAD); \
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; \
} \
}
d_derived_tbl::look_sym
UINT8 look_sym[1<< HUFF_LOOKAHEAD]
Definition: jdhuff.h:45
jpeg_huff_decode
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
d_derived_tbl::look_nbits
int look_nbits[1<< HUFF_LOOKAHEAD]
Definition: jdhuff.h:44
htbl
register bit_buf_type register int d_derived_tbl * htbl
Definition: jdhuff.h:200
PEEK_BITS
#define PEEK_BITS(nbits)
Definition: jdhuff.h:147
HUFF_LOOKAHEAD
#define HUFF_LOOKAHEAD
Definition: jdhuff.h:24
jpeg_fill_bit_buffer
jpeg_fill_bit_buffer(bitread_working_state *state, register bit_buf_type get_buffer, register int bits_left, int nbits)
Definition: jdhuff.c:292
get_buffer
register bit_buf_type get_buffer
Definition: jdhuff.h:155
bits_left
register bit_buf_type register int bits_left
Definition: jdhuff.h:155

Definition at line 176 of file jdhuff.h.

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

Definition at line 24 of file jdhuff.h.

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

Definition at line 147 of file jdhuff.h.

## Typedef Documentation

typedef INT32 bit_buf_type

Definition at line 72 of file jdhuff.h.

## Function Documentation

EXTERN | ( | void |  | ) |

EXTERN | ( | boolean |  | ) |

## Variable Documentation

register bit_buf_type register int bits_left

Definition at line 155 of file jdhuff.h.

register bit_buf_type get_buffer

Definition at line 155 of file jdhuff.h.

register bit_buf_type register int d_derived_tbl* htbl

Definition at line 200 of file jdhuff.h.

boolean isDC

Definition at line 50 of file jdhuff.h.

register bit_buf_type register int d_derived_tbl int min_bits

Definition at line 200 of file jdhuff.h.

register bit_buf_type register int int nbits

Definition at line 155 of file jdhuff.h.

boolean int d_derived_tbl** pdtbl

Definition at line 50 of file jdhuff.h.

boolean int tblno

Definition at line 50 of file jdhuff.h.