Grok 12.0.2
|
#include <mct.h>
Public Member Functions | |
mct (Tile *tile, GrkImage *image, TileCodingParams *tcp, StripCache *stripCache) | |
void | compress_rev (FlowComponent *flow) |
Apply a reversible multi-component transform to an image. | |
void | decompress_rev (FlowComponent *flow) |
Apply a reversible multi-component inverse transform to an image. | |
void | compress_irrev (FlowComponent *flow) |
Apply an irreversible multi-component transform to an image. | |
void | decompress_irrev (FlowComponent *flow) |
Apply an irreversible multi-component inverse transform to an image. | |
void | decompress_dc_shift_rev (FlowComponent *flow, uint16_t compno) |
Apply a reversible inverse dc shift to an image. | |
void | decompress_dc_shift_irrev (FlowComponent *flow, uint16_t compno) |
Apply an irreversible inverse dc shift to an image. | |
Static Public Member Functions | |
static const double * | get_norms_rev (void) |
Get wavelet norms for reversible transform. | |
static const double * | get_norms_irrev (void) |
Get wavelet norms for irreversible transform. | |
static bool | compress_custom (uint8_t *p_coding_data, uint64_t n, uint8_t **p_data, uint16_t numComps, uint32_t is_signed) |
Custom MCT transform. | |
static bool | decompress_custom (uint8_t *pDecodingData, uint64_t n, uint8_t **pData, uint16_t pNbComp, uint32_t isSigned) |
Custom MCT decode. | |
static void | calculate_norms (double *pNorms, uint16_t nb_comps, float *pMatrix) |
Calculate norm of MCT transform. | |
Private Member Functions | |
void | genShift (uint16_t compno, int32_t sign, std::vector< ShiftInfo > &shiftInfo) |
void | genShift (int32_t sign, std::vector< ShiftInfo > &shiftInfo) |
Private Attributes | |
Tile * | tile_ |
GrkImage * | image_ |
TileCodingParams * | tcp_ |
StripCache * | stripCache_ |
grk::mct::mct | ( | Tile * | tile, |
GrkImage * | image, | ||
TileCodingParams * | tcp, | ||
StripCache * | stripCache ) |
|
static |
Calculate norm of MCT transform.
pNorms | MCT data |
nb_comps | number of components |
pMatrix | components |
Referenced by grk::CodeStreamCompress::init().
|
static |
Custom MCT transform.
p_coding_data | MCT data |
n | size of components |
p_data | components |
numComps | nb of components (i.e. size of p_data) |
is_signed | indicates if the data is signed |
References grk::fix_mul(), grk::grk_free(), and grk::grk_malloc().
Referenced by grk::TileProcessor::mct_encode().
void grk::mct::compress_irrev | ( | FlowComponent * | flow | ) |
Apply an irreversible multi-component transform to an image.
References genShift(), HWY_DYNAMIC_DISPATCH, grk::ScheduleInfo::shiftInfo, grk::singleTileRowsPerStrip, and tile_.
Referenced by grk::TileProcessor::mct_encode().
void grk::mct::compress_rev | ( | FlowComponent * | flow | ) |
Apply a reversible multi-component transform to an image.
References genShift(), HWY_DYNAMIC_DISPATCH, grk::ScheduleInfo::shiftInfo, grk::singleTileRowsPerStrip, and tile_.
Referenced by grk::TileProcessor::mct_encode().
|
static |
Custom MCT decode.
pDecodingData | MCT data |
n | size of components |
pData | components |
pNbComp | nb of components (i.e. size of p_data) |
isSigned | tells if the data is signed |
Referenced by grk::TileProcessor::mctDecompress().
void grk::mct::decompress_dc_shift_irrev | ( | FlowComponent * | flow, |
uint16_t | compno ) |
Apply an irreversible inverse dc shift to an image.
References grk::ScheduleInfo::compno, genShift(), HWY_DYNAMIC_DISPATCH, image_, _grk_image::rowsPerTask, grk::ScheduleInfo::shiftInfo, stripCache_, and tile_.
Referenced by grk::TileProcessor::decompressT2T1().
void grk::mct::decompress_dc_shift_rev | ( | FlowComponent * | flow, |
uint16_t | compno ) |
Apply a reversible inverse dc shift to an image.
References grk::ScheduleInfo::compno, genShift(), HWY_DYNAMIC_DISPATCH, image_, _grk_image::rowsPerTask, grk::ScheduleInfo::shiftInfo, stripCache_, and tile_.
Referenced by grk::TileProcessor::decompressT2T1().
void grk::mct::decompress_irrev | ( | FlowComponent * | flow | ) |
Apply an irreversible multi-component inverse transform to an image.
inverse irreversible MCT (with dc shift) (vector routines are disabled)
References hwy::DisableTargets(), genShift(), HWY_DYNAMIC_DISPATCH, HWY_SCALAR, image_, _grk_image::rowsPerTask, grk::ScheduleInfo::shiftInfo, stripCache_, and tile_.
Referenced by grk::TileProcessor::mctDecompress().
void grk::mct::decompress_rev | ( | FlowComponent * | flow | ) |
Apply a reversible multi-component inverse transform to an image.
References genShift(), HWY_DYNAMIC_DISPATCH, image_, _grk_image::rowsPerTask, grk::ScheduleInfo::shiftInfo, stripCache_, and tile_.
Referenced by grk::TileProcessor::mctDecompress().
|
private |
References genShift().
|
private |
|
static |
Get wavelet norms for irreversible transform.
References grk::mct_norms_irrev.
Referenced by grk::TileProcessor::t1_encode().
|
static |
Get wavelet norms for reversible transform.
References grk::mct_norms_rev.
Referenced by grk::TileProcessor::t1_encode().
|
private |
Referenced by decompress_dc_shift_irrev(), decompress_dc_shift_rev(), decompress_irrev(), decompress_rev(), and genShift().
|
private |
Referenced by decompress_dc_shift_irrev(), decompress_dc_shift_rev(), decompress_irrev(), and decompress_rev().
|
private |
Referenced by genShift().
|
private |
Referenced by compress_irrev(), compress_rev(), decompress_dc_shift_irrev(), decompress_dc_shift_rev(), decompress_irrev(), and decompress_rev().