Grok 10.0.1
Public Member Functions | Public Attributes | Private Attributes | List of all members
j2k_codeblock Class Reference

#include <coding_units.hpp>

Inheritance diagram for j2k_codeblock:
j2k_region

Public Member Functions

 j2k_codeblock (const uint32_t &idx, uint8_t orientation, uint8_t M_b, uint8_t R_b, uint8_t transformation, float stepsize, uint32_t band_stride, sprec_t *ibuf, float *fbuf, uint32_t offset, const uint16_t &numlayers, const uint8_t &codeblock_style, const element_siz &p0, const element_siz &p1, const element_siz &s)
 
void modify_state (const std::function< void(uint8_t &, uint8_t)> &callback, uint8_t val, int16_t j1, int16_t j2)
 
uint8_t get_state (const std::function< uint8_t(uint8_t &)> &callback, int16_t j1, int16_t j2) const
 
uint8_t get_orientation () const
 
uint8_t get_context_label_sig (const uint16_t &j1, const uint16_t &j2) const
 
uint8_t get_signLUT_index (const uint16_t &j1, const uint16_t &j2) const
 
uint8_t get_Mb () const
 
uint8_t * get_compressed_data ()
 
void set_compressed_data (uint8_t *buf, uint16_t size)
 
float * get_fsample_addr (const int16_t &j1, const int16_t &j2) const
 
void update_sample (const uint8_t &symbol, const uint8_t &p, const uint16_t &j1, const uint16_t &j2) const
 
void update_sign (const int8_t &val, const uint16_t &j1, const uint16_t &j2) const
 
uint8_t get_sign (const uint16_t &j1, const uint16_t &j2) const
 
void set_MagSgn_and_sigma (uint32_t &or_val)
 
void calc_mbr (uint8_t &mbr, uint16_t i, uint16_t j, uint32_t mbr_info, uint8_t causal_cond) const
 
- Public Member Functions inherited from j2k_region
element_siz get_pos0 () const
 
element_siz get_pos1 () const
 
void get_size (element_siz &out) const
 
void set_pos0 (element_siz in)
 
void set_pos1 (element_siz in)
 
 j2k_region ()=default
 
 j2k_region (element_siz p0, element_siz p1)
 

Public Attributes

const element_siz size
 
std::unique_ptr< uint8_t[]> block_states
 
const uint8_t R_b
 
const uint8_t transformation
 
const float stepsize
 
const uint32_t band_stride
 
const uint16_t num_layers
 
std::unique_ptr< int32_t[]> sample_buf
 
sprec_t *const i_samples
 
float *const f_samples
 
uint32_t length
 
uint16_t Cmodes
 
uint8_t num_passes
 
uint8_t num_ZBP
 
uint8_t fast_skip_passes
 
uint32_t Lblock
 
std::vector< uint32_t > pass_length
 
std::unique_ptr< uint8_t[]> layer_start
 
std::unique_ptr< uint8_t[]> layer_passes
 
bool already_included
 
- Public Attributes inherited from j2k_region
element_siz pos0
 
element_siz pos1
 

Private Attributes

const uint32_t index
 
const uint8_t band
 
const uint8_t M_b
 
std::unique_ptr< uint8_t[]> compressed_data
 
uint8_t * current_address
 

Constructor & Destructor Documentation

◆ j2k_codeblock()

j2k_codeblock::j2k_codeblock ( const uint32_t &  idx,
uint8_t  orientation,
uint8_t  M_b,
uint8_t  R_b,
uint8_t  transformation,
float  stepsize,
uint32_t  band_stride,
sprec_t ibuf,
float *  fbuf,
uint32_t  offset,
const uint16_t &  numlayers,
const uint8_t &  codeblock_style,
const element_siz p0,
const element_siz p1,
const element_siz s 
)

Member Function Documentation

◆ calc_mbr()

void j2k_codeblock::calc_mbr ( uint8_t &  mbr,
uint16_t  i,
uint16_t  j,
uint32_t  mbr_info,
uint8_t  causal_cond 
) const

◆ get_compressed_data()

uint8_t * j2k_codeblock::get_compressed_data ( )

References compressed_data.

Referenced by htj2k_decode().

