106 include->operator[](layerno) = resBuf;
110 resBuf =
include->operator[](layerno);
115 auto buf = resBuf->
buffers[resno];
119 auto len = (numprecs *
numcomps + 7) / 8;
120 buf =
new uint8_t[len];
126 bool update(uint16_t layno, uint8_t resno, uint16_t compno, uint64_t precno)
130 uint64_t index = compno * numprecs + precno;
131 uint64_t include_index = (index >> 3);
132 uint32_t
shift = (index & 7);
133 uint8_t val =
include[include_index];
134 if(((val >>
shift) & 1) == 0)
Definition: PacketManager.h:23
#define GRK_J2K_MAXRLVLS
Maximum number of resolution levels authorized.
Definition: grok.h:91
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: ICacheable.h:20
const double shift
Definition: RateControl.cpp:165
J2K_T2_MODE
Definition: PacketIter.h:33
@ FINAL_PASS
Function called in rate allocation process.
Definition: PacketIter.h:35
@ THRESH_CALC
Definition: PacketIter.h:34
Progression order change.
Definition: grok.h:417
Definition: PacketIter.h:84
uint8_t * get_include(uint16_t layerno, uint8_t resno)
Definition: PacketIter.h:94
~IncludeTracker()
Definition: PacketIter.h:89
ResBuf * currentResBuf
Definition: PacketIter.h:152
uint16_t numcomps
Definition: PacketIter.h:150
std::map< uint16_t, ResBuf * > * include
Definition: PacketIter.h:154
bool update(uint16_t layno, uint8_t resno, uint16_t compno, uint64_t precno)
Definition: PacketIter.h:126
uint16_t currentLayer
Definition: PacketIter.h:151
uint64_t numPrecinctsPerRes[GRK_J2K_MAXRLVLS]
Definition: PacketIter.h:153
void clear()
Definition: PacketIter.h:143
IncludeTracker(uint16_t numcomponents)
Definition: PacketIter.h:85
Packet iterator.
Definition: PacketIter.h:163
uint32_t tx1
Definition: PacketIter.h:207
bool handledFirstInner
Definition: PacketIter.h:214
void destroy_include(void)
Definition: PacketIter.cpp:403
uint32_t ty0
Definition: PacketIter.h:207
bool next_rlcp(void)
Get next packet in resolution-layer-component-precinct order.
Definition: PacketIter.cpp:184
bool next_cprl(void)
Get next packet in component-precinct-resolution-layer order.
Definition: PacketIter.cpp:51
uint32_t ty1
Definition: PacketIter.h:207
uint8_t * get_include(uint16_t layerIndex)
Definition: PacketIter.cpp:393
uint32_t step_p
precinct step used to localize the packet in the include vector
Definition: PacketIter.h:191
uint16_t layno
layer that identify the packet
Definition: PacketIter.h:199
bool next(void)
Modify the packet iterator to point to the next packet.
Definition: PacketIter.cpp:285
uint32_t y
Definition: PacketIter.h:209
bool next_rpcl(void)
Get next packet in resolution-precinct-component-layer order.
Definition: PacketIter.cpp:229
uint32_t dy
Definition: PacketIter.h:211
uint16_t compno
component that identify the packet
Definition: PacketIter.h:193
void init(PacketManager *packetMan)
Definition: PacketIter.cpp:45
bool update_include(void)
Definition: PacketIter.cpp:397
uint32_t x
packet coordinates
Definition: PacketIter.h:209
grk_progression prog
progression order
Definition: PacketIter.h:201
PacketManager * packetManager
Definition: PacketIter.h:215
uint32_t tx0
tile bounds in canvas coordinates
Definition: PacketIter.h:207
uint32_t dx
component sub-sampling
Definition: PacketIter.h:211
uint8_t maxNumDecompositionResolutions
Definition: PacketIter.h:216
PiComp * comps
Components.
Definition: PacketIter.h:205
bool isSingleProgression(void)
Definition: PacketIter.cpp:407
bool enableTilePartGeneration
Enabling Tile part generation.
Definition: PacketIter.h:182
bool next_lrcp(void)
Get next packet in layer-resolution-component-precinct order.
Definition: PacketIter.cpp:143
uint64_t precinctIndex
precinct that identify the packet
Definition: PacketIter.h:197
bool next_pcrl(void)
Get next packet in precinct-component-resolution-layer order.
Definition: PacketIter.cpp:94
uint8_t resno
resolution that identify the packet
Definition: PacketIter.h:195
uint64_t step_l
layer step used to localize the packet in the include vector
Definition: PacketIter.h:185
uint64_t step_r
resolution step used to localize the packet in the include vector
Definition: PacketIter.h:187
uint64_t step_c
component step used to localize the packet in the include vector
Definition: PacketIter.h:189
grkRectU32 generatePrecinct(uint64_t precinctIndex)
Definition: PacketIter.cpp:342
bool generatePrecinctIndex(void)
Definition: PacketIter.cpp:305
PacketIter()
Definition: PacketIter.cpp:28
void update_dxy(void)
Definition: PacketIter.cpp:370
uint16_t numcomps
number of components in the image
Definition: PacketIter.h:203
void update_dxy_for_comp(PiComp *comp)
Definition: PacketIter.cpp:377
~PacketIter()
Definition: PacketIter.cpp:36
Packet iterator component.
Definition: PacketIter.h:56
uint32_t dx
Definition: PacketIter.h:59
uint8_t numresolutions
Definition: PacketIter.h:61
PiComp()
Definition: PacketIter.h:57
PiResolution * resolutions
Definition: PacketIter.h:62
uint32_t dy
Definition: PacketIter.h:60
Definition: PacketIter.h:42
uint32_t precinctGridHeight
Definition: PacketIter.h:49
uint32_t precinctGridWidth
Definition: PacketIter.h:48
uint32_t precinctWidthExp
Definition: PacketIter.h:46
PiResolution()
Definition: PacketIter.h:43
uint32_t precinctHeightExp
Definition: PacketIter.h:47
Definition: PacketIter.h:70
~ResBuf()
Definition: PacketIter.h:76
ResBuf()
Definition: PacketIter.h:71
uint8_t * buffers[GRK_J2K_MAXRLVLS]
Definition: PacketIter.h:81