#include "jinclude.h"
#include "jpeglib.h"
Classes | |
struct | d_derived_tbl |
struct | bitread_perm_state |
struct | bitread_working_state |
struct | savable_state |
struct | huff_entropy_decoder |
Defines | |
#define | JPEG_INTERNALS |
#define | HUFF_LOOKAHEAD 8 |
#define | BIT_BUF_SIZE 32 |
#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)))) & BIT_MASK(nbits)) |
#define | PEEK_BITS(nbits) (((int) (get_buffer >> (bits_left - (nbits)))) & BIT_MASK(nbits)) |
#define | DROP_BITS(nbits) (bits_left -= (nbits)) |
#define | HUFF_DECODE(result, state, htbl, failaction, slowlabel) |
#define | ASSIGN_STATE(dest, src) ((dest) = (src)) |
#define | MIN_GET_BITS (BIT_BUF_SIZE-7) |
#define | BIT_MASK(nbits) bmask[nbits] |
#define | HUFF_EXTEND(x, s) ((x) <= bmask[(s) - 1] ? (x) - bmask[s] : (x)) |
Typedefs | |
typedef INT32 | bit_buf_type |
typedef huff_entropy_decoder * | huff_entropy_ptr |
Functions | |
jpeg_make_d_derived_tbl (j_decompress_ptr cinfo, boolean isDC, int tblno, d_derived_tbl **pdtbl) | |
jpeg_fill_bit_buffer (bitread_working_state *state, register bit_buf_type get_buffer, register int bits_left, int nbits) | |
jpeg_huff_decode (bitread_working_state *state, register bit_buf_type get_buffer, register int bits_left, d_derived_tbl *htbl, int min_bits) | |
process_restart (j_decompress_ptr cinfo) | |
decode_mcu_DC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |
decode_mcu_AC_first (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |
decode_mcu_DC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |
decode_mcu_AC_refine (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |
decode_mcu_sub (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |
decode_mcu (j_decompress_ptr cinfo, JBLOCKROW *MCU_data) | |
start_pass_huff_decoder (j_decompress_ptr cinfo) | |
jinit_huff_decoder (j_decompress_ptr cinfo) |
#define ASSIGN_STATE | ( | dest, | ||
src | ||||
) | ((dest) = (src)) |
#define BIT_BUF_SIZE 32 |
#define BIT_MASK | ( | nbits | ) | bmask[nbits] |
#define BITREAD_LOAD_STATE | ( | cinfop, | ||
permstate | ||||
) |
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;
#define BITREAD_SAVE_STATE | ( | cinfop, | ||
permstate | ||||
) |
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
#define BITREAD_STATE_VARS |
register bit_buf_type get_buffer; \ register int bits_left; \ bitread_working_state br_state
#define CHECK_BIT_BUFFER | ( | state, | ||
nbits, | ||||
action | ||||
) |
{ 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; } }
#define DROP_BITS | ( | nbits | ) | (bits_left -= (nbits)) |
#define GET_BITS | ( | nbits | ) | (((int) (get_buffer >> (bits_left -= (nbits)))) & BIT_MASK(nbits)) |
#define HUFF_DECODE | ( | result, | ||
state, | ||||
htbl, | ||||
failaction, | ||||
slowlabel | ||||
) |
{ 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; \ } \ }
#define HUFF_EXTEND | ( | x, | ||
s | ||||
) | ((x) <= bmask[(s) - 1] ? (x) - bmask[s] : (x)) |
#define HUFF_LOOKAHEAD 8 |
#define JPEG_INTERNALS |
#define MIN_GET_BITS (BIT_BUF_SIZE-7) |
#define PEEK_BITS | ( | nbits | ) | (((int) (get_buffer >> (bits_left - (nbits)))) & BIT_MASK(nbits)) |
typedef INT32 bit_buf_type |
typedef huff_entropy_decoder* huff_entropy_ptr |
decode_mcu | ( | j_decompress_ptr | cinfo, | |
JBLOCKROW * | MCU_data | |||
) |
decode_mcu_AC_first | ( | j_decompress_ptr | cinfo, | |
JBLOCKROW * | MCU_data | |||
) |
decode_mcu_AC_refine | ( | j_decompress_ptr | cinfo, | |
JBLOCKROW * | MCU_data | |||
) |
decode_mcu_DC_first | ( | j_decompress_ptr | cinfo, | |
JBLOCKROW * | MCU_data | |||
) |
decode_mcu_DC_refine | ( | j_decompress_ptr | cinfo, | |
JBLOCKROW * | MCU_data | |||
) |
decode_mcu_sub | ( | j_decompress_ptr | cinfo, | |
JBLOCKROW * | MCU_data | |||
) |
jinit_huff_decoder | ( | j_decompress_ptr | cinfo | ) |
jpeg_fill_bit_buffer | ( | bitread_working_state * | state, | |
register bit_buf_type | get_buffer, | |||
register int | bits_left, | |||
int | nbits | |||
) |
jpeg_huff_decode | ( | bitread_working_state * | state, | |
register bit_buf_type | get_buffer, | |||
register int | bits_left, | |||
d_derived_tbl * | htbl, | |||
int | min_bits | |||
) |
jpeg_make_d_derived_tbl | ( | j_decompress_ptr | cinfo, | |
boolean | isDC, | |||
int | tblno, | |||
d_derived_tbl ** | pdtbl | |||
) |
process_restart | ( | j_decompress_ptr | cinfo | ) |
start_pass_huff_decoder | ( | j_decompress_ptr | cinfo | ) |