Grok  7.6.0
TileProcessor.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  * This source code incorporates work covered by the BSD 2-clause license.
18  * Please see the LICENSE file in the root directory for details.
19  *
20  */
21 
22 #pragma once
23 #include "testing.h"
24 #include <vector>
25 
26 namespace grk {
27 
28 // code segment (code block can be encoded into multiple segments)
29 struct grk_seg {
31 
32  void clear();
33  uint32_t dataindex; // segment data offset in contiguous memory block
34  uint32_t numpasses; // number of passes in segment
35  uint32_t len; // total length of segment
36  uint32_t maxpasses; // maximum number of passes in segment
37  uint32_t numPassesInPacket; // number of passes contributed by current packet
38  uint32_t numBytesInPacket; // number of bytes contributed by current packet
39 };
40 
42  grk_packet_length_info(uint32_t mylength, uint32_t bits);
44  bool operator==(const grk_packet_length_info &rhs) const;
45  uint32_t len;
46  uint32_t len_bits;
47 };
48 
49 // encoding/decoding pass
50 struct grk_pass {
52  uint32_t rate;
53  double distortiondec;
54  uint32_t len;
55  uint8_t term;
56  uint16_t slope; //ln(slope) in 8.8 fixed point
57 };
58 
59 //quality layer
60 struct grk_layer {
62  uint32_t numpasses; /* Number of passes in the layer */
63  uint32_t len; /* len of information */
64  double disto; /* add for index (Cfr. Marcela) */
65  uint8_t *data; /* data buffer (points to code block data) */
66 };
67 
68 struct grk_cblk {
69  grk_cblk(const grk_cblk &rhs);
71  grk_cblk& operator=(const grk_cblk& other);
72  virtual ~grk_cblk(){}
73  virtual void clear();
74  uint32_t width();
75  uint32_t height();
76  uint32_t area();
77  uint32_t x0, y0, x1, y1; /* dimension of the code block : left upper corner (x0, y0) right low corner (x1,y1) */
78  uint8_t *compressedData; /* data buffer*/
79  uint32_t compressedDataSize; /* size of allocated data buffer */
80  bool owns_data; // true if code block manages data buffer, otherwise false
81  uint32_t numbps;
82  uint32_t numlenbits;
83  uint32_t numPassesInPacket; /* number of passes encoded in current packet */
84 #ifdef DEBUG_LOSSLESS_T2
85  uint32_t included;
86  std::vector<grk_packet_length_info> packet_length_info;
87 #endif
88 };
89 
90 // encoder code block
91 struct grk_cblk_enc : public grk_cblk {
96  void clear() override;
97  bool alloc();
98  bool alloc_data(size_t nominalBlockSize);
99  void cleanup();
100  uint8_t *paddedCompressedData; /* data buffer*/
103  uint32_t numPassesInPreviousPackets; /* number of passes in previous packetss */
104  uint32_t numPassesTotal; /* total number of passes in all layers */
105  uint32_t *contextStream;
106 };
107 
108 //decoder code block
109 struct grk_cblk_dec: public grk_cblk {
114  void clear() override;
115  void init();
116  bool alloc();
117  void cleanup();
120  bool copy_to_contiguous_buffer(uint8_t *buffer);
121  std::vector<grk_buf*> seg_buffers;
122  grk_seg *segs; /* information on segments */
123  uint32_t numSegments; /* number of segment in block*/
124  uint32_t numSegmentsAllocated; // number of segments allocated for segs array
125 
126 };
127 
128 // precinct
129 struct grk_precinct : public grk_rect_u32 {
131  void initTagTrees();
133 
134  uint32_t cw, ch; /* number of precinct in width and height */
137  uint64_t num_code_blocks;
138  TagTree *incltree; /* inclusion tree */
139  TagTree *imsbtree; /* IMSB tree */
140 };
141 
142 // band
143 struct grk_band : public grk_rect_u32 {
145  grk_band(const grk_band &rhs);
146 
148 
149 
150  bool isEmpty() ;
151  // 0 for first band of lowest resolution, otherwise equal to 1,2 or 3
152  uint8_t bandno;
153  grk_precinct *precincts; /* precinct information */
154  uint64_t numPrecincts;
156  uint32_t numbps;
157  float stepsize;
158  // inverse step size in 13 bit fixed point
159  uint32_t inv_step;
160 
161 };
162 
163 // resolution
164 struct grk_resolution : public grk_rect_u32 {
166 
167  /* dimension of the resolution level in tile coordinates */
168  uint32_t pw, ph;
169  uint32_t numbands; /* number sub-band for the resolution level */
170  grk_band bands[3]; /* subband information */
171 
172  /* dimension of the resolution limited to window of interest.
173  * Only valid if tcd->whole_tile_decoding is set */
175 };
176 
177 struct TileComponent;
178 
179 // tile
180 struct grk_tile : public grk_rect_u32 {
181  uint32_t numcomps; /* number of components in tile */
182  TileComponent *comps; /* Components information */
183  uint64_t numpix;
184  double distotile;
185  double distolayer[100];
186  uint64_t packno; /* packet number */
187 };
188 
192  void init(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers);
193  void clear(void);
194  void packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer);
195  bool is_packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer);
196 private:
197  uint8_t *bits;
198 
199  uint32_t m_numcomps;
200  uint32_t m_numres;
201  uint64_t m_numprec;
202  uint32_t m_numlayers;
203 
204  uint64_t get_buffer_len(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers);
205  uint64_t index(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer);
206 };
207 
212  explicit TileProcessor(CodeStream *codeStream) ;
214 
222  bool init_tile(grk_image *output_image, bool isEncoder);
223 
224  bool pre_write_tile(void);
225 
233  uint32_t *tile_bytes_written);
234 
236 
241  bool do_encode(BufferedStream *stream);
242 
243 
248  bool decompress_tile_t1(void);
249 
256 
260  bool copy_uncompressed_data_to_tile(uint8_t *p_src, uint64_t src_length);
261 
263 
265 
267 
269  uint16_t m_tile_index;
270 
274 
279 
281 
283  uint8_t totnum_tp;
285  uint32_t pino;
291 
294 
296 
299 
301 
302  uint32_t* m_resno_decoded;
303 private:
304 
306  uint32_t tp_pos;
307 
310 
311  bool t2_decode(ChunkBuffer *src_buf, uint64_t *p_data_read);
312 
313  bool is_whole_tilecomp_decoding( uint32_t compno);
314 
315  bool mct_decode();
316 
318 
320 
321  bool mct_encode();
322 
323  bool dwt_encode();
324 
325  void t1_encode();
326 
327  bool t2_encode(BufferedStream *stream,
328  uint32_t *packet_bytes_written);
329 
330  bool rate_allocate(void);
331 
332  bool layer_needs_rate_control(uint32_t layno);
333 
335 
336  void makelayer_final(uint32_t layno);
337 
338  bool pcrd_bisect_simple(uint32_t *p_data_written);
339 
340  void make_layer_simple(uint32_t layno, double thresh,
341  bool final);
342 
343  bool pcrd_bisect_feasible(uint32_t *p_data_written);
344 
345  void makelayer_feasible(uint32_t layno, uint16_t thresh,
346  bool final);
347 public:
349 
350 
351 };
352 
353 }
grk::TileProcessor::is_whole_tilecomp_decoding
bool is_whole_tilecomp_decoding(uint32_t compno)
grk::grk_packet_length_info::len_bits
uint32_t len_bits
Definition: TileProcessor.h:46
grk::TileProcessor::make_layer_simple
void make_layer_simple(uint32_t layno, double thresh, bool final)
grk::grk_pass::rate
uint32_t rate
Definition: TileProcessor.h:52
grk::grk_band::operator=
grk_band & operator=(const grk_band &rhs)
grk::PacketTracker::m_numlayers
uint32_t m_numlayers
Definition: TileProcessor.h:202
grk::PacketTracker::m_numres
uint32_t m_numres
Definition: TileProcessor.h:200
grk::TileProcessor::m_packetTracker
PacketTracker m_packetTracker
Definition: TileProcessor.h:300
grk::TileProcessor::m_tcp
TileCodingParams * m_tcp
coding/decoding parameters common to all tiles
Definition: TileProcessor.h:309
grk::TileProcessor::decompress_tile_t1
bool decompress_tile_t1(void)
T1 Decode a tile from a buffer.
grk::grk_precinct::imsbtree
TagTree * imsbtree
Definition: TileProcessor.h:139
grk::TileProcessor::whole_tile_decoding
bool whole_tile_decoding
Only valid for decoding.
Definition: TileProcessor.h:293
grk::grk_cblk_enc::grk_cblk_enc
grk_cblk_enc(const grk_cblk_enc &rhs)
grk::grk_cblk_dec::cleanup
void cleanup()
grk::grk_resolution
Definition: TileProcessor.h:164
grk::grk_rectangle< uint32_t >
grk::grk_cblk_dec::copy_to_contiguous_buffer
bool copy_to_contiguous_buffer(uint8_t *buffer)
grk::TileProcessor::copy_decompressed_tile_to_output_image
bool copy_decompressed_tile_to_output_image(grk_image *p_output_image)
grk::grk_band
Definition: TileProcessor.h:143
grk::grk_layer::disto
double disto
Definition: TileProcessor.h:64
grk::TileProcessor::pre_compress_first_tile_part
bool pre_compress_first_tile_part(BufferedStream *stream)
grk::grk_cblk_enc::alloc
bool alloc()
grk::TileProcessor
Tile coder/decoder.
Definition: TileProcessor.h:211
grk::grk_pass::len
uint32_t len
Definition: TileProcessor.h:54
grk::TileCodingParams
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: CodingParams.h:117
grk::grk_tile::distolayer
double distolayer[100]
Definition: TileProcessor.h:185
grk::grk_band::numbps
uint32_t numbps
Definition: TileProcessor.h:156
grk::grk_precinct::incltree
TagTree * incltree
Definition: TileProcessor.h:138
grk::grk_resolution::ph
uint32_t ph
Definition: TileProcessor.h:168
grk::TagTree
Tag tree.
Definition: TagTree.h:46
grk::grk_cblk_dec::clear
void clear() override
grk::grk_cblk_enc::layers
grk_layer * layers
Definition: TileProcessor.h:101
grk::grk_cblk::numlenbits
uint32_t numlenbits
Definition: TileProcessor.h:82
grk::BufferedStream
Byte input-output stream.
Definition: BufferedStream.h:38
grk::grk_resolution::numbands
uint32_t numbands
Definition: TileProcessor.h:169
grk::grk_precinct::dec
grk_cblk_dec * dec
Definition: TileProcessor.h:136
grk::grk_cblk_dec::alloc
bool alloc()
grk::TileProcessor::copy_uncompressed_data_to_tile
bool copy_uncompressed_data_to_tile(uint8_t *p_src, uint64_t src_length)
Copies tile data from the given memory block onto the system.
grk::grk_cblk_dec::numSegmentsAllocated
uint32_t numSegmentsAllocated
Definition: TileProcessor.h:124
grk::grk_seg::dataindex
uint32_t dataindex
Definition: TileProcessor.h:33
grk::TileProcessor::makelayer_feasible
void makelayer_feasible(uint32_t layno, uint16_t thresh, bool final)
grk::TileProcessor::TileProcessor
TileProcessor(CodeStream *codeStream)
grk::TileProcessor::t2_decode
bool t2_decode(ChunkBuffer *src_buf, uint64_t *p_data_read)
grk::grk_cblk::x1
uint32_t x1
Definition: TileProcessor.h:77
grk::TileProcessor::dwt_encode
bool dwt_encode()
grk::TileProcessor::tile
grk_tile * tile
info on image tile
Definition: TileProcessor.h:287
grk::grk_seg::grk_seg
grk_seg()
grk::grk_band::isEmpty
bool isEmpty()
grk::grk_cblk::clear
virtual void clear()
grk::TileProcessor::tile_part_data_length
uint32_t tile_part_data_length
Definition: TileProcessor.h:280
grk::TileProcessor::m_tile_part_index
uint8_t m_tile_part_index
index of tile part being currently coding, taking into account POC.
Definition: TileProcessor.h:278
grk::grk_band::numPrecincts
uint64_t numPrecincts
Definition: TileProcessor.h:154
grk::TileProcessor::pcrd_bisect_simple
bool pcrd_bisect_simple(uint32_t *p_data_written)
grk::grk_cblk_enc::numPassesInPreviousPackets
uint32_t numPassesInPreviousPackets
Definition: TileProcessor.h:103
grk::grk_seg
Definition: TileProcessor.h:29
grk::TileProcessor::totnum_tp
uint8_t totnum_tp
Total number of tile parts of the tile.
Definition: TileProcessor.h:283
grk::TileProcessor::needs_rate_control
bool needs_rate_control()
grk::grk_cblk_enc::paddedCompressedData
uint8_t * paddedCompressedData
Definition: TileProcessor.h:100
grk::PacketTracker::packet_encoded
void packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer)
grk::grk_cblk_enc::grk_cblk_enc
grk_cblk_enc()
grk::grk_resolution::win_bounds
grk_rect_u32 win_bounds
Definition: TileProcessor.h:174
_grk_plugin_tile
Plugin tile.
Definition: grok.h:1242
grk::PacketTracker::m_numprec
uint64_t m_numprec
Definition: TileProcessor.h:201
grk::PacketTracker::is_packet_encoded
bool is_packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer)
grk::grk_cblk_enc::contextStream
uint32_t * contextStream
Definition: TileProcessor.h:105
grk::TileProcessor::~TileProcessor
~TileProcessor()
grk::grk_cblk_dec::seg_buffers
std::vector< grk_buf * > seg_buffers
Definition: TileProcessor.h:121
grk::TileProcessor::m_resno_decoded
uint32_t * m_resno_decoded
Definition: TileProcessor.h:302
grk::PacketTracker::bits
uint8_t * bits
Definition: TileProcessor.h:197
testing.h
grk::grk_seg::numpasses
uint32_t numpasses
Definition: TileProcessor.h:34
grk::grk_cblk_enc::passes
grk_pass * passes
Definition: TileProcessor.h:102
grk::grk_cblk_dec::grk_cblk_dec
grk_cblk_dec(const grk_cblk_dec &rhs)
grk::grk_resolution::bands
grk_band bands[3]
Definition: TileProcessor.h:170
grk::grk_cblk_dec
Definition: TileProcessor.h:109
grk::grk_cblk_dec::init
void init()
grk::grk_packet_length_info::grk_packet_length_info
grk_packet_length_info(uint32_t mylength, uint32_t bits)
grk::TileProcessor::tp_pos
uint32_t tp_pos
position of the tile part flag in progression order
Definition: TileProcessor.h:306
grk::grk_band::grk_band
grk_band(const grk_band &rhs)
grk::grk_band::bandno
uint8_t bandno
Definition: TileProcessor.h:152
grk::grk_cblk
Definition: TileProcessor.h:68
grk::grk_precinct::cw
uint32_t cw
Definition: TileProcessor.h:134
grk::grk_cblk_dec::getSegBuffersLen
size_t getSegBuffersLen()
grk::grk_cblk_enc::cleanup
void cleanup()
grk::TileProcessor::mct_decode
bool mct_decode()
grk::PacketTracker
Definition: TileProcessor.h:189
grk::grk_cblk_enc::~grk_cblk_enc
~grk_cblk_enc()
grk::TileProcessor::copy_image_to_tile
void copy_image_to_tile()
grk::grk_seg::len
uint32_t len
Definition: TileProcessor.h:35
grk::grk_resolution::pw
uint32_t pw
Definition: TileProcessor.h:168
grk::grk_layer::data
uint8_t * data
Definition: TileProcessor.h:65
grk::grk_packet_length_info::operator==
bool operator==(const grk_packet_length_info &rhs) const
grk::grk_precinct
Definition: TileProcessor.h:129
grk::grk_tile::distotile
double distotile
Definition: TileProcessor.h:184
grk::grk_band::precincts
grk_precinct * precincts
Definition: TileProcessor.h:153
grk::TileProcessor::dc_level_shift_encode
bool dc_level_shift_encode()
grk::grk_seg::maxpasses
uint32_t maxpasses
Definition: TileProcessor.h:36
grk::grk_tile::comps
TileComponent * comps
Definition: TileProcessor.h:182
grk::PacketTracker::get_buffer_len
uint64_t get_buffer_len(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers)
grk::PacketTracker::clear
void clear(void)
grk::grk_cblk::grk_cblk
grk_cblk(const grk_cblk &rhs)
grk::CodingParams
Coding parameters.
Definition: CodingParams.h:230
grk::grk_cblk::operator=
grk_cblk & operator=(const grk_cblk &other)
grk::grk_cblk::compressedData
uint8_t * compressedData
Definition: TileProcessor.h:78
grk::CodeStream
Definition: CodeStream.h:130
grk::TileProcessor::pcrd_bisect_feasible
bool pcrd_bisect_feasible(uint32_t *p_data_written)
grk::TileProcessor::pino
uint32_t pino
Current packet iterator number.
Definition: TileProcessor.h:285
grk::grk_cblk::width
uint32_t width()
grk::grk_cblk::x0
uint32_t x0
Definition: TileProcessor.h:77
grk::grk_packet_length_info::grk_packet_length_info
grk_packet_length_info()
grk::grk_cblk_dec::~grk_cblk_dec
~grk_cblk_dec()
grk::TileProcessor::makelayer_final
void makelayer_final(uint32_t layno)
grk::TileProcessor::rate_allocate
bool rate_allocate(void)
grk::grk_pass::term
uint8_t term
Definition: TileProcessor.h:55
grk::grk_cblk_enc::alloc_data
bool alloc_data(size_t nominalBlockSize)
grk::TileProcessor::m_poc_tile_part_index
uint8_t m_poc_tile_part_index
tile part index, regardless of poc.
Definition: TileProcessor.h:273
grk::TileProcessor::decompress_tile_t2
bool decompress_tile_t2(ChunkBuffer *src_buf)
T2 Decode a tile from a buffer.
grk::TileProcessor::do_encode
bool do_encode(BufferedStream *stream)
Compress a tile from a raw image into stream.
grk::grk_band::numAllocatedPrecincts
size_t numAllocatedPrecincts
Definition: TileProcessor.h:155
grk::TileProcessor::compress_tile_part
bool compress_tile_part(BufferedStream *stream, uint32_t *tile_bytes_written)
Compress a tile from a raw image into stream.
grk::grk_precinct::deleteTagTrees
void deleteTagTrees()
grk::grk_cblk::numbps
uint32_t numbps
Definition: TileProcessor.h:81
grk
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.h:27
grk::TileProcessor::layer_needs_rate_control
bool layer_needs_rate_control(uint32_t layno)
grk::TileComponent
Definition: TileComponent.h:31
grk::PacketTracker::index
uint64_t index(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer)
grk::grk_cblk_enc::operator=
grk_cblk_enc & operator=(const grk_cblk_enc &other)
grk::grk_layer::numpasses
uint32_t numpasses
Definition: TileProcessor.h:62
grk::grk_tile
Definition: TileProcessor.h:180
grk::grk_cblk::numPassesInPacket
uint32_t numPassesInPacket
Definition: TileProcessor.h:83
grk::grk_cblk::~grk_cblk
virtual ~grk_cblk()
Definition: TileProcessor.h:72
grk::TileProcessor::pre_write_tile
bool pre_write_tile(void)
grk::grk_pass::grk_pass
grk_pass()
grk::TileProcessor::m_cp
CodingParams * m_cp
coding parameters
Definition: TileProcessor.h:298
grk::grk_seg::numPassesInPacket
uint32_t numPassesInPacket
Definition: TileProcessor.h:37
grk::grk_cblk::y1
uint32_t y1
Definition: TileProcessor.h:77
grk::grk_cblk::owns_data
bool owns_data
Definition: TileProcessor.h:80
grk::grk_cblk_dec::operator=
grk_cblk_dec & operator=(const grk_cblk_dec &other)
grk::grk_cblk_enc::numPassesTotal
uint32_t numPassesTotal
Definition: TileProcessor.h:104
grk::grk_precinct::enc
grk_cblk_enc * enc
Definition: TileProcessor.h:135
grk::grk_seg::numBytesInPacket
uint32_t numBytesInPacket
Definition: TileProcessor.h:38
grk::grk_layer
Definition: TileProcessor.h:60
grk::TileProcessor::t2_encode
bool t2_encode(BufferedStream *stream, uint32_t *packet_bytes_written)
grk::TileProcessor::m_tile_index
uint16_t m_tile_index
index of tile being currently coded/decoded
Definition: TileProcessor.h:269
grk::grk_band::stepsize
float stepsize
Definition: TileProcessor.h:157
grk::grk_cblk::grk_cblk
grk_cblk()
grk::TileProcessor::dc_level_shift_decode
bool dc_level_shift_decode()
grk::PacketTracker::PacketTracker
PacketTracker()
grk::grk_cblk_enc
Definition: TileProcessor.h:91
grk::grk_layer::grk_layer
grk_layer()
grk::PacketTracker::init
void init(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers)
grk::TileProcessor::plt_markers
PacketLengthMarkers * plt_markers
Definition: TileProcessor.h:295
grk::TileProcessor::t1_encode
void t1_encode()
grk::grk_cblk_dec::numSegments
uint32_t numSegments
Definition: TileProcessor.h:123
grk::grk_resolution::grk_resolution
grk_resolution()
grk::ChunkBuffer
Definition: ChunkBuffer.h:29
grk::PacketLengthMarkers
Definition: LengthMarkers.h:88
grk::TileProcessor::current_plugin_tile
grk_plugin_tile * current_plugin_tile
Definition: TileProcessor.h:290
grk::grk_layer::len
uint32_t len
Definition: TileProcessor.h:63
grk::grk_precinct::initTagTrees
void initTagTrees()
grk::TileProcessor::make_single_lossless_layer
bool make_single_lossless_layer()
grk::TileProcessor::m_corrupt_packet
bool m_corrupt_packet
Definition: TileProcessor.h:348
grk::grk_cblk::compressedDataSize
uint32_t compressedDataSize
Definition: TileProcessor.h:79
grk::grk_cblk_dec::segs
grk_seg * segs
Definition: TileProcessor.h:122
grk::grk_precinct::num_code_blocks
uint64_t num_code_blocks
Definition: TileProcessor.h:137
grk::TileProcessor::init_tile
bool init_tile(grk_image *output_image, bool isEncoder)
Allocates memory for decoding a specific tile.
grk::grk_cblk_enc::clear
void clear() override
grk::grk_cblk_dec::cleanup_seg_buffers
void cleanup_seg_buffers()
grk::TileProcessor::mct_encode
bool mct_encode()
grk::grk_cblk_dec::grk_cblk_dec
grk_cblk_dec()
grk::grk_cblk::area
uint32_t area()
grk::grk_pass
Definition: TileProcessor.h:50
grk::grk_band::inv_step
uint32_t inv_step
Definition: TileProcessor.h:159
grk::PacketTracker::~PacketTracker
~PacketTracker()
_grk_image
Image.
Definition: grok.h:880
grk::grk_precinct::grk_precinct
grk_precinct()
grk::grk_packet_length_info::len
uint32_t len
Definition: TileProcessor.h:45
grk::grk_cblk::height
uint32_t height()
grk::grk_precinct::ch
uint32_t ch
Definition: TileProcessor.h:134
grk::grk_tile::packno
uint64_t packno
Definition: TileProcessor.h:186
grk::grk_band::grk_band
grk_band()
grk::PacketTracker::m_numcomps
uint32_t m_numcomps
Definition: TileProcessor.h:199
grk::grk_seg::clear
void clear()
grk::grk_tile::numpix
uint64_t numpix
Definition: TileProcessor.h:183
grk::grk_tile::numcomps
uint32_t numcomps
Definition: TileProcessor.h:181
grk::TileProcessor::image
grk_image * image
image header
Definition: TileProcessor.h:289
grk::grk_pass::slope
uint16_t slope
Definition: TileProcessor.h:56
grk::grk_pass::distortiondec
double distortiondec
Definition: TileProcessor.h:53
grk::grk_packet_length_info
Definition: TileProcessor.h:41
grk::grk_cblk::y0
uint32_t y0
Definition: TileProcessor.h:77