22 #include "nefdiffiterator.h"
27 int NefDiffIterator::get()
29 unsigned int t = m_decoder.decode(m_iter);
30 unsigned int len = t & 15;
31 unsigned int shl = t >> 4;
34 unsigned int bits = m_iter.get(len - shl);
36 int diff = ((bits << 1) + 1) << shl >> 1;
37 if ((diff & (1 << (len-1))) == 0)
38 diff -= (1 << len) - !shl;
57 const HuffmanNode NefDiffIterator::Lossy12Bit[] = {
102 const HuffmanNode NefDiffIterator::LossLess14Bit[] = {
134 NefDiffIterator::NefDiffIterator(
const HuffmanNode*
const t,
136 m_iter(p), m_decoder(t)