Grok 20.3.2
grk::SchedulerStandard Class Reference

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

#include <SchedulerStandard.h>

Inheritance diagram for grk::SchedulerStandard:
grk::CodecScheduler FlowComponent grk::CompressScheduler grk::DecompressScheduler

Public Member Functions

 SchedulerStandard (uint16_t numComps)
 Constructs a SchedulerStandard.
 ~SchedulerStandard () override
 Destroys a SchedulerStandard.
void release (void) override
 Releases flow components.
ImageComponentFlowgetImageComponentFlow (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.
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.
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_.

Protected Member Functions

void graph (uint16_t compno)
 Calculates task graph for component.
Protected Member Functions inherited from grk::CodecScheduler
void releaseCoders (void)

Protected Attributes

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

Detailed Description

abstract class to graph and execute T1 tasks for whole tile

Task scheduling will be performed by derived classes

Constructor & Destructor Documentation

◆ SchedulerStandard()

grk::SchedulerStandard::SchedulerStandard ( uint16_t numComps)
explicit

◆ ~SchedulerStandard()

grk::SchedulerStandard::~SchedulerStandard ( )
override

Destroys a SchedulerStandard.

References release().

Member Function Documentation

◆ getImageComponentFlow()

ImageComponentFlow * grk::SchedulerStandard::getImageComponentFlow ( uint16_t compno)

Gets ImageComponentFlow for component.

compno component number

References imageComponentFlow_, and grk::CodecScheduler::numcomps_.

Referenced by grk::DecompressScheduler::scheduleT1().

◆ graph()

void grk::SchedulerStandard::graph ( uint16_t compno)
protected

Calculates task graph for component.

Parameters
compnocomponent number

References imageComponentFlow_, and grk::CodecScheduler::numcomps_.

Referenced by grk::DecompressScheduler::scheduleT1().

◆ release()

void grk::SchedulerStandard::release ( void )
overridevirtual

Member Data Documentation

◆ imageComponentFlow_

std::vector<ImageComponentFlow*> grk::SchedulerStandard::imageComponentFlow_
protected

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