Home | History | Annotate | Download | only in jbig2
      1 // Copyright 2015 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_SDDPROC_H_
      8 #define CORE_SRC_FXCODEC_JBIG2_JBIG2_SDDPROC_H_
      9 
     10 #include <vector>
     11 
     12 #include "JBig2_ArithDecoder.h"
     13 #include "core/include/fxcrt/fx_system.h"
     14 
     15 class CJBig2_BitStream;
     16 class CJBig2_HuffmanTable;
     17 class CJBig2_Image;
     18 class CJBig2_SymbolDict;
     19 class IFX_Pause;
     20 
     21 class CJBig2_SDDProc {
     22  public:
     23   CJBig2_SymbolDict* decode_Arith(CJBig2_ArithDecoder* pArithDecoder,
     24                                   std::vector<JBig2ArithCtx>* gbContext,
     25                                   std::vector<JBig2ArithCtx>* grContext);
     26 
     27   CJBig2_SymbolDict* decode_Huffman(CJBig2_BitStream* pStream,
     28                                     std::vector<JBig2ArithCtx>* gbContext,
     29                                     std::vector<JBig2ArithCtx>* grContext,
     30                                     IFX_Pause* pPause);
     31 
     32  public:
     33   FX_BOOL SDHUFF;
     34   FX_BOOL SDREFAGG;
     35   FX_DWORD SDNUMINSYMS;
     36   CJBig2_Image** SDINSYMS;
     37   FX_DWORD SDNUMNEWSYMS;
     38   FX_DWORD SDNUMEXSYMS;
     39   CJBig2_HuffmanTable* SDHUFFDH;
     40   CJBig2_HuffmanTable* SDHUFFDW;
     41   CJBig2_HuffmanTable* SDHUFFBMSIZE;
     42   CJBig2_HuffmanTable* SDHUFFAGGINST;
     43   uint8_t SDTEMPLATE;
     44   int8_t SDAT[8];
     45   FX_BOOL SDRTEMPLATE;
     46   int8_t SDRAT[4];
     47 };
     48 
     49 #endif  // CORE_SRC_FXCODEC_JBIG2_JBIG2_SDDPROC_H_
     50