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_FXCODEC_JBIG2_JBIG2_SDDPROC_H_ 8 #define CORE_FXCODEC_JBIG2_JBIG2_SDDPROC_H_ 9 10 #include <vector> 11 12 #include "core/fxcodec/jbig2/JBig2_ArithDecoder.h" 13 #include "core/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 bool SDHUFF; 34 bool SDREFAGG; 35 uint32_t SDNUMINSYMS; 36 CJBig2_Image** SDINSYMS; 37 uint32_t SDNUMNEWSYMS; 38 uint32_t 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 bool SDRTEMPLATE; 46 int8_t SDRAT[4]; 47 }; 48 49 #endif // CORE_FXCODEC_JBIG2_JBIG2_SDDPROC_H_ 50