22#include "ForwardDefinitions.h"
41 return compressionType_;
44 size_t getRecommendedInputBufferSize()
const;
49 int decompress(
void* destination, uint32_t destinationSize, uint32_t& outReadSize);
62 return readSize_ - decodedSize_;
97 const void* getCompressedData()
const {
98 return compressedBuffer_.data() + decodedSize_;
100 size_t getCompressedDataSize()
const {
101 return readSize_ - decodedSize_;
104 class Lz4Decompressor;
105 std::unique_ptr<Lz4Decompressor> lz4Context_;
106 class ZstdDecompressor;
107 std::unique_ptr<ZstdDecompressor> zstdContext_;
108 std::vector<uint8_t> compressedBuffer_;
110 size_t readSize_ = {};
111 size_t decodedSize_ = {};
112 size_t lastResult_ = {};
Decompressor helper class, to decompresses data at a target location.
Definition Decompressor.h:34
void * allocateCompressedDataBuffer(size_t requestSize)
Definition Decompressor.cpp:112
int decompress(void *destination, uint32_t destinationSize, uint32_t &outReadSize)
Definition Decompressor.cpp:250
void reset()
Forget any remaining compressed data, get ready for a new frame.
Definition Decompressor.cpp:165
int readFrame(FileHandler &file, void *dst, size_t frameSize, size_t &inOutMaxReadSize)
Definition Decompressor.cpp:222
int initFrame(FileHandler &file, size_t &outFrameSize, size_t &inOutMaxReadSize)
Definition Decompressor.cpp:207
size_t getRemainingCompressedDataBufferSize() const
Definition Decompressor.h:61
Class to abstract VRS file system operations, to enable support for alternate storage methods,...
Definition FileHandler.h:71
Definition AsyncDiskFileChunk.hpp:49
CompressionType
Type of compression. Used in VRS record headers, so never modify the values.
Definition Record.h:35