18#ifndef __LIB_LIBEXEC_LZ4DECOMPRESSOR_H
19#define __LIB_LIBEXEC_LZ4DECOMPRESSOR_H
125 const Size inputSize,
127 const Size outputSize)
const;
140 Size &byteCount)
const;
Decompress data using the LZ4 algorithm created by Yann Collet.
Result initialize()
Initialize the decompressor.
u64 m_contentSize
Content size as specified in the frame header.
const Size m_inputSize
Total size in bytes of the compressed input data.
const u32 integerDecode(const u32 initial, const u8 *next, Size &byteCount) const
Decode input data as integer (little-endian, 32-bit unsigned)
Size m_blockMaximumSize
Maximum block size in bytes of the uncompressed content.
u64 getUncompressedSize() const
Get size of the uncompressed data.
const u8 * m_inputData
Compressed input data.
Size m_frameDescSize
Size of the frame descriptor in bytes.
bool m_blockChecksums
True if blocks have checksums enabled.
static const u32 EndMark
EndMark marks the end of the data stream.
bool m_contentChecksum
True if the input data buffer contains content checksum.
FrameFlgFields
Frame FLG Field Shift values.
const u32 decompress(const u8 *input, const Size inputSize, u8 *output, const Size outputSize) const
Decompress a block of compressed data.
static const u32 FrameMagic
Magic number value marks the start of the frame header.
Result read(void *buffer, const Size size) const
Reads compressed data.
static const u8 FrameVersion
Current supported version of the LZ4 algorithm.
unsigned int u32
Unsigned 32-bit number.
unsigned int Size
Any sane size indicator cannot go negative.
unsigned long long u64
Unsigned 64-bit number.
unsigned char u8
Unsigned 8-bit number.