C# Class BitMiracle.LibJpeg.Classic.Internal.huff_entropy_decoder

Expanded entropy decoder object for Huffman decoding. The savable_state subrecord contains fields that change within an MCU, but must not be updated permanently until we complete the MCU.
Inheritance: jpeg_entropy_decoder
Show file Open project: prepare/HTML-Renderer

Public Methods

Method Description
finish_pass_huff ( ) : void
huff_entropy_decoder ( jpeg_decompress_struct cinfo ) : System
start_pass ( ) : void

Initialize for a Huffman-compressed scan.

Protected Methods

Method Description
jpeg_huff_decode ( bitread_working_state &state, int get_buffer, int bits_left, d_derived_tbl htbl, int min_bits ) : int

Private Methods

Method Description
BITREAD_LOAD_STATE ( bitread_perm_state bitstate, int &get_buffer, int &bits_left, bitread_working_state &br_state ) : void
BITREAD_SAVE_STATE ( bitread_perm_state &bitstate, int get_buffer, int bits_left ) : void
CHECK_BIT_BUFFER ( bitread_working_state &state, int nbits, int &get_buffer, int &bits_left ) : bool
DROP_BITS ( int nbits, int &bits_left ) : void
GET_BITS ( int nbits, int get_buffer, int &bits_left ) : int
HUFF_DECODE ( int &result, bitread_working_state &state, d_derived_tbl htbl, int &get_buffer, int &bits_left ) : bool
HUFF_EXTEND ( int x, int s ) : int
PEEK_BITS ( int nbits, int get_buffer, int bits_left ) : int
decode_mcu_AC_first ( JBLOCK MCU_data ) : bool

MCU decoding for AC initial scan (either spectral selection, or first pass of successive approximation).

decode_mcu_AC_refine ( JBLOCK MCU_data ) : bool
decode_mcu_DC_first ( JBLOCK MCU_data ) : bool

MCU decoding for DC initial scan (either spectral selection, or first pass of successive approximation).

decode_mcu_DC_refine ( JBLOCK MCU_data ) : bool

MCU decoding for DC successive approximation refinement scan. Note: we assume such scans can be multi-component, although the spec is not very clear on the point.

decode_mcu_full ( JBLOCK MCU_data ) : bool

Decode one MCU's worth of Huffman-compressed coefficients, full-size blocks.

decode_mcu_sub ( JBLOCK MCU_data ) : bool

Decode one MCU's worth of Huffman-compressed coefficients, partial blocks.

jpeg_fill_bit_buffer ( bitread_working_state &state, int get_buffer, int bits_left, int nbits ) : bool
jpeg_make_d_derived_tbl ( bool isDC, int tblno, d_derived_tbl &dtbl ) : void

Expand a Huffman table definition into the derived format This routine also performs some validation checks on the table.

process_restart ( ) : bool

Check for a restart marker and resynchronize decoder. Returns false if must suspend.

undo_decode_mcu_AC_refine ( JBLOCK block, int newnz_pos, int num_newnz ) : void

MCU decoding for AC successive approximation refinement scan.

Method Details

finish_pass_huff() public method

public finish_pass_huff ( ) : void
return void

huff_entropy_decoder() public method

public huff_entropy_decoder ( jpeg_decompress_struct cinfo ) : System
cinfo jpeg_decompress_struct
return System

jpeg_huff_decode() protected static method

protected static jpeg_huff_decode ( bitread_working_state &state, int get_buffer, int bits_left, d_derived_tbl htbl, int min_bits ) : int
state bitread_working_state
get_buffer int
bits_left int
htbl d_derived_tbl
min_bits int
return int

start_pass() public method

Initialize for a Huffman-compressed scan.
public start_pass ( ) : void
return void