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;