Index: core/src/fxcodec/jbig2/JBig2_TrdProc.h |
diff --git a/core/src/fxcodec/jbig2/JBig2_TrdProc.h b/core/src/fxcodec/jbig2/JBig2_TrdProc.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1ab7d6a11a9489ac032203519ef6e64343b01c84 |
--- /dev/null |
+++ b/core/src/fxcodec/jbig2/JBig2_TrdProc.h |
@@ -0,0 +1,83 @@ |
+// Copyright 2015 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 CORE_SRC_FXCODEC_JBIG2_JBIG2_TRDPROC_H_ |
+#define CORE_SRC_FXCODEC_JBIG2_JBIG2_TRDPROC_H_ |
+ |
+#include "../../../core/include/fxcrt/fx_system.h" |
+ |
+#include "JBig2_Image.h" |
+ |
+class CJBig2_ArithDecoder; |
+class CJBig2_ArithIaidDecoder; |
+class CJBig2_ArithIntDecoder; |
+class CJBig2_BitStream; |
+class CJBig2_HuffmanTable; |
+struct JBig2ArithCtx; |
+struct JBig2HuffmanCode; |
+ |
+struct JBig2IntDecoderState { |
+ CJBig2_ArithIntDecoder* IADT; |
+ CJBig2_ArithIntDecoder* IAFS; |
+ CJBig2_ArithIntDecoder* IADS; |
+ CJBig2_ArithIntDecoder* IAIT; |
+ CJBig2_ArithIntDecoder* IARI; |
+ CJBig2_ArithIntDecoder* IARDW; |
+ CJBig2_ArithIntDecoder* IARDH; |
+ CJBig2_ArithIntDecoder* IARDX; |
+ CJBig2_ArithIntDecoder* IARDY; |
+ CJBig2_ArithIaidDecoder* IAID; |
+}; |
+ |
+enum JBig2Corner { |
+ JBIG2_CORNER_BOTTOMLEFT = 0, |
+ JBIG2_CORNER_TOPLEFT = 1, |
+ JBIG2_CORNER_BOTTOMRIGHT = 2, |
+ JBIG2_CORNER_TOPRIGHT = 3 |
+}; |
+ |
+class CJBig2_TRDProc { |
+ public: |
+ CJBig2_Image* decode_Huffman(CJBig2_BitStream* pStream, |
+ JBig2ArithCtx* grContext); |
+ |
+ CJBig2_Image* decode_Arith(CJBig2_ArithDecoder* pArithDecoder, |
+ JBig2ArithCtx* grContext, |
+ JBig2IntDecoderState* pIDS = NULL); |
+ |
+ public: |
+ FX_BOOL SBHUFF; |
+ FX_BOOL SBREFINE; |
+ FX_DWORD SBW; |
+ FX_DWORD SBH; |
+ FX_DWORD SBNUMINSTANCES; |
+ FX_DWORD SBSTRIPS; |
+ FX_DWORD SBNUMSYMS; |
+ |
+ JBig2HuffmanCode* SBSYMCODES; |
+ uint8_t SBSYMCODELEN; |
+ |
+ CJBig2_Image** SBSYMS; |
+ FX_BOOL SBDEFPIXEL; |
+ |
+ JBig2ComposeOp SBCOMBOP; |
+ FX_BOOL TRANSPOSED; |
+ |
+ JBig2Corner REFCORNER; |
+ int8_t SBDSOFFSET; |
+ CJBig2_HuffmanTable* SBHUFFFS; |
+ CJBig2_HuffmanTable* SBHUFFDS; |
+ CJBig2_HuffmanTable* SBHUFFDT; |
+ CJBig2_HuffmanTable* SBHUFFRDW; |
+ CJBig2_HuffmanTable* SBHUFFRDH; |
+ CJBig2_HuffmanTable* SBHUFFRDX; |
+ CJBig2_HuffmanTable* SBHUFFRDY; |
+ CJBig2_HuffmanTable* SBHUFFRSIZE; |
+ FX_BOOL SBRTEMPLATE; |
+ int8_t SBRAT[4]; |
+}; |
+ |
+#endif // CORE_SRC_FXCODEC_JBIG2_JBIG2_TRDPROC_H_ |