Home | History | Annotate | Download | only in jbig2
      1 // Copyright 2014 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef CORE_FXCODEC_JBIG2_JBIG2_ARITHDECODER_H_
      8 #define CORE_FXCODEC_JBIG2_JBIG2_ARITHDECODER_H_
      9 
     10 class CJBig2_BitStream;
     11 
     12 struct JBig2ArithCtx {
     13   JBig2ArithCtx() : MPS(0), I(0) {}
     14 
     15   unsigned int MPS;
     16   unsigned int I;
     17 };
     18 
     19 class CJBig2_ArithDecoder {
     20  public:
     21   explicit CJBig2_ArithDecoder(CJBig2_BitStream* pStream);
     22 
     23   ~CJBig2_ArithDecoder();
     24 
     25   int DECODE(JBig2ArithCtx* pCX);
     26 
     27  private:
     28   void BYTEIN();
     29   void ReadValueA();
     30 
     31   unsigned char m_B;
     32   unsigned int m_C;
     33   unsigned int m_A;
     34   unsigned int m_CT;
     35   CJBig2_BitStream* const m_pStream;
     36 };
     37 
     38 #endif  // CORE_FXCODEC_JBIG2_JBIG2_ARITHDECODER_H_
     39