// Copyright 2014 PDFium Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style license that can be | |
// found in the LICENSE file. | |
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
#ifndef _JBIG2_HUFFMAN_TABLE_H_ | |
#define _JBIG2_HUFFMAN_TABLE_H_ | |
#include "JBig2_Module.h" | |
#include "JBig2_HuffmanTable_Standard.h" | |
#include "JBig2_BitStream.h" | |
class CJBig2_HuffmanTable : public CJBig2_Object | |
{ | |
public: | |
CJBig2_HuffmanTable(const JBig2TableLine *pTable, int nLines, FX_BOOL bHTOOB); | |
CJBig2_HuffmanTable(CJBig2_BitStream *pStream); | |
~CJBig2_HuffmanTable(); | |
void init(); | |
int parseFromStandardTable(const JBig2TableLine *pTable, int nLines, FX_BOOL bHTOOB); | |
int parseFromCodedBuffer(CJBig2_BitStream *pStream); | |
FX_BOOL isOK() | |
{ | |
return m_bOK; | |
} | |
private: | |
FX_BOOL HTOOB; | |
int NTEMP; | |
int *CODES; | |
int *PREFLEN; | |
int *RANGELEN; | |
int *RANGELOW; | |
FX_BOOL m_bOK; | |
friend class CJBig2_HuffmanDecoder; | |
}; | |
#endif |