Grok  7.6.6
T1HT.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2021 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 #include "T1Interface.h"
20 #include "stdint.h"
21 #include "TileProcessor.h"
22 #include "T1Interface.h"
23 
24 
25 namespace grk {
26 
27 struct TileCodingParams;
28 
29 namespace t1_ht {
30 
31 
32 class T1HT: public T1Interface {
33 public:
34  T1HT(bool isCompressor, TileCodingParams *tcp, uint32_t maxCblkW, uint32_t maxCblkH);
35  virtual ~T1HT();
36 
37  bool compress(CompressBlockExec *block);
38  bool decompress(DecompressBlockExec *block);
39 
40 private:
41  void preCompress(CompressBlockExec *block, grk_tile *tile);
43 
44  uint32_t coded_data_size;
45  uint8_t *coded_data;
47  int32_t *unencoded_data;
48 
49  mem_fixed_allocator *allocator;
50  mem_elastic_allocator *elastic_alloc;
51 };
52 }
53 }
Definition: T1Interface.h:23
Definition: T1HT.h:32
virtual ~T1HT()
Definition: T1HT.cpp:52
bool postDecompress(DecompressBlockExec *block)
bool compress(CompressBlockExec *block)
Definition: T1HT.cpp:102
mem_elastic_allocator * elastic_alloc
Definition: T1HT.h:50
uint32_t unencoded_data_size
Definition: T1HT.h:46
int32_t * unencoded_data
Definition: T1HT.h:47
void preCompress(CompressBlockExec *block, grk_tile *tile)
Definition: T1HT.cpp:58
uint32_t coded_data_size
Definition: T1HT.h:44
T1HT(bool isCompressor, TileCodingParams *tcp, uint32_t maxCblkW, uint32_t maxCblkH)
Definition: T1HT.cpp:37
mem_fixed_allocator * allocator
Definition: T1HT.h:49
bool decompress(DecompressBlockExec *block)
Definition: T1HT.cpp:129
uint8_t * coded_data
Definition: T1HT.h:45
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: BitIO.cpp:23
Definition: T1Structs.h:279
Definition: T1Structs.h:268
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: CodingParams.h:121
Definition: TileProcessor.h:37