Grok  7.6.3
Static Public Member Functions | List of all members
grk::mct Class Reference

#include <mct.h>

Static Public Member Functions

static void compress_rev (int32_t *c0, int32_t *c1, int32_t *c2, uint64_t n)
 Apply a reversible multi-component transform to an image. More...
 
static void decompress_rev (grk_tile *tile, grk_image *image, TileComponentCodingParams *tccps)
 Apply a reversible multi-component inverse transform to an image. More...
 
static const double * get_norms_rev (void)
 Get wavelet norms for reversible transform. More...
 
static void compress_irrev (int *c0, int *c1, int *c2, uint64_t n)
 Apply an irreversible multi-component transform to an image. More...
 
static void decompress_irrev (grk_tile *tile, grk_image *image, TileComponentCodingParams *tccps)
 Apply an irreversible multi-component inverse transform to an image. More...
 
static const double * get_norms_irrev (void)
 Get wavelet norms for irreversible transform. More...
 
static bool compress_custom (uint8_t *p_coding_data, uint64_t n, uint8_t **p_data, uint32_t nb_comp, uint32_t is_signed)
 Custom MCT transform. More...
 
static bool decompress_custom (uint8_t *pDecodingData, uint64_t n, uint8_t **pData, uint32_t pNbComp, uint32_t isSigned)
 Custom MCT decode. More...
 
static void calculate_norms (double *pNorms, uint32_t nb_comps, float *pMatrix)
 Calculate norm of MCT transform. More...
 
static void decompress_dc_shift_rev (grk_tile *tile, grk_image *image, TileComponentCodingParams *tccps, uint32_t compno)
 Apply a reversible inverse dc shift to an image. More...
 
static void decompress_dc_shift_irrev (grk_tile *tile, grk_image *image, TileComponentCodingParams *tccps, uint32_t compno)
 Apply an irreversible inverse dc shift to an image. More...
 

Member Function Documentation

◆ calculate_norms()

void grk::mct::calculate_norms ( double *  pNorms,
uint32_t  nb_comps,
float *  pMatrix 
)
static

Calculate norm of MCT transform.

Parameters
pNormsMCT data
nb_compsnumber of components
pMatrixcomponents

Referenced by grk::CodeStream::init_compress().

◆ compress_custom()

bool grk::mct::compress_custom ( uint8_t *  p_coding_data,
uint64_t  n,
uint8_t **  p_data,
uint32_t  nb_comp,
uint32_t  is_signed 
)
static

Custom MCT transform.

Parameters
p_coding_dataMCT data
nsize of components
p_datacomponents
nb_compnb of components (i.e. size of p_data)
is_signedindicates if the data is signed
Returns
false if function encounter a problem, true otherwise

References grk::grk_free(), grk::grk_malloc(), GRK_UNUSED, and grk::int_fix_mul().

Referenced by grk::TileProcessor::mct_encode().

◆ compress_irrev()

void grk::mct::compress_irrev ( int *  c0,
int *  c1,
int *  c2,
uint64_t  n 
)
static

Apply an irreversible multi-component transform to an image.

Parameters
c0Samples for red component
c1Samples for green component
c2Samples blue component
nNumber of samples for each component

References grk::CPUArch::AVX2(), ThreadPool::get(), ThreadPool::num_threads(), and VREG_INT_COUNT.

Referenced by grk::TileProcessor::mct_encode().

◆ compress_rev()

void grk::mct::compress_rev ( int32_t *  c0,
int32_t *  c1,
int32_t *  c2,
uint64_t  n 
)
static

Apply a reversible multi-component transform to an image.

Parameters
c0Samples for red component
c1Samples for green component
c2Samples blue component
nNumber of samples for each component

References grk::CPUArch::AVX2(), ThreadPool::get(), ThreadPool::num_threads(), grk::CPUArch::SSE2(), and VREG_INT_COUNT.

Referenced by grk::TileProcessor::mct_encode().

◆ decompress_custom()

bool grk::mct::decompress_custom ( uint8_t *  pDecodingData,
uint64_t  n,
uint8_t **  pData,
uint32_t  pNbComp,
uint32_t  isSigned 
)
static

Custom MCT decode.

Parameters
pDecodingDataMCT data
nsize of components
pDatacomponents
pNbCompnb of components (i.e. size of p_data)
isSignedtells if the data is signed
Returns
false if function encounter a problem, true otherwise

References GRK_UNUSED.

Referenced by grk::TileProcessor::mct_decompress().

◆ decompress_dc_shift_irrev()

void grk::mct::decompress_dc_shift_irrev ( grk_tile tile,
grk_image image,
TileComponentCodingParams tccps,
uint32_t  compno 
)
static

◆ decompress_dc_shift_rev()

void grk::mct::decompress_dc_shift_rev ( grk_tile tile,
grk_image image,
TileComponentCodingParams tccps,
uint32_t  compno 
)
static

◆ decompress_irrev()

void grk::mct::decompress_irrev ( grk_tile tile,
grk_image image,
TileComponentCodingParams tccps 
)
static

◆ decompress_rev()

void grk::mct::decompress_rev ( grk_tile tile,
grk_image image,
TileComponentCodingParams tccps 
)
static

◆ get_norms_irrev()

const double * grk::mct::get_norms_irrev ( void  )
static

Get wavelet norms for irreversible transform.

References grk::mct_norms_irrev.

Referenced by grk::TileProcessor::t1_encode().

◆ get_norms_rev()

const double * grk::mct::get_norms_rev ( void  )
static

Get wavelet norms for reversible transform.

References grk::mct_norms_rev.

Referenced by grk::TileProcessor::t1_encode().


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