Grok 20.3.2
grk::t1::mqcoder Struct Reference

MQ coder. More...

#include <mqc.h>

Inheritance diagram for grk::t1::mqcoder:
grk::t1::mqcoder_base

Public Member Functions

 mqcoder (void)
 Creates an mqcoder.
 mqcoder (bool cached)
 Creates an mqcoder.
 mqcoder (const mqcoder &other)
 ~mqcoder ()
mqcoderoperator= (const mqcoder &other)
bool operator== (const mqcoder &other) const
void print (const std::string &msg)
 Prints internal state.
void resetstates (void)
void reinit (void)
void backup ()
 Backs up data to backup_.
void restore ()
 Restores data from backup_.
void init_dec (uint8_t **buffers, uint32_t *buffer_lengths, uint16_t num_buffers)
 Initializes decoder for MQ decoding.
void init_dec_common (uint8_t **buffers, uint32_t *buffer_lengths, uint16_t num_buffers)
void update_dec (uint8_t **buffers, uint32_t *buffer_lengths, uint16_t num_buffers)
void raw_init_dec (uint8_t **buffers, uint32_t *buffer_lengths, uint16_t num_buffers)
 Initializes decoder for RAW decoding.
uint16_t numbytes_enc (void)
void init_enc (uint8_t *bp)
void flush_enc (void)
void bypass_init_enc (void)
uint16_t bypass_get_extra_bytes_enc (bool erterm)
void bypass_flush_enc (bool erterm)
void restart_init_enc (void)
void erterm_enc (void)
void segmark_enc (void)
void setbits_enc (void)
Public Member Functions inherited from grk::t1::mqcoder_base
 mqcoder_base (bool cached)
 Creates an mqcoder_base.
 ~mqcoder_base ()=default
 Destroys an mqcoder_base.
 mqcoder_base (const mqcoder_base &other)
mqcoder_baseoperator= (const mqcoder_base &other)
bool operator== (const mqcoder_base &other) const
void print (const std::string &msg)
 Prints internal state.
void reinit (void)

Public Attributes

uint8_t * start
 Pointer to start of buffer.
uint8_t * end
 Pointer to end of buffer.
uint8_t ** buffers
 Array of pointers to buffers.
uint32_t * buffer_lengths
 Array of buffer lengths.
uint16_t num_buffers
 Number of buffers.
uint32_t cur_buffer_index
 Index of the current buffer.
mqcoder_backupbackup_
 mqcoder_backup
bool overflow_
 true if compressed buffer overflow detected
const uint8_t * lut_ctxno_zc_orient
 lut_ctxno_zc shifted by (1 << 9) * bandIndex
Public Attributes inherited from grk::t1::mqcoder_base
uint32_t c
 Temporary buffer where bits are coded or decoded.
uint32_t a
uint8_t ct
 Number of bits already read / available to write.
uint32_t end_of_byte_stream_counter
 Count the number of times a terminating {0xFF, >0x8F} marker is read.
uint8_t * bp
 Pointer to current position in buffer.
const mqc_statectxs [MQC_NUMCTXS]
 Array of contexts.
const mqc_state ** curctx
 Pointer to current context in ctxs array.
ptrdiff_t curctx_index_
 Index of curctx in ctxs array.
bool cached_
 true if in differential decompress mode
bool finalLayer_
 true if final layer is being decompressed

Detailed Description

MQ coder.

Constructor & Destructor Documentation

◆ mqcoder() [1/3]

grk::t1::mqcoder::mqcoder ( void )

Creates an mqcoder.

References mqcoder().

Referenced by mqcoder(), mqcoder(), operator=(), and operator==().

◆ mqcoder() [2/3]

grk::t1::mqcoder::mqcoder ( bool cached)
explicit

Creates an mqcoder.

Parameters
cachedtrue if in differential decompress mode

References backup_, buffer_lengths, buffers, cur_buffer_index, end, lut_ctxno_zc_orient, grk::t1::mqcoder_base::mqcoder_base(), num_buffers, overflow_, and start.

◆ mqcoder() [3/3]

grk::t1::mqcoder::mqcoder ( const mqcoder & other)

◆ ~mqcoder()

grk::t1::mqcoder::~mqcoder ( )

References backup_.

Member Function Documentation

◆ backup()

◆ bypass_flush_enc()

void grk::t1::mqcoder::bypass_flush_enc ( bool erterm)

◆ bypass_get_extra_bytes_enc()

