Grok  9.7.5
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
grk::TileLengthMarkers Struct Reference

#include <LengthCache.h>

Public Member Functions

 TileLengthMarkers ()
 
 TileLengthMarkers (IBufferedStream *stream)
 
 ~TileLengthMarkers ()
 
bool read (uint8_t *headerData, uint16_t header_size)
 
void rewind (void)
 
TilePartLengthInfogetNext (void)
 
void invalidate (void)
 
bool valid (void)
 
bool seekTo (uint16_t skipTileIndex, IBufferedStream *stream, uint64_t firstSotPos)
 
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. More...
 

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_
 
IBufferedStreamstream_
 
uint64_t streamStart
 
bool valid_
 
bool hasTileIndices_
 
uint16_t tileCount_
 

Constructor & Destructor Documentation

◆ TileLengthMarkers() [1/2]

grk::TileLengthMarkers::TileLengthMarkers ( )

◆ TileLengthMarkers() [2/2]

grk::TileLengthMarkers::TileLengthMarkers ( IBufferedStream stream)

References stream_.

◆ ~TileLengthMarkers()

grk::TileLengthMarkers::~TileLengthMarkers ( )

References markers_.

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::CodeStreamInfo::getTileInfo(), grk::TileInfo::getTilePartInfo(), J2K_MS_SOT, grk::CodeStreamInfo::pushMarker(), and grk::TilePartInfo::startPosition.

Referenced by grk::CodeStreamDecompress::parseTileHeaderMarkers(), and grk::TileProcessor::prepareSodDecompress().

◆ getNext()

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

◆ invalidate()

void grk::TileLengthMarkers::invalidate ( 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

References markerIt_, and markers_.

◆ read()

bool grk::TileLengthMarkers::read ( uint8_t *  headerData,
uint16_t  header_size 
)

◆ rewind()

void grk::TileLengthMarkers::rewind ( void  )

References curr_vec_, markerIt_, markers_, and markerTilePartIndex_.

Referenced by seekTo().

◆ seekTo()

bool grk::TileLengthMarkers::seekTo ( uint16_t  skipTileIndex,
IBufferedStream stream,
uint64_t  firstSotPos 
)

◆ valid()

bool grk::TileLengthMarkers::valid ( void  )

◆ writeBegin()

bool grk::TileLengthMarkers::writeBegin ( uint16_t  numTilePartsTotal)

◆ writeEnd()

bool grk::TileLengthMarkers::writeEnd ( void  )

Member Data Documentation

◆ curr_vec_

TL_INFO_VEC* grk::TileLengthMarkers::curr_vec_
private

Referenced by getNext(), and rewind().

◆ hasTileIndices_

bool grk::TileLengthMarkers::hasTileIndices_
private

Referenced by read().

◆ markerIt_

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

Referenced by getNext(), push(), read(), and rewind().

◆ markers_

TL_MAP* grk::TileLengthMarkers::markers_
private

◆ markerTilePartIndex_

uint16_t grk::TileLengthMarkers::markerTilePartIndex_
private

Referenced by getNext(), rewind(), and seekTo().

◆ stream_

IBufferedStream* grk::TileLengthMarkers::stream_
private

◆ streamStart

uint64_t grk::TileLengthMarkers::streamStart
private

Referenced by writeBegin(), and writeEnd().

◆ tileCount_

uint16_t grk::TileLengthMarkers::tileCount_
private

Referenced by read().

◆ valid_

bool grk::TileLengthMarkers::valid_
private

Referenced by getNext(), invalidate(), read(), and valid().


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