Grok  9.7.5
DecompressScheduler.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2022 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 
18 #pragma once
19 
20 #include "grk_includes.h"
21 
22 namespace grk
23 {
25 {
26  ResDecompressBlocks(void) = default;
27  void clear(void);
28  bool empty(void) const;
29  void release(void);
30 
31  std::vector<DecompressBlockExec*> blocks_;
32 };
33 
34 typedef std::vector<ResDecompressBlocks> DecompressBlocks;
35 
37 {
38  public:
39  DecompressScheduler(TileProcessor* tileProcessor, Tile* tile, TileCodingParams* tcp,
40  uint8_t prec, bool doPostT1);
41  ~DecompressScheduler() = default;
42 
43  bool schedule(uint16_t compno) override;
44 
45  private:
46  bool scheduleBlocks(uint16_t compno);
47  bool scheduleWavelet(uint16_t compno);
51  uint8_t prec_;
52  bool doPostT1_;
54 };
55 
56 } // namespace grk
Definition: DecompressScheduler.h:37
bool doPostT1_
Definition: DecompressScheduler.h:52
bool scheduleBlocks(uint16_t compno)
Definition: DecompressScheduler.cpp:68
TileCodingParams * tcp_
Definition: DecompressScheduler.h:50
bool decompressBlock(T1Interface *impl, DecompressBlockExec *block)
Definition: DecompressScheduler.cpp:195
TileProcessor * tileProcessor_
Definition: DecompressScheduler.h:49
DecompressScheduler(TileProcessor *tileProcessor, Tile *tile, TileCodingParams *tcp, uint8_t prec, bool doPostT1)
Definition: DecompressScheduler.cpp:38
bool schedule(uint16_t compno) override
Definition: DecompressScheduler.cpp:43
DecompressBlocks allBlocks_
Definition: DecompressScheduler.h:53
uint8_t prec_
Definition: DecompressScheduler.h:51
bool scheduleWavelet(uint16_t compno)
Definition: DecompressScheduler.cpp:213
Definition: Scheduler.h:22
Definition: T1Interface.h:26
Copyright (C) 2016-2022 Grok Image Compression Inc.
Definition: ICacheable.h:20
std::vector< ResDecompressBlocks > DecompressBlocks
Definition: DecompressScheduler.h:34
Definition: BlockExec.h:45
Definition: DecompressScheduler.h:25
bool empty(void) const
Definition: DecompressScheduler.cpp:27
std::vector< DecompressBlockExec * > blocks_
Definition: DecompressScheduler.h:31
void release(void)
Definition: DecompressScheduler.cpp:31
void clear(void)
Definition: DecompressScheduler.cpp:23
ResDecompressBlocks(void)=default
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: CodingParams.h:122
Definition: TileProcessor.h:39
Tile processor for decompression and compression.
Definition: TileProcessor.h:76