Grok 10.0.5
grk::grk::PacketIter Struct Reference

Packet iterator. More...

#include <TileCache.h>

Public Member Functions

 PacketIter ()
 
 ~PacketIter ()
 
void init (PacketManager *packetMan, uint32_t pino, TileCodingParams *tcp, grk_rect32 tileBounds, bool compression, uint8_t max_res, uint64_t max_precincts, uint32_t *resolutionPrecinctGrid, uint32_t **precinctByComponent)
 
void printStaticState (void)
 
void printDynamicState (void)
 
void enableTilePartGeneration (uint32_t pino, bool first_poc_tile_part, uint32_t tppos)
 Modify the packet iterator for enabling tile part generation.
 
bool genPrecinctInfoOPT ()
 
void genPrecinctInfo ()
 
void genPrecinctInfo (PiComp *comp, PiResolution *res, uint8_t resNumber)
 
uint8_t * get_include (uint16_t layerIndex)
 
bool update_include (void)
 
void destroy_include (void)
 
bool next (SparseBuffer *src)
 Modify the packet iterator to point to the next packet.
 
GRK_PROG_ORDER getProgression (void) const
 
uint16_t getCompno (void) const
 
uint8_t getResno (void) const
 
uint64_t getPrecinctIndex (void) const
 
uint16_t getLayno (void) const
 

Private Member Functions

void update_dxy (void)
 
bool checkForRemainingValidProgression (int32_t prog, uint32_t pino, const char *progString)
 Check if there is a remaining valid progression order.
 
bool genPrecinctY0Grid (ResPrecinctInfo *rpInfo)
 
bool genPrecinctX0Grid (ResPrecinctInfo *rpInfo)
 
void genPrecinctY0GridRPCL_OPT (ResPrecinctInfo *rpInfo)
 
void genPrecinctX0GridRPCL_OPT (ResPrecinctInfo *rpInfo)
 
bool genPrecinctX0GridPCRL_OPT (ResPrecinctInfo *rpInfo)
 
bool genPrecinctY0GridPCRL_OPT (ResPrecinctInfo *rpInfo)
 
bool precInfoCheck (ResPrecinctInfo *rpInfo)
 
void generatePrecinctIndex (void)
 
bool validatePrecinct (void)
 
void update_dxy_for_comp (PiComp *comp, bool updateActive)
 
bool isWholeTile (void)
 
bool next_cprl (SparseBuffer *src)
 Get next packet in component-precinct-resolution-layer order.
 
bool next_cprlOPT (SparseBuffer *src)
 
bool next_pcrl (SparseBuffer *src)
 Get next packet in precinct-component-resolution-layer order.
 
bool next_pcrlOPT (SparseBuffer *src)
 
bool next_lrcp (SparseBuffer *src)
 Get next packet in layer-resolution-component-precinct order.
 
bool next_lrcpOPT (SparseBuffer *src)
 
bool next_rlcp (SparseBuffer *src)
 Get next packet in resolution-layer-component-precinct order.
 
bool next_rlcpOPT (SparseBuffer *src)
 
bool next_rpcl (SparseBuffer *src)
 Get next packet in resolution-precinct-component-layer order.
 
bool next_rpclOPT (SparseBuffer *src)
 
bool skipPackets (SparseBuffer *src, uint64_t numPackets)
 

Private Attributes

uint16_t compno
 
uint8_t resno
 
uint64_t precinctIndex
 
uint16_t layno
 
grk_progression prog
 
uint16_t numcomps
 
PiCompcomps
 
uint64_t x
 packet coordinates
 
uint64_t y
 
uint32_t dx
 component sub-sampling
 
uint32_t dy
 
uint32_t dxActive
 
uint32_t dyActive
 
bool incrementInner
 
PacketManagerpacketManager
 
uint8_t maxNumDecompositionResolutions
 
bool singleProgression_
 
bool compression_
 
ResPrecinctInfoprecinctInfoOPT_
 
uint32_t px0grid_
 
uint32_t py0grid_
 
bool skippedLeft_
 

Detailed Description

Packet iterator.

Constructor & Destructor Documentation

◆ PacketIter()

grk::PacketIter::PacketIter ( )

References prog.

◆ ~PacketIter()

grk::PacketIter::~PacketIter ( )

References comps, and precinctInfoOPT_.

Member Function Documentation

◆ checkForRemainingValidProgression()

bool grk::PacketIter::checkForRemainingValidProgression ( int32_t prog,
uint32_t pino,
const char * progString )
private

Check if there is a remaining valid progression order.

References grk::GRK_LRCP, grk::GRK_RLCP, packetManager, pino, prog, and grk::grk::TileCodingParams::progressionOrderChange.

◆ destroy_include()

void grk::PacketIter::destroy_include ( void )

References packetManager.

◆ enableTilePartGeneration()

void grk::PacketIter::enableTilePartGeneration ( uint32_t pino,
bool first_poc_tile_part,
uint32_t tppos )

◆ generatePrecinctIndex()

void grk::PacketIter::generatePrecinctIndex ( void )
private

◆ genPrecinctInfo() [1/2]

void grk::PacketIter::genPrecinctInfo ( )

References c, comps, and numcomps.

◆ genPrecinctInfo() [2/2]

◆ genPrecinctInfoOPT()

◆ genPrecinctX0Grid()

◆ genPrecinctX0GridPCRL_OPT()

◆ genPrecinctX0GridRPCL_OPT()

void grk::PacketIter::genPrecinctX0GridRPCL_OPT ( ResPrecinctInfo * rpInfo)
private

◆ genPrecinctY0Grid()

◆ genPrecinctY0GridPCRL_OPT()

◆ genPrecinctY0GridRPCL_OPT()

void grk::PacketIter::genPrecinctY0GridRPCL_OPT ( ResPrecinctInfo * rpInfo)
private

◆ get_include()

uint8_t * grk::PacketIter::get_include ( uint16_t layerIndex)

References packetManager, and resno.

◆ getCompno()

uint16_t grk::PacketIter::getCompno ( void ) const

◆ getLayno()

uint16_t grk::PacketIter::getLayno ( void ) const

◆ getPrecinctIndex()

uint64_t grk::PacketIter::getPrecinctIndex ( void ) const

◆ getProgression()

GRK_PROG_ORDER grk::PacketIter::getProgression ( void ) const

◆ getResno()

uint8_t grk::PacketIter::getResno ( void ) const

◆ init()

◆ isWholeTile()

bool grk::PacketIter::isWholeTile ( void )
private

References compression_, and packetManager.

◆ next()

bool grk::PacketIter::next ( SparseBuffer * src)

Modify the packet iterator to point to the next packet.

Returns
false if pi pointed to the final packet, otherwise true

References grk::GRK_CPRL, grk::GRK_LRCP, grk::GRK_PCRL, grk::GRK_RLCP, grk::GRK_RPCL, prog, and grk::_grk_progression::progression.

◆ next_cprl()

bool grk::PacketIter::next_cprl ( SparseBuffer * src)
private

◆ next_cprlOPT()

◆ next_lrcp()

bool grk::PacketIter::next_lrcp ( SparseBuffer * src)
private

Get next packet in layer-resolution-component-precinct order.

Returns
returns false if pi pointed to the final packet, otherwise true

References grk::_grk_progression::compE, compno, grk::_grk_progression::compS, comps, incrementInner, grk::_grk_progression::layE, layno, precinctIndex, precinctInfoOPT_, grk::_grk_progression::precS, prog, grk::_grk_progression::resE, resno, and grk::_grk_progression::resS.

◆ next_lrcpOPT()

◆ next_pcrl()

bool grk::PacketIter::next_pcrl ( SparseBuffer * src)
private

◆ next_pcrlOPT()

◆ next_rlcp()

bool grk::PacketIter::next_rlcp ( SparseBuffer * src)
private

Get next packet in resolution-layer-component-precinct order.

Returns
returns false if pi pointed to the final packet, otherwise true

References grk::_grk_progression::compE, compno, grk::_grk_progression::compS, comps, incrementInner, grk::_grk_progression::layE, layno, grk::_grk_progression::layS, precinctIndex, precinctInfoOPT_, grk::_grk_progression::precS, prog, grk::_grk_progression::resE, and resno.

◆ next_rlcpOPT()

◆ next_rpcl()

bool grk::PacketIter::next_rpcl ( SparseBuffer * src)
private

◆ next_rpclOPT()

◆ precInfoCheck()

bool grk::PacketIter::precInfoCheck ( ResPrecinctInfo * rpInfo)
private

◆ printDynamicState()

void grk::PacketIter::printDynamicState ( void )

◆ printStaticState()

◆ skipPackets()

bool grk::PacketIter::skipPackets ( SparseBuffer * src,
uint64_t numPackets )
private

◆ update_dxy()

void grk::PacketIter::update_dxy ( void )
private

References compno, comps, dx, dxActive, dy, dyActive, numcomps, x, and y.

◆ update_dxy_for_comp()

void grk::PacketIter::update_dxy_for_comp ( PiComp * comp,
bool updateActive )
private

◆ update_include()

bool grk::PacketIter::update_include ( void )

◆ validatePrecinct()

Member Data Documentation

◆ compno

uint16_t grk::grk::PacketIter::compno
private

◆ compression_

bool grk::grk::PacketIter::compression_
private

◆ comps

PiComp* grk::grk::PacketIter::comps
private

◆ dx

uint32_t grk::PacketIter::dx
private

component sub-sampling

◆ dxActive

uint32_t grk::grk::PacketIter::dxActive
private

◆ dy

uint32_t grk::PacketIter::dy
private

◆ dyActive

uint32_t grk::grk::PacketIter::dyActive
private

◆ incrementInner

bool grk::grk::PacketIter::incrementInner
private

◆ layno

uint16_t grk::grk::PacketIter::layno
private

◆ maxNumDecompositionResolutions

uint8_t grk::grk::PacketIter::maxNumDecompositionResolutions
private

◆ numcomps

uint16_t grk::PacketIter::numcomps
private

◆ packetManager

PacketManager* grk::grk::PacketIter::packetManager
private

◆ precinctIndex

uint64_t grk::grk::PacketIter::precinctIndex
private

◆ precinctInfoOPT_

ResPrecinctInfo* grk::grk::PacketIter::precinctInfoOPT_
private

◆ prog

grk_progression grk::grk::PacketIter::prog
private

◆ px0grid_

uint32_t grk::grk::PacketIter::px0grid_
private

◆ py0grid_

uint32_t grk::grk::PacketIter::py0grid_
private

◆ resno

uint8_t grk::grk::PacketIter::resno
private

◆ singleProgression_

bool grk::grk::PacketIter::singleProgression_
private

◆ skippedLeft_

bool grk::grk::PacketIter::skippedLeft_
private

◆ x

uint64_t grk::grk::PacketIter::x
private

packet coordinates

◆ y

uint64_t grk::grk::PacketIter::y
private

The documentation for this struct was generated from the following files: