Grok 20.3.2
grk::t1::Segment Struct Reference

Stores information for a code block segment. More...

#include <CodeblockDecompressImpl.h>

Public Member Functions

 Segment (uint16_t numlayers)
 Constructs a Segment.
 ~Segment (void)
 Destroys a Segment.
void clear ()
 Clears a Segment.
void print (uint16_t layno)
size_t getDataChunksLength () const
 Gets combined length of all data chunks.
size_t copyDataChunksToContiguous (uint8_t *buffer) const
 Copies data chunks into a single contiguous buffer.

Public Attributes

uint16_t numLayers_ = 0
 Number of layers for this code block.
uint8_t totalPasses_ = 0
 Running total of number of passes across multiple layers.
uint8_t maxPasses_ = 0
 Maximum number of passes in this code block This is determined by the code block style i.e.
uint8_t * calculatedPassesInLayer_
 Number of passes contributed by layer, calculated by decompress codeblock when parsing packet header.
uint32_t totalBytes_ = 0
 Total number of bytes in segment.
uint16_t * signalledBytesInLayer_
 Number of bytes signalled by layer.
std::vector< Buffer8 * > data_chunks_

Detailed Description

Stores information for a code block segment.

A segment can be split over multiple packets, and a packet can contain multiple segments

Constructor & Destructor Documentation

◆ Segment()

grk::t1::Segment::Segment ( uint16_t numlayers)
inline

◆ ~Segment()

grk::t1::Segment::~Segment ( void )
inline

Member Function Documentation

◆ clear()

void grk::t1::Segment::clear ( )
inline

◆ copyDataChunksToContiguous()

size_t grk::t1::Segment::copyDataChunksToContiguous ( uint8_t * buffer) const
inline

Copies data chunks into a single contiguous buffer.

Parameters
buffercontiguous buffer
Returns
number of bytes copied

References data_chunks_.

◆ getDataChunksLength()

size_t grk::t1::Segment::getDataChunksLength ( ) const
inline

Gets combined length of all data chunks.

Returns
total length

References data_chunks_.

◆ print()

void grk::t1::Segment::print ( uint16_t layno)
inline

Member Data Documentation

◆ calculatedPassesInLayer_

uint8_t* grk::t1::Segment::calculatedPassesInLayer_

Number of passes contributed by layer, calculated by decompress codeblock when parsing packet header.

Referenced by clear(), print(), Segment(), and ~Segment().

◆ data_chunks_

std::vector<Buffer8*> grk::t1::Segment::data_chunks_

◆ maxPasses_

uint8_t grk::t1::Segment::maxPasses_ = 0

Maximum number of passes in this code block This is determined by the code block style i.e.

mode switch

Referenced by clear(), and print().

◆ numLayers_

uint16_t grk::t1::Segment::numLayers_ = 0

Number of layers for this code block.

Referenced by clear(), and Segment().

◆ signalledBytesInLayer_

uint16_t* grk::t1::Segment::signalledBytesInLayer_

Number of bytes signalled by layer.

Referenced by clear(), print(), Segment(), and ~Segment().

◆ totalBytes_

uint32_t grk::t1::Segment::totalBytes_ = 0

Total number of bytes in segment.

Referenced by clear(), and print().

◆ totalPasses_

uint8_t grk::t1::Segment::totalPasses_ = 0

Running total of number of passes across multiple layers.

Referenced by clear(), and print().


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