Files
Aerofoil/unpacktool/LZWDecompressor.h

27 lines
467 B
C
Raw Normal View History

#pragma once
2020-05-09 21:05:58 -04:00
#include "IDecompressor.h"
#include "LZW.h"
class LZWDecompressor : public IDecompressor
{
2020-05-09 21:05:58 -04:00
public:
explicit LZWDecompressor(int compressFlags);
~LZWDecompressor();
bool Reset(CSInputBuffer *input, size_t compressedSize, size_t decompressedSize) override;
2020-05-09 21:05:58 -04:00
bool ReadBytes(void *dest, size_t numBytes) override;
private:
CSInputBuffer *input;
int compressFlags;
bool blockmode;
LZW *lzw;
int symbolcounter;
uint8_t *buffer, *bufferend;
};