21 #ifndef __OPENRAW_LJPEGDECOMPRESSOR_H__
22 #define __OPENRAW_LJPEGDECOMPRESSOR_H__
28 #include <libopenraw/libopenraw.h>
30 #include "exception.h"
31 #include "decompressor.h"
39 struct DecompressInfo;
40 typedef int16_t ComponentType;
41 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;