uint16_t grk::t1::mqcoder::bypass_get_extra_bytes_enc ( bool erterm)

◆ bypass_init_enc()

void grk::t1::mqcoder::bypass_init_enc ( void )

◆ erterm_enc()

void grk::t1::mqcoder::erterm_enc ( void )

◆ flush_enc()

void grk::t1::mqcoder::flush_enc ( void )

◆ init_dec()

void grk::t1::mqcoder::init_dec ( uint8_t ** buffers,
uint32_t * buffer_lengths,
uint16_t num_buffers )

Initializes decoder for MQ decoding.

Parameters
bpPointer to the start of the buffer from which the bytes will be read
lenLength of input buffer

References grk::t1::mqcoder_base::a, grk::t1::A_MIN, grk::t1::mqcoder_base::bp, buffer_lengths, buffers, grk::t1::mqcoder_base::c, CODER_SETCURCTX, grk::t1::mqcoder_base::ct, DEC_BYTEIN, grk::t1::mqcoder_base::end_of_byte_stream_counter, init_dec_common(), and num_buffers.

◆ init_dec_common()

void grk::t1::mqcoder::init_dec_common ( uint8_t ** buffers,
uint32_t * buffer_lengths,
uint16_t num_buffers )

◆ init_enc()

◆ numbytes_enc()

uint16_t grk::t1::mqcoder::numbytes_enc ( void )

References grk::t1::mqcoder_base::bp, and start.

◆ operator=()

◆ operator==()

bool grk::t1::mqcoder::operator== ( const mqcoder & other) const

References cur_buffer_index, and mqcoder().

◆ print()

void grk::t1::mqcoder::print ( const std::string & msg)

Prints internal state.

References cur_buffer_index, end, num_buffers, and grk::t1::mqcoder_base::print().

◆ raw_init_dec()

void grk::t1::mqcoder::raw_init_dec ( uint8_t ** buffers,
uint32_t * buffer_lengths,
uint16_t num_buffers )

Initializes decoder for RAW decoding.

Parameters
bpPointer to the start of the buffer from which the bytes will be read
lenLength of input buffer

References buffer_lengths, buffers, grk::t1::mqcoder_base::c, grk::t1::mqcoder_base::ct, init_dec_common(), and num_buffers.

◆ reinit()

void grk::t1::mqcoder::reinit ( void )

◆ resetstates()

void grk::t1::mqcoder::resetstates ( void )

◆ restart_init_enc()

void grk::t1::mqcoder::restart_init_enc ( void )

◆ restore()

void grk::t1::mqcoder::restore ( void )

◆ segmark_enc()

◆ setbits_enc()

void grk::t1::mqcoder::setbits_enc ( void )

◆ update_dec()

void grk::t1::mqcoder::update_dec ( uint8_t ** buffers,
uint32_t * buffer_lengths,
uint16_t num_buffers )

References buffer_lengths, buffers, and num_buffers.

Referenced by init_dec_common().

Member Data Documentation

◆ backup_

◆ buffer_lengths

uint32_t* grk::t1::mqcoder::buffer_lengths

Array of buffer lengths.

Referenced by init_dec(), init_dec_common(), mqcoder(), operator=(), raw_init_dec(), and update_dec().

◆ buffers

uint8_t** grk::t1::mqcoder::buffers

Array of pointers to buffers.

Referenced by init_dec(), init_dec_common(), mqcoder(), operator=(), raw_init_dec(), and update_dec().

◆ cur_buffer_index

uint32_t grk::t1::mqcoder::cur_buffer_index

Index of the current buffer.

Referenced by grk::DebugContext::handle(), init_dec_common(), mqcoder(), operator=(), operator==(), and print().

◆ end

uint8_t* grk::t1::mqcoder::end

Pointer to end of buffer.

Referenced by init_dec_common(), mqcoder(), operator=(), and print().

◆ lut_ctxno_zc_orient

const uint8_t* grk::t1::mqcoder::lut_ctxno_zc_orient

lut_ctxno_zc shifted by (1 << 9) * bandIndex

Referenced by mqcoder(), and operator=().

◆ num_buffers

uint16_t grk::t1::mqcoder::num_buffers

◆ overflow_

bool grk::t1::mqcoder::overflow_

true if compressed buffer overflow detected

Referenced by mqcoder(), and operator=().

◆ start

uint8_t* grk::t1::mqcoder::start

The documentation for this struct was generated from the following files: