Grok 10.0.5
grk::grk::TileLengthMarkers Struct Reference

#include <TileCache.h>

Public Member Functions

 TileLengthMarkers (uint16_t numSignalledTiles)
 
 TileLengthMarkers (BufferedStream *stream)
 
 ~TileLengthMarkers ()
 
bool read (uint8_t *headerData, uint16_t header_size)
 
void rewind (void)
 
TilePartLengthInfonext (void)
 
TilePartLengthInfonext (bool peek)
 Query next TLM entry.
 
void invalidate (void)
 
bool valid (void)
 
void seek (TileSet *tilesToDecompress, CodingParams *cp, BufferedStream *stream)
 Seek to next scheduled tile part.
 
bool writeBegin (uint16_t numTilePartsTotal)
 
void push (uint16_t tileIndex, uint32_t tile_part_size)
 
bool writeEnd (void)
 

Static Public Member Functions

static bool addTileMarkerInfo (uint16_t tileno, CodeStreamInfo *codeStreamInfo, uint16_t type, uint64_t pos, uint32_t len)
 Add tile header marker information.
 

Private Member Functions

void push (uint8_t i_TLM, TilePartLengthInfo curr_vec)
 

Private Attributes

TL_MAPmarkers_
 
TL_MAP::iterator markerIt_
 
uint16_t markerTilePartIndex_
 
TL_INFO_VECcurr_vec_
 
BufferedStreamstream_
 
uint64_t streamStart
 
bool valid_
 
bool hasTileIndices_
 
uint16_t tileCount_
 
uint16_t numSignalledTiles_
 

Constructor & Destructor Documentation

◆ TileLengthMarkers() [1/2]

grk::TileLengthMarkers::TileLengthMarkers ( uint16_t numSignalledTiles)
explicit

◆ TileLengthMarkers() [2/2]

grk::TileLengthMarkers::TileLengthMarkers ( BufferedStream * stream)
explicit

◆ ~TileLengthMarkers()

grk::TileLengthMarkers::~TileLengthMarkers ( )

Member Function Documentation

◆ addTileMarkerInfo()

bool grk::TileLengthMarkers::addTileMarkerInfo ( uint16_t tileno,
CodeStreamInfo * codeStreamInfo,
uint16_t type,
uint64_t pos,
uint32_t len )
static

Add tile header marker information.

Parameters
tilenotile index number
codeStreamInfoCodestream information structure
typemarker type
posbyte offset of marker segment
lenlength of marker segment

References grk::grk::CodeStreamInfo::getTileInfo(), grk::grk::TileInfo::getTilePartInfo(), grk::J2K_MS_SOT, len, grk::grk::CodeStreamInfo::pushMarker(), grk::grk::TilePartInfo::startPosition, and tileno.

◆ invalidate()

void grk::TileLengthMarkers::invalidate ( void )

◆ next() [1/2]

TilePartLengthInfo * grk::grk::TileLengthMarkers::next ( bool peek)

◆ next() [2/2]

TilePartLengthInfo * grk::TileLengthMarkers::next ( void )

◆ push() [1/2]

void grk::TileLengthMarkers::push ( uint16_t tileIndex,
uint32_t tile_part_size )

◆ push() [2/2]

void grk::TileLengthMarkers::push ( uint8_t i_TLM,
TilePartLengthInfo curr_vec )
private

◆ read()

◆ rewind()

◆ seek()

void grk::grk::TileLengthMarkers::seek ( TileSet * tilesToDecompress,
CodingParams * cp,
BufferedStream * stream )

Seek to next scheduled tile part.

return false if TLM marker is corrupt, otherwise false

References cp, grk::GRK_ERROR(), grk::grk::TileSet::isScheduled(), grk::TileLengthMarkers::next(), and stream.

◆ valid()

bool grk::TileLengthMarkers::valid ( void )

◆ writeBegin()

◆ writeEnd()

Member Data Documentation

◆ curr_vec_

TL_INFO_VEC* grk::grk::TileLengthMarkers::curr_vec_
private

◆ hasTileIndices_

bool grk::grk::TileLengthMarkers::hasTileIndices_
private

◆ markerIt_

TL_MAP::iterator grk::grk::TileLengthMarkers::markerIt_
private

◆ markers_

TL_MAP* grk::grk::TileLengthMarkers::markers_
private

◆ markerTilePartIndex_

uint16_t grk::grk::TileLengthMarkers::markerTilePartIndex_
private

◆ numSignalledTiles_

uint16_t grk::grk::TileLengthMarkers::numSignalledTiles_
private

◆ stream_

BufferedStream* grk::grk::TileLengthMarkers::stream_
private

◆ streamStart

uint64_t grk::grk::TileLengthMarkers::streamStart
private

◆ tileCount_

uint16_t grk::grk::TileLengthMarkers::tileCount_
private

◆ valid_

bool grk::grk::TileLengthMarkers::valid_
private

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