Grok 12.0.1
Scheduler.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016-2024 Grok Image Compression Inc.
3 *
4 * This source code is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Affero General Public License, version 3,
6 * as published by the Free Software Foundation.
7 *
8 * This source code is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Affero General Public License for more details.
12 *
13 * You should have received a copy of the GNU Affero General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 */
17#pragma once
18
19namespace grk
20{
22{
23 public:
24 Scheduler(Tile* tile);
25 virtual ~Scheduler();
26
27 virtual bool schedule(uint16_t compno) = 0;
28 void graph(uint16_t compno);
29 bool run(void);
31 tf::Taskflow& getCodecFlow(void);
33
34 protected:
35 std::atomic_bool success;
36 std::vector<T1Interface*> t1Implementations;
38 tf::Taskflow codecFlow_;
42};
43
44} // namespace grk
Definition FlowComponent.h:21
Definition ImageComponentFlow.h:44
Definition Scheduler.h:22
Scheduler(Tile *tile)
Definition Scheduler.cpp:25
Tile * tile_
Definition Scheduler.h:39
tf::Taskflow & getCodecFlow(void)
Definition Scheduler.cpp:56
std::atomic_bool success
Definition Scheduler.h:35
tf::Taskflow codecFlow_
Definition Scheduler.h:38
uint16_t numcomps_
Definition Scheduler.h:40
virtual ~Scheduler()
Definition Scheduler.cpp:32
FlowComponent * prePostProc_
Definition Scheduler.h:41
bool run(void)
Definition Scheduler.cpp:41
ImageComponentFlow * getImageComponentFlow(uint16_t compno)
Definition Scheduler.cpp:52
void graph(uint16_t compno)
Definition Scheduler.cpp:47
FlowComponent * getPrePostProc(void)
Definition Scheduler.cpp:61
ImageComponentFlow ** imageComponentFlows_
Definition Scheduler.h:37
std::vector< T1Interface * > t1Implementations
Definition Scheduler.h:36
virtual bool schedule(uint16_t compno)=0
Copyright (C) 2016-2024 Grok Image Compression Inc.
Definition ICacheable.h:20
void grk_read(const uint8_t *buffer, TYPE *value, uint32_t numBytes)
Definition BufferedStream.h:239
Definition TileProcessor.h:39