7 #ifndef RETDEC_UNPACKER_DECOMPRESSION_LZMA_LZMA_DATA_H
8 #define RETDEC_UNPACKER_DECOMPRESSION_LZMA_LZMA_DATA_H
55 bool decodeBit(uint32_t pos, uint32_t& bit);
56 bool decodeLiteral(uint32_t pos, uint8_t& returnByte,
bool useRep, uint32_t rep);
57 void rotateRep(uint32_t rep[4], uint32_t amount);
58 bool decodeLen(uint32_t pos, uint32_t posState, uint32_t& len);
59 bool decodeBitTree(uint32_t pos, uint32_t rep, uint32_t add, uint32_t& ret);
Abstract class for compressed data.
Definition: compressed_data.h:26
LZMA compressed data.
Definition: lzma_data.h:43
bool decodeBit(uint32_t pos, uint32_t &bit)
Definition: lzma_data.cpp:234
bool decodeRevBitTree(uint32_t pos, uint32_t rep, uint32_t &posSlot)
Definition: lzma_data.cpp:369
bool decodeLiteral(uint32_t pos, uint8_t &returnByte, bool useRep, uint32_t rep)
Definition: lzma_data.cpp:264
bool decodeLen(uint32_t pos, uint32_t posState, uint32_t &len)
Definition: lzma_data.cpp:314
bool decodeDirectBits(uint32_t count, uint32_t initValue, uint32_t &ret)
Definition: lzma_data.cpp:389
uint32_t _readPos
The position of reading from the input buffer.
Definition: lzma_data.h:63
LzmaData & operator=(const LzmaData &)
bool checkProperties()
Definition: lzma_data.cpp:415
RangeDecoder _rangeDecoder
Range decoder.
Definition: lzma_data.h:65
LzmaData(const LzmaData &data)=delete
bool decodeBitTree(uint32_t pos, uint32_t rep, uint32_t add, uint32_t &ret)
Definition: lzma_data.cpp:351
uint8_t _lp
Definition: lzma_data.h:64
uint8_t _pb
Definition: lzma_data.h:64
void rotateRep(uint32_t rep[4], uint32_t amount)
Definition: lzma_data.cpp:305
uint8_t _lc
Parameters of LZMA compression.
Definition: lzma_data.h:64
virtual bool decompress(DynamicBuffer &outputBuffer) override
Definition: lzma_data.cpp:34
The class for dynamic buffered data manipulation taking the endianness of the data in account.
Definition: dynamic_buffer.h:36
Declaration of class for abstract compressed data.
Definition: archive_wrapper.h:19
Supportive functionality for the generic unpacker.
Range decoder for LZMA.
Definition: lzma_data.h:21
void reset()
Definition: lzma_data.h:24
std::vector< uint16_t > decoder
Decoding buffer.
Definition: lzma_data.h:33
uint32_t range
Definition: lzma_data.h:32
uint32_t code
Definition: lzma_data.h:31
RangeDecoder()
Definition: lzma_data.h:22