|
Grok 20.3.2
|
Compresses a tile using windowed design. More...
#include <CompressSchedulerExcalibur.h>
Public Member Functions | |
| CompressSchedulerExcalibur (Tile *tile, bool needsRateControl, TileCodingParams *tcp, const double *mct_norms, uint16_t mct_numcomps) | |
| Constructs a CompressSchedulerExcalibur. | |
| ~CompressSchedulerExcalibur () override=default | |
| Destroys a SchedulerExcalibur. | |
| Public Member Functions inherited from grk::SchedulerExcalibur | |
| SchedulerExcalibur (uint16_t numComps) | |
| Constructs a SchedulerExcalibur. | |
| virtual | ~SchedulerExcalibur () |
| Destroys a SchedulerExcalibur. | |
| Public Member Functions inherited from grk::CodecScheduler | |
| CodecScheduler (uint16_t numComps) | |
| Contructs a CodecScheduler. | |
| virtual | ~CodecScheduler () |
| Destroys a CodecScheduler. | |
| virtual bool | scheduleT1 (ITileProcessor *proc)=0 |
| Schedules all T1 tasks for a ITileProcessor. | |
| void | run (void) |
| Runs tf::Executor. | |
| bool | wait (void) |
| Waits for tf::Executor to complete. | |
| virtual void | release (void)=0 |
| Releases Taskflow resources. | |
| 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 Attributes | |
| Tile * | tile_ |
| Tile to compress | |
| std::mutex | distortion_mutex_ |
| mutex to serialize distortion decrease from blocks | |
| bool | needsRateControl_ |
| true if rate control requested | |
| std::vector< t1::CompressBlockExec * > | encodeBlocks_ |
| vector of CompressBlockExec encode blocks | |
| std::atomic< int64_t > | blockCount_ |
| atomic counter to keep track of number of encoded blocks | |
| TileCodingParams * | tcp_ |
| TileCodingParams for this tile | |
| const double * | mct_norms_ |
| array of mct norms | |
| uint16_t | mct_numcomps_ |
| number of components to apply mct to | |
Additional Inherited Members | |
| Protected Member Functions inherited from grk::CodecScheduler | |
| void | releaseCoders (void) |
| 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 | |
Compresses a tile using windowed design.
| grk::CompressSchedulerExcalibur::CompressSchedulerExcalibur | ( | Tile * | tile, |
| bool | needsRateControl, | ||
| TileCodingParams * | tcp, | ||
| const double * | mct_norms, | ||
| uint16_t | mct_numcomps ) |
Constructs a CompressSchedulerExcalibur.
| tile | Tile |
| needsRateControl | true if rate control needed |
| tcp | TileCodingParams |
| mct_norms | array of mct norms |
| mct_numcomps | number of mct components |
References blockCount_, mct_norms_, mct_numcomps_, needsRateControl_, grk::CodecScheduler::numcomps_, grk::SchedulerExcalibur::SchedulerExcalibur(), tcp_, and tile_.
|
overridedefault |
Destroys a SchedulerExcalibur.
|
private |
atomic counter to keep track of number of encoded blocks
Referenced by CompressSchedulerExcalibur().
|
mutableprivate |
mutex to serialize distortion decrease from blocks
|
private |
vector of CompressBlockExec encode blocks
|
private |
array of mct norms
Referenced by CompressSchedulerExcalibur().
|
private |
number of components to apply mct to
Referenced by CompressSchedulerExcalibur().
|
private |
true if rate control requested
Referenced by CompressSchedulerExcalibur().
|
private |
TileCodingParams for this tile
Referenced by CompressSchedulerExcalibur().
|
private |
Tile to compress
Referenced by CompressSchedulerExcalibur().