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_SRC_FXCODEC_JBIG2_JBIG2_ARITHDECODER_H_ 8#define CORE_SRC_FXCODEC_JBIG2_JBIG2_ARITHDECODER_H_ 9 10class CJBig2_BitStream; 11 12struct JBig2ArithCtx { 13 JBig2ArithCtx() : MPS(0), I(0) {} 14 15 unsigned int MPS; 16 unsigned int I; 17}; 18 19class 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_SRC_FXCODEC_JBIG2_JBIG2_ARITHDECODER_H_ 39