Grok 20.3.2
grk::DecompressSchedulerExcalibur Class Reference

abstract class to graph and execute T1 tasks for windowed tile More...

#include <DecompressSchedulerExcalibur.h>

Inheritance diagram for grk::DecompressSchedulerExcalibur:
grk::SchedulerExcalibur grk::CodecScheduler FlowComponent

Public Member Functions

 DecompressSchedulerExcalibur (uint16_t numComps, uint8_t prec, CoderPool *streamPool)
 Constructs a SchedulerExcalibur.
 ~DecompressSchedulerExcalibur () override
 Destroys a SchedulerExcalibur.
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::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.
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.
FlowComponentname (const std::string &name)
 Gets name of composition task.
tf::Task & nextTask ()
 Gets next task placeholder for componentFlow_.

Private Attributes

DifferentialInfodifferentialInfo_
uint8_t prec_
 precision of input image
CoderPool coderPool_
CoderPoolstreamPool_

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

Detailed Description

abstract class to graph and execute T1 tasks for windowed tile

Task scheduling will be performed by derived classes

Constructor & Destructor Documentation

◆ DecompressSchedulerExcalibur()

grk::DecompressSchedulerExcalibur::DecompressSchedulerExcalibur ( uint16_t numComps,
uint8_t prec,
CoderPool * streamPool )

Constructs a SchedulerExcalibur.

Parameters
numCompsnumber of components
streamPoolcode stream pool

References differentialInfo_, prec_, grk::SchedulerExcalibur::SchedulerExcalibur(), and streamPool_.

◆ ~DecompressSchedulerExcalibur()

grk::DecompressSchedulerExcalibur::~DecompressSchedulerExcalibur ( )
override

Destroys a SchedulerExcalibur.

References differentialInfo_.

Member Function Documentation

◆ release()

void grk::DecompressSchedulerExcalibur::release ( void )
overridevirtual

Releases Taskflow resources.

Implements grk::CodecScheduler.

◆ scheduleT1()

Member Data Documentation

◆ coderPool_

CoderPool grk::DecompressSchedulerExcalibur::coderPool_
private

Referenced by scheduleT1().

◆ differentialInfo_

DifferentialInfo* grk::DecompressSchedulerExcalibur::differentialInfo_
private

◆ prec_

uint8_t grk::DecompressSchedulerExcalibur::prec_
private

precision of input image

Referenced by DecompressSchedulerExcalibur(), and scheduleT1().

◆ streamPool_

CoderPool* grk::DecompressSchedulerExcalibur::streamPool_
private

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