j2k_codeblock Class Reference

`#include <coding_units.hpp>`

Inheritance diagram for j2k_codeblock:

## 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
| ) |  |

References block_states, layer_passes, layer_start, num_layers, pass_length, sample_buf, size, element_siz::x, and element_siz::y.

## 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

References get_state(), Refinement_value(), Scan(), and Sigma().

## 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

References block_states, size, and element_siz::x.

Referenced by calc_mbr(), ht_magref_decode(), htj2k_decode(), make_storage(), and make_storage_one().

## 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

References block_states, size, and element_siz::x.

Referenced by ht_cleanup_decode(), and ht_magref_decode().

## 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 | ) |

References band_stride, block_states, i_samples, sample_buf, size, element_siz::x, and element_siz::y.

## 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

Referenced by htj2k_decode(), and set_MagSgn_and_sigma().

## block_states

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

Referenced by get_state(), j2k_codeblock(), modify_state(), and set_MagSgn_and_sigma().

## Cmodes

uint16_t j2k_codeblock::Cmodes

## compressed_data

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

private

Referenced by get_compressed_data(), and set_compressed_data().

## 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

Referenced by htj2k_decode(), and set_MagSgn_and_sigma().

## 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

Referenced by ht_cleanup_decode(), ht_magref_decode(), htj2k_decode(), j2k_codeblock(), make_storage(), make_storage_one(), print_block(), and set_MagSgn_and_sigma().

## size

const element_siz j2k_codeblock::size

Referenced by get_state(), ht_cleanup_decode(), ht_magref_decode(), ht_sigprop_decode(), htj2k_decode(), j2k_codeblock(), make_storage(), make_storage_one(), modify_state(), print_block(), and set_MagSgn_and_sigma().

## 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:

- coding_units.hpp
- coding_units.cpp
- ht_block_decoding.cpp
- ht_block_encoding.cpp