|
Grok 20.3.2
|
schedule and run T1 decompression More...
#include <DecompressScheduler.h>
Public Member Functions | |
| DecompressScheduler (uint16_t numcomps, uint8_t prec, CoderPool *streamPool) | |
| Constructs a DecompressScheduler. | |
| ~DecompressScheduler () override | |
| Destroys a DecompressScheduler. | |
| bool | scheduleT1 (ITileProcessor *tileProcessor) override |
| Schedules all T1 tasks for a ITileProcessor. | |
| void | release (void) override |
| Releases Taskflow resources. | |
| Public Member Functions inherited from grk::SchedulerStandard | |
| SchedulerStandard (uint16_t numComps) | |
| Constructs a SchedulerStandard. | |
| ~SchedulerStandard () override | |
| Destroys a SchedulerStandard. | |
| void | release (void) override |
| Releases flow components. | |
| ImageComponentFlow * | getImageComponentFlow (uint16_t compno) |
| Gets ImageComponentFlow for component. | |
| Public Member Functions inherited from grk::CodecScheduler | |
| CodecScheduler (uint16_t numComps) | |
| Contructs a CodecScheduler. | |
| virtual | ~CodecScheduler () |
| Destroys a CodecScheduler. | |
| void | run (void) |
| Runs tf::Executor. | |
| bool | wait (void) |
| Waits for tf::Executor to complete. | |
| Public Member Functions inherited from FlowComponent | |
| void | addTo (tf::Taskflow &composition) |
| Composes this FlowComponent's tf::Taskflow with another tf::Taskflow. | |
| void | precede (FlowComponent &successor) |
| Schedule this FlowComponent before another FlowComponent. | |
| void | precede (tf::Task &successor) |
| Schedule this Taskflow before another FlowComponent. | |
| tf::Task & | getCompositionTask (void) |
| void | conditional_precede (FlowComponent *root, FlowComponent *successor, std::function< int()> condition_lambda) |
| Conditionally schedule successor based on condition_lambda. | |
| FlowComponent * | name (const std::string &name) |
| Gets name of composition task. | |
| tf::Task & | nextTask () |
| Gets next task placeholder for componentFlow_. | |
Private Member Functions | |
| FlowComponent * | genPrePostProc (void) |
| Generates a new FlowComponet for pre/post processing. | |
Private Attributes | |
| uint8_t | prec_ |
| precision of input image | |
| TileBlocks | blocksByTile_ |
| TileBlocks | |
| std::vector< WaveletReverse * > | waveletReverse_ |
| vector of WaveletReverse pointers | |
| DifferentialInfo * | differentialInfo_ |
| FlowComponent * | prePostProc_ |
| FlowComponent for pre/post processing | |
| CoderPool | coderPool_ |
| CoderPool * | streamPool_ |
| WaveletPoolData | waveletPoolData_ |
Additional Inherited Members | |
| Protected Member Functions inherited from grk::SchedulerStandard | |
| void | graph (uint16_t compno) |
| Calculates task graph for component. | |
| Protected Member Functions inherited from grk::CodecScheduler | |
| void | releaseCoders (void) |
| Protected Attributes inherited from grk::SchedulerStandard | |
| std::vector< ImageComponentFlow * > | imageComponentFlow_ |
| store image component flows | |
| Protected Attributes inherited from grk::CodecScheduler | |
| std::atomic_bool | success_ |
| atomic tracking of compress/decompress success | |
| uint16_t | numcomps_ |
| number of components | |
| std::vector< t1::ICoder * > | coders_ |
| pool of ICoder | |
| tf::Future< void > | runFuture_ |
| tf::Future<void> resulting from running scheduler | |
schedule and run T1 decompression
| grk::DecompressScheduler::DecompressScheduler | ( | uint16_t | numcomps, |
| uint8_t | prec, | ||
| CoderPool * | streamPool ) |
Constructs a DecompressScheduler.
| numcomps | number of components |
| prec | precision of input image |
| streamPool | code stream pool |
References blocksByTile_, differentialInfo_, prec_, prePostProc_, grk::SchedulerStandard::SchedulerStandard(), streamPool_, and waveletReverse_.
|
override |
Destroys a DecompressScheduler.
References blocksByTile_, differentialInfo_, grk::CodecScheduler::numcomps_, release(), and waveletReverse_.
|
private |
Generates a new FlowComponet for pre/post processing.
References prePostProc_.
Referenced by scheduleT1().
|
overridevirtual |
Releases Taskflow resources.
Implements grk::CodecScheduler.
References prePostProc_, and grk::SchedulerStandard::release().
Referenced by ~DecompressScheduler().
|
overridevirtual |
Schedules all T1 tasks for a ITileProcessor.
| proc | ITileProcessor |
Implements grk::CodecScheduler.
References grk::t1::BlockExec::bandIndex, grk::t1::BlockExec::bandNumbps, grk::t1::BlockExec::bandOrientation, grk::ResBlocks::blocks_, grk::Resflow::blocks_, blocksByTile_, grk::t1::DecompressBlockExec::cblk, grk::t1::BlockExec::cblk_sty, grk::ResBlocks::clear(), coderPool_, grk::ResBlocks::combine(), grk::Tile::comps_, grk::TileComponent::currentPacketProgressionState_, differentialInfo_, grk::ITileProcessor::doPostT1(), grk::DcShiftParam::enabled, grk::gain_b, genPrePostProc(), TFSingleton::get(), grk::ITileProcessor::getCodingParams(), grk::ITileProcessor::getHeaderImage(), grk::SchedulerStandard::getImageComponentFlow(), grk::ITileProcessor::getMCT(), grk::ResolutionChecker::getResBounds(), grk::ITileProcessor::getScheduler(), grk::ITileProcessor::getTCP(), grk::ITileProcessor::getTile(), grk::ITileProcessor::getTileCacheStrategy(), grk::SchedulerStandard::graph(), GRK_TILE_CACHE_ALL, grk::grklog, grk::SchedulerStandard::imageComponentFlow_, grk::TileComponent::isWholeTileDecoding(), grk::t1::BlockExec::k_msbs, grk::t1::CoderFactory::makeCoder(), grk::DcShiftParam::max, grk::DcShiftParam::min, grk::ITileProcessor::needsMctDecompress(), FlowComponent::nextTask(), TFSingleton::num_threads(), grk::CodecScheduler::numcomps_, grk::PacketProgressionState::numResolutionsRead(), prec_, grk::t1::BlockExec::qmfbid, grk::t1::BlockExec::R_b, grk::t1::DecompressBlockExec::resno, grk::t1::DecompressBlockExec::roishift, grk::DcShiftParam::shift, grk::ITileProcessor::shouldDecodeComponent(), grk::t1::BlockExec::stepsize, streamPool_, grk::CodecScheduler::success_, grk::CodingParams::t_height_, grk::CodingParams::t_width_, waveletPoolData_, waveletReverse_, and grk::TileCodingParams::wholeTileDecompress_.
|
private |
Referenced by DecompressScheduler(), scheduleT1(), and ~DecompressScheduler().
|
private |
Referenced by scheduleT1().
|
private |
Referenced by DecompressScheduler(), scheduleT1(), and ~DecompressScheduler().
|
private |
precision of input image
Referenced by DecompressScheduler(), and scheduleT1().
|
private |
FlowComponent for pre/post processing
Referenced by DecompressScheduler(), genPrePostProc(), and release().
|
private |
Referenced by DecompressScheduler(), and scheduleT1().
|
private |
Referenced by scheduleT1().
|
private |
vector of WaveletReverse pointers
Referenced by DecompressScheduler(), scheduleT1(), and ~DecompressScheduler().