grk::DecompressScheduler Class Reference

`#include <DecompressScheduler.h>`

Inheritance diagram for grk::DecompressScheduler:

## Public Member Functions

| DecompressScheduler (TileProcessor *tileProcessor, Tile *tile, TileCodingParams *tcp, uint8_t prec)
| ~DecompressScheduler ()
bool | schedule (uint16_t compno) override
Public Member Functions inherited from grk::Scheduler
| Scheduler (Tile *tile)
virtual | ~Scheduler ()
void | graph (uint16_t compno)
bool | run (void)
ImageComponentFlow * | getImageComponentFlow (uint16_t compno)
tf::Taskflow & | getCodecFlow (void)
FlowComponent * | getPrePostProc (void)

## Private Member Functions

bool | scheduleBlocks (uint16_t compno)
bool | scheduleWavelet (uint16_t compno)
bool | decompressBlock (T1Interface *impl, DecompressBlockExec *block)
void | releaseBlocks (uint16_t compno)

## Private Attributes

TileProcessor * | tileProcessor_
TileCodingParams * | tcp_
uint8_t | prec_
uint16_t | numcomps_
TileDecompressBlocks | tileBlocks_
WaveletReverse ** | waveletReverse_

## Additional Inherited Members

Protected Attributes inherited from grk::Scheduler
std::atomic_bool | success
std::vector< T1Interface * > | t1Implementations
ImageComponentFlow ** | imageComponentFlows_
tf::Taskflow | codecFlow_
Tile * | tile_
uint16_t | numcomps_
FlowComponent * | prePostProc_

## Constructor & Destructor Documentation

## DecompressScheduler()

grk::DecompressScheduler::DecompressScheduler | ( | TileProcessor * | tileProcessor,
|  | Tile * | tile,
|  | TileCodingParams * | tcp,
|  | uint8_t | prec
| ) |  |

References grk::grk_read(), numcomps_, and waveletReverse_.

## ~DecompressScheduler()

grk::DecompressScheduler::~DecompressScheduler | ( |  | ) |

References grk::grk_read(), numcomps_, and waveletReverse_.

## Member Function Documentation

## decompressBlock()

bool grk::DecompressScheduler::decompressBlock | ( | T1Interface * | impl,
|  | DecompressBlockExec * | block
| ) |  |

private

References grk::GRK_ERROR(), and grk::grk_read().

Referenced by scheduleBlocks().

## releaseBlocks()

void grk::DecompressScheduler::releaseBlocks | ( | uint16_t | compno | ) |

private

References grk::grk_read(), and tileBlocks_.

Referenced by schedule().

## schedule()

bool grk::DecompressScheduler::schedule | ( | uint16_t | compno | ) |

override virtual

Implements grk::Scheduler.

References grk::Scheduler::codecFlow_, grk::Tile::comps, grk::Scheduler::getImageComponentFlow(), grk::Scheduler::graph(), grk::grk_read(), numcomps_, releaseBlocks(), scheduleBlocks(), scheduleWavelet(), and grk::Scheduler::tile_.

## scheduleBlocks()

bool grk::DecompressScheduler::scheduleBlocks | ( | uint16_t | compno | ) |

private

References grk::ResFlow::blocks_, grk::Tile::comps, decompressBlock(), grk::gain_b, ExecSingleton::get(), grk::grk_read(), grk::Scheduler::imageComponentFlows_, grk::TileComponent::isWholeTileDecoding(), grk::T1Factory::makeT1(), FlowComponent::nextTask(), prec_, grk::ImageComponentFlow::resFlows_, grk::ImageComponentFlow::setRegionDecompression(), grk::Scheduler::success, grk::Scheduler::t1Implementations, grk::TileCodingParams::tccps, tcp_, grk::Scheduler::tile_, and tileBlocks_.

Referenced by schedule().

## scheduleWavelet()

bool grk::DecompressScheduler::scheduleWavelet | ( | uint16_t | compno | ) |

private

References grk::Tile::comps, grk::WaveletReverse::decompress(), grk::grk_read(), grk::TileComponent::highestResolutionDecompressed, grk::TileCodingParams::tccps, tcp_, grk::Scheduler::tile_, tileProcessor_, and waveletReverse_.

Referenced by schedule().

## Member Data Documentation

## numcomps_

uint16_t grk::DecompressScheduler::numcomps_

private

Referenced by DecompressScheduler(), schedule(), and ~DecompressScheduler().

## prec_

uint8_t grk::DecompressScheduler::prec_

private

Referenced by scheduleBlocks().

## tcp_

TileCodingParams* grk::DecompressScheduler::tcp_

private

Referenced by scheduleBlocks(), and scheduleWavelet().

## tileBlocks_

TileDecompressBlocks grk::DecompressScheduler::tileBlocks_

private

Referenced by releaseBlocks(), and scheduleBlocks().

## tileProcessor_

TileProcessor* grk::DecompressScheduler::tileProcessor_

private

Referenced by scheduleWavelet().

## waveletReverse_

WaveletReverse** grk::DecompressScheduler::waveletReverse_

private

Referenced by DecompressScheduler(), scheduleWavelet(), and ~DecompressScheduler().

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

- DecompressScheduler.h
- DecompressScheduler.cpp