Home | History | Annotate | Download | only in jbig2
      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 _JBIG2_HUFFMAN_TABLE_H_
      8 #define _JBIG2_HUFFMAN_TABLE_H_
      9 #include "JBig2_Module.h"
     10 #include "JBig2_HuffmanTable_Standard.h"
     11 #include "JBig2_BitStream.h"
     12 class CJBig2_HuffmanTable : public CJBig2_Object
     13 {
     14 public:
     15 
     16     CJBig2_HuffmanTable(const JBig2TableLine *pTable, int nLines, FX_BOOL bHTOOB);
     17 
     18     CJBig2_HuffmanTable(CJBig2_BitStream *pStream);
     19 
     20     ~CJBig2_HuffmanTable();
     21 
     22     void init();
     23 
     24     int parseFromStandardTable(const JBig2TableLine *pTable, int nLines, FX_BOOL bHTOOB);
     25 
     26     int parseFromCodedBuffer(CJBig2_BitStream *pStream);
     27 
     28     FX_BOOL isOK()
     29     {
     30         return m_bOK;
     31     }
     32 private:
     33     FX_BOOL HTOOB;
     34     int NTEMP;
     35     int *CODES;
     36     int *PREFLEN;
     37     int *RANGELEN;
     38     int *RANGELOW;
     39     FX_BOOL m_bOK;
     40     friend class CJBig2_HuffmanDecoder;
     41 };
     42 #endif
     43