Grok  9.5.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
grk::T1CompressScheduler Class Reference

#include <T1CompressScheduler.h>

Public Member Functions

 T1CompressScheduler (Tile *tile, bool needsRateControl)
 
 ~T1CompressScheduler ()
 
void compress (std::vector< CompressBlockExec * > *blocks)
 
void scheduleCompress (TileCodingParams *tcp, const double *mct_norms, uint16_t mct_numcomps)
 

Private Member Functions

bool compress (size_t threadId, uint64_t maxBlocks)
 
void compress (T1Interface *impl, CompressBlockExec *block)
 

Private Attributes

Tiletile
 
std::vector< T1Interface * > t1Implementations
 
std::mutex distortion_mutex
 
bool needsRateControl
 
std::mutex block_mutex
 
CompressBlockExec ** encodeBlocks
 
std::atomic< int64_t > blockCount
 

Constructor & Destructor Documentation

◆ T1CompressScheduler()

grk::T1CompressScheduler::T1CompressScheduler ( Tile tile,
bool  needsRateControl 
)

◆ ~T1CompressScheduler()

grk::T1CompressScheduler::~T1CompressScheduler ( )

References t1Implementations.

Member Function Documentation

◆ compress() [1/3]

bool grk::T1CompressScheduler::compress ( size_t  threadId,
uint64_t  maxBlocks 
)
private

◆ compress() [2/3]

void grk::T1CompressScheduler::compress ( std::vector< CompressBlockExec * > *  blocks)

◆ compress() [3/3]

void grk::T1CompressScheduler::compress ( T1Interface impl,
CompressBlockExec block 
)
private

◆ scheduleCompress()

void grk::T1CompressScheduler::scheduleCompress ( TileCodingParams tcp,
const double *  mct_norms,
uint16_t  mct_numcomps 
)

Member Data Documentation

◆ block_mutex

std::mutex grk::T1CompressScheduler::block_mutex
mutableprivate

◆ blockCount

std::atomic<int64_t> grk::T1CompressScheduler::blockCount
private

Referenced by compress().

◆ distortion_mutex

std::mutex grk::T1CompressScheduler::distortion_mutex
mutableprivate

Referenced by compress().

◆ encodeBlocks

CompressBlockExec** grk::T1CompressScheduler::encodeBlocks
private

Referenced by compress().

◆ needsRateControl

bool grk::T1CompressScheduler::needsRateControl
private

Referenced by compress(), and scheduleCompress().

◆ t1Implementations

std::vector<T1Interface*> grk::T1CompressScheduler::t1Implementations
private

◆ tile

Tile* grk::T1CompressScheduler::tile
private

Referenced by compress(), and scheduleCompress().


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