GL Studio Safety Critical Embedded C++ Runtime Library
|
#include <gls_rle_decoder.h>
Public Member Functions | |
GlsRLEDecoder (const GlsUChar *const inlineData[], const GlsUInt32 inlineDataLength, const GlsUInt32 lineLength) | |
~GlsRLEDecoder () | |
GlsUChar | DecodeByte (void) |
GlsBool | IsDone (void) const |
Protected Attributes | |
GlsUtil::InlineReader | _inlineReader |
GlsUChar | _markerByte |
GlsUInt32 | _sequenceRemaining |
GlsUChar | _repeatedByte |
Static Protected Attributes | |
static const GlsUChar | TWO_BYTE_COUNT_FLAG = 0x80 |
RLE ( Run Length Encoded compression ) decoder. This decoder allows for incremental decoding of RLE compressed data in inline format.
GlsRLEDecoder::GlsRLEDecoder | ( | const GlsUChar *const | inlineData[], |
const GlsUInt32 | inlineDataLength, | ||
const GlsUInt32 | lineLength | ||
) |
Constructor - create an instance
inlineData | inline RLE data to decode |
inlineDataLength | length in bytes of inline RLE data to decode ( not including terminators at end of lines ) |
lineLength | length (in bytes) of one line of data in the inline data (not including NULL terminator) |
GlsRLEDecoder::~GlsRLEDecoder | ( | ) |
Destructor - destroy instance
GlsUChar GlsRLEDecoder::DecodeByte | ( | void | ) |
Decode one byte of input
GlsBool GlsRLEDecoder::IsDone | ( | void | ) | const |
Determine if decoder is finished decoding input data
|
protected |
inline data reader
|
protected |
marker byte to signal run length
|
protected |
current repeated byte if _sequenceRemaining > 0
|
protected |
number of repeated bytes remaining in sequence else 0
|
staticprotected |
flag in input data that indicates a two byte repeat count