Grok  7.6.2
T1Structs.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2020 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 #include <map>
22 
23 namespace grk {
24 
25 struct ISparseBuffer;
26 struct grk_tile;
27 struct TileComponent;
28 
33 };
34 
35 
42 };
43 
44 
46 // Band Indices
47 
48 // LL band index when resolution == 0
49 const uint32_t BAND_RES_ZERO_INDEX_LL = 0;
50 
51 // band indices when resolution > 0
57 };
59 
60 
61 // code segment (code block can be encoded into multiple segments)
62 struct Segment {
63  Segment();
64 
65  void clear();
66  uint32_t dataindex; // segment data offset in contiguous memory block
67  uint32_t numpasses; // number of passes in segment
68  uint32_t len; // total length of segment
69  uint32_t maxpasses; // maximum number of passes in segment
70  uint32_t numPassesInPacket; // number of passes contributed by current packet
71  uint32_t numBytesInPacket; // number of bytes contributed by current packet
72 };
73 
75  PacketLengthInfo(uint32_t mylength, uint32_t bits);
77  bool operator==(const PacketLengthInfo &rhs) const;
78  uint32_t len;
79  uint32_t len_bits;
80 };
81 
82 // compressing/decoding pass
83 struct CodePass {
84  CodePass();
85  uint32_t rate;
86  double distortiondec;
87  uint32_t len;
88  uint8_t term;
89  uint16_t slope; //ln(slope) in 8.8 fixed point
90 };
91 
92 //quality layer
93 struct Layer {
94  Layer();
95  uint32_t numpasses; /* Number of passes in the layer */
96  uint32_t len; /* len of information */
97  double disto; /* add for index (Cfr. Marcela) */
98  uint8_t *data; /* data buffer (points to code block data) */
99 };
100 
101 struct Codeblock : public grk_rect_u32 {
102  Codeblock(const Codeblock &rhs);
103  Codeblock();
104  Codeblock& operator=(const Codeblock& other);
105  virtual ~Codeblock(){}
106  virtual void clear();
108  uint32_t numbps;
109  uint32_t numlenbits;
110  uint32_t numPassesInPacket; /* number of passes encoded in current packet */
111 #ifdef DEBUG_LOSSLESS_T2
112  uint32_t included;
113  std::vector<PacketLengthInfo> packet_length_info;
114 #endif
115 };
116 
117 // compressor code block
118 struct CompressCodeblock : public Codeblock {
123 
124  void clear() override;
125  bool alloc();
126  bool alloc_data(size_t nominalBlockSize);
127  void cleanup();
131  uint32_t numPassesInPreviousPackets; /* number of passes in previous packets */
132  uint32_t numPassesTotal; /* total number of passes in all layers */
133  uint32_t *contextStream;
134 };
135 
136 //decompressor code block
142 
143  void clear() override;
144  void init();
145  bool alloc();
146  void cleanup();
147  void cleanup_seg_buffers();
148  size_t getSegBuffersLen();
149  bool copy_to_contiguous_buffer(uint8_t *buffer);
150  std::vector<grk_buf*> seg_buffers;
151  Segment *segs; /* information on segments */
152  uint32_t numSegments; /* number of segment in block*/
153  uint32_t numSegmentsAllocated; // number of segments allocated for segs array
154 
155 };
156 
157 struct PrecinctImpl {
158  PrecinctImpl();
159  ~PrecinctImpl();
160  void initTagTrees();
161  void deleteTagTrees();
162  bool init(bool isCompressor,
163  grk_rect_u32 *bounds,
164  grk_pt cblk_expn,
165  grk_plugin_tile *current_plugin_tile);
166 
167  uint32_t cblk_grid_width;
171  TagTree *incltree; /* inclusion tree */
172  TagTree *imsbtree; /* IMSB tree */
173 };
174 
175 
176 // precinct
177 struct Precinct : public grk_rect_u32 {
178  Precinct(void);
179  ~Precinct(void);
180  bool init(bool isCompressor,
181  grk_pt cblk_expn,
182  grk_plugin_tile *current_plugin_tile);
183 
184  void initTagTrees(void);
185  void deleteTagTrees(void);
186  uint32_t getCblkGridwidth(void);
187  uint32_t getCblkGridHeight(void);
188  uint64_t getNumCblks(void);
191  TagTree* getInclTree(void);
192  TagTree* getImsbTree(void);
193 
194  uint64_t precinctIndex;
195 private:
198 };
199 
200 
201 
202 // band
203 struct Subband : public grk_rect_u32 {
204  Subband();
205  Subband(const Subband &rhs);
206  Subband& operator= (const Subband &rhs);
207  bool isEmpty() ;
208  void print();
209  Precinct* getPrecinct(uint64_t precinctIndex);
210  Precinct* createPrecinct(bool isCompressor,
211  uint64_t precinctIndex,
212  grk_pt precinct_start,
213  grk_pt precinct_expn,
214  uint32_t pw,
215  grk_pt cblk_expn,
216  grk_plugin_tile *current_plugin_tile);
217 
219  std::vector<Precinct*> precincts;
220  // maps global precinct index to vector index
221  std::map<uint64_t, uint64_t> precinctMap;
222  uint64_t numPrecincts;
223  uint32_t numbps;
224  float stepsize;
225  // inverse step size in 13 bit fixed point
226  uint32_t inv_step;
227 
228 };
229 
230 // resolution
231 struct Resolution : public grk_rect_u32 {
232  Resolution();
233  void print();
234  bool init(bool isCompressor,
236  uint8_t resno,
238 
241  uint32_t numBandWindows; // 1 or 3
242  uint32_t pw, ph; /* dimensions of precinct grid */
247 
248 };
249 
250 struct BlockExec : public IOpenable {
251 
252  BlockExec();
254  uint8_t bandIndex;
256  float stepsize;
257  uint32_t cblk_sty;
258  uint32_t qmfbid;
259  /* code block offset in tile coordinates*/
260  uint32_t x;
261  uint32_t y;
262  // missing bit planes for all blocks in band
263  uint8_t k_msbs;
264  bool isOpen;
265 };
266 
267 
268 struct TileComponent;
269 
272  bool open(T1Interface *t1);
273  void close(void);
274 
276  uint8_t resno;
277  uint32_t roishift;
278 
279 };
280 
281 struct CompressBlockExec : public BlockExec{
283  bool open(T1Interface *t1);
284  void close(void);
285 
289  double distortion;
290  int32_t *tiledp;
291  uint16_t compno;
292  uint8_t resno;
293  uint64_t precinctIndex;
294  uint64_t cblkno;
295  // inverse step size in 13 bit fixed point
296  int32_t inv_step;
297  float inv_step_ht;
298  const double *mct_norms;
299 #ifdef DEBUG_LOSSLESS_T1
300  int32_t* unencodedData;
301 #endif
302  uint32_t mct_numcomps;
303 
304 };
305 
306 
307 }
grk::default_numbers_segments
const uint32_t default_numbers_segments
Definition: CodeStream.h:57
grk::Precinct::deleteTagTrees
void deleteTagTrees(void)
Definition: T1Structs.cpp:74
grk::CompressBlockExec::resno
uint8_t resno
Definition: T1Structs.h:292
grk::BAND_INDEX_LH
@ BAND_INDEX_LH
Definition: T1Structs.h:53
grk::grk_point< uint32_t >
grk::BAND_NUM_INDICES
@ BAND_NUM_INDICES
Definition: T1Structs.h:56
grk::PrecinctImpl::cblk_grid_height
uint32_t cblk_grid_height
Definition: T1Structs.h:168
grk::grk_buffer< uint8_t >
grk::PrecinctImpl::dec
DecompressCodeblock * dec
Definition: T1Structs.h:170
grk::Precinct::initTagTrees
void initTagTrees(void)
Definition: T1Structs.cpp:79
grk::SPLIT_NUM_ORIENTATIONS
@ SPLIT_NUM_ORIENTATIONS
Definition: T1Structs.h:32
grk::Resolution::init
bool init(bool isCompressor, TileComponentCodingParams *tccp, uint8_t resno, grk_plugin_tile *current_plugin_tile)
Definition: T1Structs.cpp:560
grk::grk_rectangle< uint32_t >
grk::PrecinctImpl
Definition: T1Structs.h:157
grk::CompressCodeblock::numPassesInPreviousPackets
uint32_t numPassesInPreviousPackets
Definition: T1Structs.h:131
grk::Resolution::ph
uint32_t ph
Definition: T1Structs.h:242
grk::PrecinctImpl::init
bool init(bool isCompressor, grk_rect_u32 *bounds, grk_pt cblk_expn, grk_plugin_tile *current_plugin_tile)
Definition: T1Structs.cpp:117
grk::CodePass::rate
uint32_t rate
Definition: T1Structs.h:85
grk::Segment::numPassesInPacket
uint32_t numPassesInPacket
Definition: T1Structs.h:70
grk::DecompressCodeblock::cleanup
void cleanup()
Definition: T1Structs.cpp:429
grk::Layer::data
uint8_t * data
Definition: T1Structs.h:98
grk::BAND_NUM_ORIENTATIONS
@ BAND_NUM_ORIENTATIONS
Definition: T1Structs.h:41
grk::CompressBlockExec::close
void close(void)
Definition: T1Structs.cpp:648
grk::Precinct::getCblkGridwidth
uint32_t getCblkGridwidth(void)
Definition: T1Structs.cpp:84
grk::Precinct::getNumCblks
uint64_t getNumCblks(void)
Definition: T1Structs.cpp:90
grk::CompressBlockExec
Definition: T1Structs.h:281
grk::CompressCodeblock::contextStream
uint32_t * contextStream
Definition: T1Structs.h:133
grk::Precinct::~Precinct
~Precinct(void)
Definition: T1Structs.cpp:58
grk::CompressBlockExec::compno
uint16_t compno
Definition: T1Structs.h:291
grk::BlockExec::cblk_sty
uint32_t cblk_sty
Definition: T1Structs.h:257
grk::Subband::precincts
std::vector< Precinct * > precincts
Definition: T1Structs.h:219
grk::CodePass::len
uint32_t len
Definition: T1Structs.h:87
grk::TagTree
Tag tree.
Definition: TagTree.h:46
grk::Subband::numbps
uint32_t numbps
Definition: T1Structs.h:223
grk::Codeblock
Definition: T1Structs.h:101
grk::Layer::disto
double disto
Definition: T1Structs.h:97
grk::Subband::Subband
Subband()
Definition: T1Structs.cpp:463
grk::Codeblock::Codeblock
Codeblock()
Definition: T1Structs.cpp:224
grk::TileComponentCodingParams
Tile-component coding parameters.
Definition: CodingParams.h:49
grk::Codeblock::compressedStream
grk_buf compressedStream
Definition: T1Structs.h:107
grk::BlockExec::y
uint32_t y
Definition: T1Structs.h:261
grk::GRK_WARN
void GRK_WARN(const char *fmt,...)
Definition: logger.cpp:49
grk::CompressBlockExec::tiledp
int32_t * tiledp
Definition: T1Structs.h:290
grk::CompressCodeblock::alloc
bool alloc()
Definition: T1Structs.cpp:313
grk::Resolution::current_plugin_tile
grk_plugin_tile * current_plugin_tile
Definition: T1Structs.h:246
grk::PrecinctImpl::~PrecinctImpl
~PrecinctImpl()
Definition: T1Structs.cpp:111
grk::grk_calloc
void * grk_calloc(size_t num, size_t size)
Allocate a memory block with elements initialized to 0.
Definition: MemManager.cpp:111
grk::PrecinctImpl::cblk_grid_width
uint32_t cblk_grid_width
Definition: T1Structs.h:167
grk::uint_floordivpow2
static uint32_t uint_floordivpow2(uint32_t a, uint32_t b)
Divide an unsigned integer by a power of 2 and round downwards.
Definition: grk_intmath.h:55
grk::Subband::numPrecincts
uint64_t numPrecincts
Definition: T1Structs.h:222
grk::DecompressBlockExec::close
void close(void)
Definition: T1Structs.cpp:663
grk::PrecinctImpl::imsbtree
TagTree * imsbtree
Definition: T1Structs.h:172
grk::Codeblock::numPassesInPacket
uint32_t numPassesInPacket
Definition: T1Structs.h:110
grk::grk_rectangle::x1
T x1
Definition: util.h:76
grk::BlockExec::band_orientation
eBandOrientation band_orientation
Definition: T1Structs.h:255
grk::CodePass::term
uint8_t term
Definition: T1Structs.h:88
grk::grk_free
void grk_free(void *ptr)
Deallocates or frees a memory block.
Definition: MemManager.cpp:141
grk::TagTree::init
bool init(uint64_t num_leafs_h, uint64_t num_leafs_v)
Reinitialises a tag tree.
Definition: TagTree.cpp:96
grk::CompressBlockExec::mct_norms
const double * mct_norms
Definition: T1Structs.h:298
grk::BAND_RES_ZERO_INDEX_LL
const uint32_t BAND_RES_ZERO_INDEX_LL
Definition: T1Structs.h:49
grk::Subband::isEmpty
bool isEmpty()
Definition: T1Structs.cpp:493
grk::CompressBlockExec::open
bool open(T1Interface *t1)
Definition: T1Structs.cpp:643
grk::grk_buffer::owns_data
bool owns_data
Definition: util.h:266
grk::Resolution::Resolution
Resolution()
Definition: T1Structs.cpp:544
grk::CodePass
Definition: T1Structs.h:83
_grk_plugin_tile
Plugin tile.
Definition: grok.h:1240
grk::BlockExec
Definition: T1Structs.h:250
grk::Layer::Layer
Layer()
Definition: T1Structs.cpp:48
grk::Segment::numpasses
uint32_t numpasses
Definition: T1Structs.h:67
grk::Precinct::initialized
bool initialized
Definition: T1Structs.h:197
grk::Precinct
Definition: T1Structs.h:177
grk::BlockExec::x
uint32_t x
Definition: T1Structs.h:260
grk::CodePass::slope
uint16_t slope
Definition: T1Structs.h:89
grk::Subband::operator=
Subband & operator=(const Subband &rhs)
Definition: T1Structs.cpp:481
grk::Resolution::cblk_expn
grk_pt cblk_expn
Definition: T1Structs.h:243
grk::PacketLengthInfo::PacketLengthInfo
PacketLengthInfo()
Definition: T1Structs.cpp:38
grk::CompressCodeblock::numPassesTotal
uint32_t numPassesTotal
Definition: T1Structs.h:132
grk::Precinct::precinctIndex
uint64_t precinctIndex
Definition: T1Structs.h:194
grk::grk_buffer::dealloc
void dealloc()
Definition: util.h:217
grk::BAND_ORIENT_HL
@ BAND_ORIENT_HL
Definition: T1Structs.h:38
grk::CompressBlockExec::cblkno
uint64_t cblkno
Definition: T1Structs.h:294
grk::Resolution::pw
uint32_t pw
Definition: T1Structs.h:242
grk::CompressCodeblock::~CompressCodeblock
~CompressCodeblock()
Definition: T1Structs.cpp:301
grk::Codeblock::clear
virtual void clear()
Definition: T1Structs.cpp:261
grk::Subband::precinctMap
std::map< uint64_t, uint64_t > precinctMap
Definition: T1Structs.h:221
grk::CompressCodeblock::passes
CodePass * passes
Definition: T1Structs.h:130
grk::grk_point::x
T x
Definition: util.h:40
grk::DecompressBlockExec::cblk
DecompressCodeblock * cblk
Definition: T1Structs.h:275
grk::Precinct::getCompressedBlockPtr
CompressCodeblock * getCompressedBlockPtr(void)
Definition: T1Structs.cpp:93
grk_plugin_get_debug_state
uint32_t GRK_CALLCONV grk_plugin_get_debug_state()
Get debug state of plugin.
Definition: grok.cpp:633
grk::Codeblock::numbps
uint32_t numbps
Definition: T1Structs.h:108
grk::Precinct::getInclTree
TagTree * getInclTree(void)
Definition: T1Structs.cpp:99
grk::BAND_ORIENT_LH
@ BAND_ORIENT_LH
Definition: T1Structs.h:39
grk::DecompressCodeblock::clear
void clear() override
Definition: T1Structs.cpp:368
grk::PrecinctImpl::PrecinctImpl
PrecinctImpl()
Definition: T1Structs.cpp:106
grk::Precinct::impl
PrecinctImpl * impl
Definition: T1Structs.h:196
grk::grk_buffer::buf
T * buf
Definition: util.h:263
grk::Segment::numBytesInPacket
uint32_t numBytesInPacket
Definition: T1Structs.h:71
grk::Resolution::print
void print()
Definition: T1Structs.cpp:552
grk::BlockExec::stepsize
float stepsize
Definition: T1Structs.h:256
grk::CompressCodeblock::clear
void clear() override
Definition: T1Structs.cpp:304
grk::TileComponentCodingParams::cblkh
uint8_t cblkh
log2(code-blocks height)
Definition: CodingParams.h:58
grk::Codeblock::~Codeblock
virtual ~Codeblock()
Definition: T1Structs.h:105
grk::Precinct::getCblkGridHeight
uint32_t getCblkGridHeight(void)
Definition: T1Structs.cpp:87
grk::CompressBlockExec::tile
grk_tile * tile
Definition: T1Structs.h:287
grk::DecompressCodeblock::DecompressCodeblock
DecompressCodeblock()
Definition: T1Structs.cpp:361
grk::Segment::clear
void clear()
Definition: T1Structs.cpp:26
grk::Subband::stepsize
float stepsize
Definition: T1Structs.h:224
grk::DecompressBlockExec::resno
uint8_t resno
Definition: T1Structs.h:276
grk::T1Interface::decompress
virtual bool decompress(DecompressBlockExec *block)=0
grk::grk_pt
grk_point< uint32_t > grk_pt
Definition: util.h:43
grk::Layer
Definition: T1Structs.h:93
grk::grk_rectangle< uint32_t >::print
void print(void) const
Definition: util.h:87
grk::Resolution::precinct_start
grk_pt precinct_start
Definition: T1Structs.h:244
grk::PrecinctImpl::deleteTagTrees
void deleteTagTrees()
Definition: T1Structs.cpp:180
grk::PrecinctImpl::initTagTrees
void initTagTrees()
Definition: T1Structs.cpp:187
grk::Resolution::band
Subband band[BAND_NUM_INDICES]
Definition: T1Structs.h:240
grk::Layer::numpasses
uint32_t numpasses
Definition: T1Structs.h:95
grk::BlockExec::isOpen
bool isOpen
Definition: T1Structs.h:264
grk::SPLIT_L
@ SPLIT_L
Definition: T1Structs.h:30
grk::DecompressCodeblock::cleanup_seg_buffers
void cleanup_seg_buffers()
Definition: T1Structs.cpp:436
grk::DecompressCodeblock::getSegBuffersLen
size_t getSegBuffersLen()
Definition: T1Structs.cpp:444
grk::Segment::len
uint32_t len
Definition: T1Structs.h:68
grk::DecompressCodeblock::operator=
DecompressCodeblock & operator=(const DecompressCodeblock &other)
Definition: T1Structs.cpp:380
grk::Precinct::init
bool init(bool isCompressor, grk_pt cblk_expn, grk_plugin_tile *current_plugin_tile)
Definition: T1Structs.cpp:62
grk::Resolution::initialized
bool initialized
Definition: T1Structs.h:239
grk::eBandIndex
eBandIndex
Definition: T1Structs.h:52
grk::CompressBlockExec::cblk
CompressCodeblock * cblk
Definition: T1Structs.h:286
grk::PacketLengthInfo::operator==
bool operator==(const PacketLengthInfo &rhs) const
Definition: T1Structs.cpp:41
grk::T1Interface::compress
virtual bool compress(CompressBlockExec *block)=0
grk
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.cpp:23
grk::Resolution::numBandWindows
uint32_t numBandWindows
Definition: T1Structs.h:241
grk::DecompressCodeblock
Definition: T1Structs.h:137
grk::grk_point::y
T y
Definition: util.h:41
grk::TileComponent
Definition: TileComponent.h:31
grk::BAND_ORIENT_HH
@ BAND_ORIENT_HH
Definition: T1Structs.h:40
grk::CompressBlockExec::distortion
double distortion
Definition: T1Structs.h:289
grk::TileComponentCodingParams::prch
uint32_t prch[GRK_J2K_MAXRLVLS]
precinct height (power of 2 exponent)
Definition: CodingParams.h:86
grk::Resolution::precinct_expn
grk_pt precinct_expn
Definition: T1Structs.h:245
grk::CompressCodeblock::paddedCompressedStream
uint8_t * paddedCompressedStream
Definition: T1Structs.h:128
grk::DecompressCodeblock::numSegments
uint32_t numSegments
Definition: T1Structs.h:152
grk::IOpenable
Definition: IOpenable.h:7
grk::PrecinctImpl::incltree
TagTree * incltree
Definition: T1Structs.h:171
grk::TileComponentCodingParams::prcw
uint32_t prcw[GRK_J2K_MAXRLVLS]
precinct width (power of 2 exponent)
Definition: CodingParams.h:84
grk::Subband::getPrecinct
Precinct * getPrecinct(uint64_t precinctIndex)
Definition: T1Structs.cpp:497
grk::grk_buffer::len
size_t len
Definition: util.h:265
grk_includes.h
grk::grk_tile
Definition: TileProcessor.h:31
grk::Subband::print
void print()
Definition: T1Structs.cpp:488
grk::grk_rect_u32
grk_rectangle< uint32_t > grk_rect_u32
Definition: util.h:48
grk::Layer::len
uint32_t len
Definition: T1Structs.h:96
grk::Segment::Segment
Segment()
Definition: T1Structs.cpp:23
grk::CompressBlockExec::precinctIndex
uint64_t precinctIndex
Definition: T1Structs.h:293
grk::BlockExec::qmfbid
uint32_t qmfbid
Definition: T1Structs.h:258
grk::DecompressBlockExec::open
bool open(T1Interface *t1)
Definition: T1Structs.cpp:658
grk::CompressCodeblock::CompressCodeblock
CompressCodeblock()
Definition: T1Structs.cpp:265
grk::DecompressCodeblock::copy_to_contiguous_buffer
bool copy_to_contiguous_buffer(uint8_t *buffer)
Definition: T1Structs.cpp:450
grk::grk_rectangle::intersection
grk_rectangle< T > intersection(const grk_rectangle< T > rhs) const
Definition: util.h:137
grk::DecompressCodeblock::alloc
bool alloc()
Definition: T1Structs.cpp:387
grk::BlockExec::tilec
TileComponent * tilec
Definition: T1Structs.h:253
grk::CompressCodeblock::operator=
CompressCodeblock & operator=(const CompressCodeblock &other)
Definition: T1Structs.cpp:284
grk::DecompressCodeblock::numSegmentsAllocated
uint32_t numSegmentsAllocated
Definition: T1Structs.h:153
grk::Precinct::Precinct
Precinct(void)
Definition: T1Structs.cpp:52
grk::CompressCodeblock::alloc_data
bool alloc_data(size_t nominalBlockSize)
Allocates data memory for an compressing code block.
Definition: T1Structs.cpp:335
grk::PrecinctImpl::enc
CompressCodeblock * enc
Definition: T1Structs.h:169
grk::CompressCodeblock
Definition: T1Structs.h:118
grk::DecompressCodeblock::seg_buffers
std::vector< grk_buf * > seg_buffers
Definition: T1Structs.h:150
grk::Resolution
Definition: T1Structs.h:231
grk::DecompressCodeblock::~DecompressCodeblock
~DecompressCodeblock()
Definition: T1Structs.cpp:365
grk::BlockExec::k_msbs
uint8_t k_msbs
Definition: T1Structs.h:263
grk::CompressBlockExec::CompressBlockExec
CompressBlockExec()
Definition: T1Structs.cpp:624
grk::eBandOrientation
eBandOrientation
Definition: T1Structs.h:36
grk::BAND_INDEX_HL
@ BAND_INDEX_HL
Definition: T1Structs.h:54
GRK_PLUGIN_STATE_DEBUG
#define GRK_PLUGIN_STATE_DEBUG
Definition: grok.h:1754
grk::grk_rectangle::x0
T x0
Definition: util.h:76
grk::Subband::orientation
eBandOrientation orientation
Definition: T1Structs.h:218
grk::eSplitOrientation
eSplitOrientation
Definition: T1Structs.h:29
grk::grk_rectangle::y1
T y1
Definition: util.h:76
grk::Segment
Definition: T1Structs.h:62
grk::CompressBlockExec::inv_step
int32_t inv_step
Definition: T1Structs.h:296
grk::CompressCodeblock::layers
Layer * layers
Definition: T1Structs.h:129
grk::BAND_INDEX_HH
@ BAND_INDEX_HH
Definition: T1Structs.h:55
grk::DecompressCodeblock::init
void init()
Definition: T1Structs.cpp:412
grk::CompressCodeblock::cleanup
void cleanup()
Definition: T1Structs.cpp:352
grk::Codeblock::operator=
Codeblock & operator=(const Codeblock &other)
Definition: T1Structs.cpp:244
grk::Precinct::getImsbTree
TagTree * getImsbTree(void)
Definition: T1Structs.cpp:102
grk::Codeblock::numlenbits
uint32_t numlenbits
Definition: T1Structs.h:109
grk::mult64_will_overflow
bool mult64_will_overflow(uint64_t a, uint64_t b)
Definition: util.h:33
grk::CodePass::CodePass
CodePass()
Definition: T1Structs.cpp:45
grk_cblk_enc_compressed_data_pad_left
const uint8_t grk_cblk_enc_compressed_data_pad_left
Definition: t1_common.h:40
grk::T1Interface
Definition: T1Interface.h:23
grk::PacketLengthInfo::len_bits
uint32_t len_bits
Definition: T1Structs.h:79
grk::CodePass::distortiondec
double distortiondec
Definition: T1Structs.h:86
grk::DecompressBlockExec
Definition: T1Structs.h:270
grk::Precinct::getDecompressedBlockPtr
DecompressCodeblock * getDecompressedBlockPtr(void)
Definition: T1Structs.cpp:96
grk::Subband::inv_step
uint32_t inv_step
Definition: T1Structs.h:226
grk::BlockExec::BlockExec
BlockExec()
Definition: T1Structs.cpp:612
grk::CompressBlockExec::inv_step_ht
float inv_step_ht
Definition: T1Structs.h:297
grk::Segment::dataindex
uint32_t dataindex
Definition: T1Structs.h:66
grk::PacketLengthInfo::len
uint32_t len
Definition: T1Structs.h:78
grk::SPLIT_H
@ SPLIT_H
Definition: T1Structs.h:31
grk::grk_rectangle::y0
T y0
Definition: util.h:76
grk::DecompressBlockExec::roishift
uint32_t roishift
Definition: T1Structs.h:277
grk::CompressBlockExec::mct_numcomps
uint32_t mct_numcomps
Definition: T1Structs.h:302
grk::Subband::createPrecinct
Precinct * createPrecinct(bool isCompressor, uint64_t precinctIndex, grk_pt precinct_start, grk_pt precinct_expn, uint32_t pw, grk_pt cblk_expn, grk_plugin_tile *current_plugin_tile)
Definition: T1Structs.cpp:505
grk::BlockExec::bandIndex
uint8_t bandIndex
Definition: T1Structs.h:254
grk::GRK_ERROR
void GRK_ERROR(const char *fmt,...)
Definition: logger.cpp:57
grk::BAND_ORIENT_LL
@ BAND_ORIENT_LL
Definition: T1Structs.h:37
grk::DecompressCodeblock::segs
Segment * segs
Definition: T1Structs.h:151
grk::Subband
Definition: T1Structs.h:203
grk::TileComponentCodingParams::cblkw
uint8_t cblkw
log2(code-blocks width)
Definition: CodingParams.h:56
grk::PacketLengthInfo
Definition: T1Structs.h:74
grk::DecompressBlockExec::DecompressBlockExec
DecompressBlockExec()
Definition: T1Structs.cpp:652
grk::CompressBlockExec::doRateControl
bool doRateControl
Definition: T1Structs.h:288
grk::Segment::maxpasses
uint32_t maxpasses
Definition: T1Structs.h:69