ImageComponentFlow.h
Go to the documentation of this file.
/*
* Copyright (C) 2016-2023 Grok Image Compression Inc.
*
* This source code is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This source code is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#include "FlowComponent.h"
namespace grk
{
struct ResFlow
{
ResFlow(void);
~ResFlow(void);
FlowComponent* getPacketsFlow(void);
void disableWavelet(void);
void graph(void);
ResFlow* addTo(tf::Taskflow& composition);
ResFlow* precede(ResFlow* successor);
ResFlow* precede(FlowComponent* successor);
FlowComponent* getFinalFlowT1(void);
FlowComponent* packets_;
FlowComponent* blocks_;
FlowComponent* waveletHoriz_;
FlowComponent* waveletVert_;
bool doWavelet_;
};
class ImageComponentFlow
{
public:
ImageComponentFlow(uint8_t numResolutions);
virtual ~ImageComponentFlow(void);
void setRegionDecompression(void);
std::string genBlockFlowTaskName(uint8_t resFlowNo);
ResFlow* getResFlow(uint8_t resFlowNo);
void graph(void);
ImageComponentFlow* addTo(tf::Taskflow& composition);
FlowComponent* getFinalFlowT1(void);
FlowComponent* getPrePostProc(tf::Taskflow& codecFlow);
uint8_t numResFlows_;
ResFlow* resFlows_;
FlowComponent* waveletFinalCopy_;
FlowComponent* prePostProc_;
};
} // namespace grk
FlowComponent.h
FlowComponent
Definition FlowComponent.h:21
grk::ImageComponentFlow
Definition ImageComponentFlow.h:44
grk::ImageComponentFlow::getPrePostProc
FlowComponent * getPrePostProc(tf::Taskflow &codecFlow)
Definition ImageComponentFlow.cpp:142
grk::ImageComponentFlow::getResFlow
ResFlow * getResFlow(uint8_t resFlowNo)
Definition ImageComponentFlow.cpp:138
grk::ImageComponentFlow::graph
void graph(void)
Definition ImageComponentFlow.cpp:116
grk::ImageComponentFlow::~ImageComponentFlow
virtual ~ImageComponentFlow(void)
Definition ImageComponentFlow.cpp:106
grk::ImageComponentFlow::waveletFinalCopy_
FlowComponent * waveletFinalCopy_
Definition ImageComponentFlow.h:58
grk::ImageComponentFlow::addTo
ImageComponentFlow * addTo(tf::Taskflow &composition)
Definition ImageComponentFlow.cpp:129
grk::ImageComponentFlow::getFinalFlowT1
FlowComponent * getFinalFlowT1(void)
Definition ImageComponentFlow.cpp:125
grk::ImageComponentFlow::genBlockFlowTaskName
std::string genBlockFlowTaskName(uint8_t resFlowNo)
Definition ImageComponentFlow.cpp:152
grk::ImageComponentFlow::prePostProc_
FlowComponent * prePostProc_
Definition ImageComponentFlow.h:59
grk::ImageComponentFlow::resFlows_
ResFlow * resFlows_
Definition ImageComponentFlow.h:57
grk::ImageComponentFlow::setRegionDecompression
void setRegionDecompression(void)
Definition ImageComponentFlow.cpp:112
grk::ImageComponentFlow::numResFlows_
uint8_t numResFlows_
Definition ImageComponentFlow.h:56
grk
Copyright (C) 2016-2023 Grok Image Compression Inc.
Definition ICacheable.h:20
grk::grk_read
void grk_read(const uint8_t *buffer, TYPE *value, uint32_t numBytes)
Definition BufferedStream.h:239
grk::ResFlow
Definition ImageComponentFlow.h:25
grk::ResFlow::doWavelet_
bool doWavelet_
Definition ImageComponentFlow.h:40
grk::ResFlow::waveletVert_
FlowComponent * waveletVert_
Definition ImageComponentFlow.h:39
grk::ResFlow::waveletHoriz_
FlowComponent * waveletHoriz_
Definition ImageComponentFlow.h:38
grk::ResFlow::getPacketsFlow
FlowComponent * getPacketsFlow(void)
Definition ImageComponentFlow.cpp:25
grk::ResFlow::~ResFlow
~ResFlow(void)
Definition ImageComponentFlow.cpp:83
grk::ResFlow::packets_
FlowComponent * packets_
Definition ImageComponentFlow.h:36
grk::ResFlow::addTo
ResFlow * addTo(tf::Taskflow &composition)
Definition ImageComponentFlow.cpp:47
grk::ResFlow::precede
ResFlow * precede(ResFlow *successor)
Definition ImageComponentFlow.cpp:61
grk::ResFlow::getFinalFlowT1
FlowComponent * getFinalFlowT1(void)
Definition ImageComponentFlow.cpp:79
grk::ResFlow::ResFlow
ResFlow(void)
Definition ImageComponentFlow.cpp:21
grk::ResFlow::graph
void graph(void)
Definition ImageComponentFlow.cpp:39
grk::ResFlow::blocks_
FlowComponent * blocks_
Definition ImageComponentFlow.h:37
grk::ResFlow::disableWavelet
void disableWavelet(void)
Definition ImageComponentFlow.cpp:35