| #pragma once |
| |
| #ifndef TCODEC_INCLUDED |
| #define TCODEC_INCLUDED |
| |
| #include "traster.h" |
| |
| #undef DVAPI |
| #undef DVVAR |
| #ifdef TRASTERIMAGE_EXPORTS |
| #define DVAPI DV_EXPORT_API |
| #define DVVAR DV_EXPORT_VAR |
| #else |
| #define DVAPI DV_IMPORT_API |
| #define DVVAR DV_IMPORT_VAR |
| #endif |
| |
| |
| |
| class DVAPI TRasterCodec { |
| public: |
| TRasterCodec(const std::string &name) : m_name(name) {} |
| virtual ~TRasterCodec() {} |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| static TRasterCodec *create(const std::string &name); |
| |
| private: |
| std::string m_name; |
| }; |
| |
| |
| |
| class DVAPI TRasterCodecDummy final : public TRasterCodec { |
| public: |
| TRasterCodecDummy(const std::string &name) : TRasterCodec(name) {} |
| ~TRasterCodecDummy() {} |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| }; |
| |
| |
| |
| class DVAPI TRasterCodecQTL final : public TRasterCodec { |
| public: |
| TRasterCodecQTL(const std::string &name) : TRasterCodec(name) {} |
| ~TRasterCodecQTL() {} |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| }; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| class DVAPI TRasterCodecLz4 : public TRasterCodec { |
| public: |
| TRasterCodecLz4(const std::string &name, bool useCache); |
| ~TRasterCodecLz4(); |
| |
| TRasterP compress(const TRasterP &inRas, int allocUnit, TINT32 &outDataSize); |
| bool decompress(const UCHAR *inData, TINT32 inDataSize, TRasterP &outRas, |
| bool safeMode); |
| void decompress(const TRasterP &compressedRas, TRasterP &outRas); |
| |
| void reset() { |
| if (m_useCache) return; |
| m_raster = TRasterGR8P(); |
| } |
| |
| private: |
| TRasterGR8P m_raster; |
| std::string m_cacheId; |
| bool m_useCache; |
| |
| private: |
| UINT doCompress(const TRasterP &inRas, int allocUnit, TRasterGR8P &outRas); |
| }; |
| |
| |
| |
| class DVAPI TRasterCodecLZO final : public TRasterCodec { |
| public: |
| TRasterCodecLZO(const std::string &name, bool useCache); |
| ~TRasterCodecLZO(); |
| |
| TRasterP compress(const TRasterP &inRas, int allocUnit, TINT32 &outDataSize); |
| bool decompress(const UCHAR *inData, TINT32 inDataSize, TRasterP &outRas, |
| bool safeMode); |
| void decompress(const TRasterP &compressedRas, TRasterP &outRas); |
| |
| void reset() { |
| if (m_useCache) return; |
| m_raster = TRasterGR8P(); |
| } |
| |
| private: |
| TRasterGR8P m_raster; |
| std::string m_cacheId; |
| bool m_useCache; |
| |
| private: |
| UINT doCompress(const TRasterP &inRas, int allocUnit, TRasterGR8P &outRas); |
| }; |
| |
| #endif |