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