Decompress LZSS format.
More...
|
const Burger::StaticRTTI * | get_StaticRTTI (void) const noexcept override |
| Get the description to the class.
|
|
| DecompressLZSS () |
| Default constructor.
|
|
eError | Reset (void) override |
| Reset the LZSS decompression.
|
|
eError | Process (void *pOutput, uintptr_t uOutputChunkLength, const void *pInput, uintptr_t uInputChunkLength) override |
| Decompress data using LZSS compression.
|
|
| Decompress (void) |
| Default constructor.
|
|
uintptr_t | GetTotalInputSize (void) const noexcept |
| Get the total processed input data in bytes.
|
|
uintptr_t | GetTotalOutputSize (void) const noexcept |
| Get the total processed output data in bytes.
|
|
uintptr_t | GetProcessedInputSize (void) const noexcept |
| Get the total processed output data in bytes from the last process pass.
|
|
uintptr_t | GetProcessedOutputSize (void) const noexcept |
| Get the total processed output data in bytes from the last process pass.
|
|
uint32_t | GetSignature (void) const noexcept |
| Return the signature for this decompressor.
|
|
const char * | get_class_name (void) const noexcept |
| Get the name of the class.
|
|
virtual | ~Base () noexcept=default |
| Destructor.
|
|
◆ eState
Enumerator |
---|
STATE_INIT | Start of a compression token
|
STATE_16BIT2 | Grab the 2nd half of a 16 bit run token.
|
STATE_RUN | Memory copy in progress.
|
◆ DecompressLZSS()
Burger::DecompressLZSS::DecompressLZSS |
( |
| ) |
|
Default constructor.
Initializes the defaults
◆ get_StaticRTTI()
Get the description to the class.
This virtual function will pull the pointer to the StaticRTTI instance that has the name of the class. Due to it being virtual, it will be the name of the most derived class.
- Returns
- Pointer to a global, read only instance of StaticRTTI for the true class
Reimplemented from Burger::Decompress.
◆ Process()
Burger::eError Burger::DecompressLZSS::Process |
( |
void * | pOutput, |
|
|
uintptr_t | uOutputChunkLength, |
|
|
const void * | pInput, |
|
|
uintptr_t | uInputChunkLength ) |
|
overridevirtual |
Decompress data using LZSS compression.
Using the LZSS compression algorithm, decompress the data
- Parameters
-
pOutput | Pointer to the buffer to accept the decompressed data |
uOutputChunkLength | Number of bytes in the output buffer |
pInput | Pointer to data to compress |
uInputChunkLength | Number of bytes in the data to decompress |
- Returns
- Decompress::eError code with zero if no failure, non-zero is an error code
- See also
- Burger::SimpleDecompressLZSS()
Implements Burger::Decompress.
◆ Reset()
Reset the LZSS decompression.
- Returns
- kErrorNone (No error is possible)
Implements Burger::Decompress.
◆ g_StaticRTTI
The global description of the class.
This record contains the name of this class and a reference to the parent
◆ m_eState
eState Burger::DecompressLZSS::m_eState |
|
protected |
State of the decompression.
◆ m_uBitBucket
uint_t Burger::DecompressLZSS::m_uBitBucket |
|
protected |
◆ m_uOffset
uintptr_t Burger::DecompressLZSS::m_uOffset |
|
protected |
Previous destination pointer.
◆ m_uRunCount
uintptr_t Burger::DecompressLZSS::m_uRunCount |
|
protected |
Previous 16 bit token (Half)
◆ Signature
const uint32_t Burger::DecompressLZSS::Signature = 0x4C5A5353 |
|
static |