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 { JBig2ArithCtxJBig2ArithCtx13 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