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;
69 void setSlices(
const std::vector<uint16_t> & slices);
72 return m_slices.size() > 1;
81 int32_t readBits(
IO::Stream * s, uint16_t bitCount);
83 void flush_bits(uint16_t nbits);
84 int32_t get_bits(uint16_t nbits);
149 int32_t QuickPredict(int32_t col, int16_t curComp,
150 MCU *curRowBuf, MCU *prevRowBuf,
152 void PmPutRow(MCU* RowBuf, int32_t numComp, int32_t numCol, int32_t Pt);
162 std::vector<uint16_t> m_slices;
164 MCU *m_mcuROW1, *m_mcuROW2;
165 char *m_buf1,*m_buf2;
168 void fillBitBuffer (
IO::Stream * s, uint16_t nbits);
170 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 RawDataPtr decompress() override
void setSlices(const std::vector< uint16_t > &slices)
base virtual class for IO