22 #ifndef OR_INTERNALS_LJPEGDECOMPRESSOR_H_ 23 #define OR_INTERNALS_LJPEGDECOMPRESSOR_H_ 26 #include <sys/types.h> 31 #include "decompressor.hpp" 42 struct DecompressInfo;
44 typedef int16_t ComponentType;
45 typedef ComponentType *MCU;
73 void setSlices(
const std::vector<uint16_t> & slices);
76 return m_slices.size() > 1;
85 int32_t readBits(
IO::Stream * s, uint16_t bitCount);
87 void flush_bits(uint16_t nbits);
88 int32_t get_bits(uint16_t nbits);
153 int32_t QuickPredict(int32_t col, int16_t curComp,
154 MCU *curRowBuf, MCU *prevRowBuf,
156 void PmPutRow(MCU* RowBuf, int32_t numComp, int32_t numCol, int32_t Pt);
166 std::vector<uint16_t> m_slices;
168 MCU *m_mcuROW1, *m_mcuROW2;
169 char *m_buf1,*m_buf2;
172 void fillBitBuffer (
IO::Stream * s, uint16_t nbits);
174 uint32_t m_getBuffer;
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard. I guess it failed.
virtual RawData * decompress(RawData *in=NULL) override
void setSlices(const std::vector< uint16_t > &slices)
base virtual class for IO