◆ get_context_label_sig()

uint8_t j2k_codeblock::get_context_label_sig ( const uint16_t &  j1,
const uint16_t &  j2 
) const

◆ get_fsample_addr()

float * j2k_codeblock::get_fsample_addr ( const int16_t &  j1,
const int16_t &  j2 
) const

◆ get_Mb()

uint8_t j2k_codeblock::get_Mb ( ) const

References M_b.

Referenced by htj2k_decode().

◆ get_orientation()

uint8_t j2k_codeblock::get_orientation ( ) const
inline

References band.

◆ get_sign()

uint8_t j2k_codeblock::get_sign ( const uint16_t &  j1,
const uint16_t &  j2 
) const

◆ get_signLUT_index()

uint8_t j2k_codeblock::get_signLUT_index ( const uint16_t &  j1,
const uint16_t &  j2 
) const

◆ get_state()

uint8_t j2k_codeblock::get_state ( const std::function< uint8_t(uint8_t &)> &  callback,
int16_t  j1,
int16_t  j2 
) const
inline

◆ modify_state()

void j2k_codeblock::modify_state ( const std::function< void(uint8_t &, uint8_t)> &  callback,
uint8_t  val,
int16_t  j1,
int16_t  j2 
)
inline

◆ set_compressed_data()

void j2k_codeblock::set_compressed_data ( uint8_t *  buf,
uint16_t  size 
)

References compressed_data, and current_address.

◆ set_MagSgn_and_sigma()

void j2k_codeblock::set_MagSgn_and_sigma ( uint32_t &  or_val)

◆ update_sample()

void j2k_codeblock::update_sample ( const uint8_t &  symbol,
const uint8_t &  p,
const uint16_t &  j1,
const uint16_t &  j2 
) const

◆ update_sign()

void j2k_codeblock::update_sign ( const int8_t &  val,
const uint16_t &  j1,
const uint16_t &  j2 
) const

Member Data Documentation

◆ already_included

bool j2k_codeblock::already_included

◆ band

const uint8_t j2k_codeblock::band
private

Referenced by get_orientation().

◆ band_stride

const uint32_t j2k_codeblock::band_stride

◆ block_states

std::unique_ptr<uint8_t[]> j2k_codeblock::block_states

◆ Cmodes

uint16_t j2k_codeblock::Cmodes

◆ compressed_data

std::unique_ptr<uint8_t[]> j2k_codeblock::compressed_data
private

◆ current_address

uint8_t* j2k_codeblock::current_address
private

Referenced by set_compressed_data().

◆ f_samples

float* const j2k_codeblock::f_samples

◆ fast_skip_passes

uint8_t j2k_codeblock::fast_skip_passes

◆ i_samples

sprec_t* const j2k_codeblock::i_samples

◆ index

const uint32_t j2k_codeblock::index
private

◆ layer_passes

std::unique_ptr<uint8_t[]> j2k_codeblock::layer_passes

Referenced by j2k_codeblock().

◆ layer_start

std::unique_ptr<uint8_t[]> j2k_codeblock::layer_start

Referenced by j2k_codeblock().

◆ Lblock

uint32_t j2k_codeblock::Lblock

◆ length

uint32_t j2k_codeblock::length

Referenced by htj2k_decode().

◆ M_b

const uint8_t j2k_codeblock::M_b
private

Referenced by get_Mb().

◆ num_layers

const uint16_t j2k_codeblock::num_layers

Referenced by j2k_codeblock().

◆ num_passes

uint8_t j2k_codeblock::num_passes

Referenced by htj2k_decode().

◆ num_ZBP

uint8_t j2k_codeblock::num_ZBP

Referenced by htj2k_decode().

◆ pass_length

std::vector<uint32_t> j2k_codeblock::pass_length

Referenced by htj2k_decode(), and j2k_codeblock().

◆ R_b

const uint8_t j2k_codeblock::R_b

◆ sample_buf

std::unique_ptr<int32_t[]> j2k_codeblock::sample_buf

◆ size

const element_siz j2k_codeblock::size

◆ stepsize

const float j2k_codeblock::stepsize

◆ transformation

const uint8_t j2k_codeblock::transformation

Referenced by htj2k_decode().


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