Index: core/src/fxcodec/jbig2/JBig2_Context.cpp |
diff --git a/core/src/fxcodec/jbig2/JBig2_Context.cpp b/core/src/fxcodec/jbig2/JBig2_Context.cpp |
index b70054171da8cb001610a002008f51af68febcee..c004c875037881d09723c6c9da8148b14e36ad79 100644 |
--- a/core/src/fxcodec/jbig2/JBig2_Context.cpp |
+++ b/core/src/fxcodec/jbig2/JBig2_Context.cpp |
@@ -4,9 +4,17 @@ |
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
-#include <list> |
#include "JBig2_Context.h" |
+#include <list> |
+ |
+#include "JBig2_GrdProc.h" |
+#include "JBig2_GrrdProc.h" |
+#include "JBig2_HtrdProc.h" |
+#include "JBig2_PddProc.h" |
+#include "JBig2_SddProc.h" |
+#include "JBig2_TrdProc.h" |
+ |
// Implement a very small least recently used (LRU) cache. It is very |
// common for a JBIG2 dictionary to span multiple pages in a PDF file, |
// and we do not want to decode the same dictionary over and over |
@@ -14,7 +22,7 @@ |
// list keeps track of the freshness of entries, with freshest ones |
// at the front. Even a tiny cache size like 2 makes a dramatic |
// difference for typical JBIG2 documents. |
-const int kSymbolDictCacheMaxSize = 2; |
+static const int kSymbolDictCacheMaxSize = 2; |
CJBig2_Context* CJBig2_Context::CreateContext( |
const uint8_t* pGlobalData, |
@@ -497,13 +505,18 @@ int32_t CJBig2_Context::parseSymbolDict(CJBig2_Segment* pSegment, |
FX_DWORD dwTemp; |
FX_WORD wFlags; |
uint8_t cSDHUFFDH, cSDHUFFDW, cSDHUFFBMSIZE, cSDHUFFAGGINST; |
- CJBig2_HuffmanTable *Table_B1 = NULL, *Table_B2 = NULL, *Table_B3 = NULL, |
- *Table_B4 = NULL, *Table_B5 = NULL; |
+ CJBig2_HuffmanTable* Table_B1 = nullptr; |
+ CJBig2_HuffmanTable* Table_B2 = nullptr; |
+ CJBig2_HuffmanTable* Table_B3 = nullptr; |
+ CJBig2_HuffmanTable* Table_B4 = nullptr; |
+ CJBig2_HuffmanTable* Table_B5 = nullptr; |
int32_t i, nIndex, nRet; |
- CJBig2_Segment *pSeg = NULL, *pLRSeg = NULL; |
+ CJBig2_Segment* pSeg = nullptr; |
+ CJBig2_Segment* pLRSeg = nullptr; |
FX_BOOL bUsed; |
- CJBig2_Image** SDINSYMS = NULL; |
- JBig2ArithCtx *gbContext = NULL, *grContext = NULL; |
+ CJBig2_Image** SDINSYMS = nullptr; |
+ JBig2ArithCtx* gbContext = nullptr; |
+ JBig2ArithCtx* grContext = nullptr; |
CJBig2_ArithDecoder* pArithDecoder; |
CJBig2_SDDProc* pSymbolDictDecoder = new CJBig2_SDDProc(); |
const uint8_t* key = pSegment->m_pData; |
@@ -767,15 +780,22 @@ int32_t CJBig2_Context::parseTextRegion(CJBig2_Segment* pSegment) { |
int32_t i, nIndex, nRet; |
JBig2RegionInfo ri; |
CJBig2_Segment* pSeg; |
- CJBig2_Image** SBSYMS = NULL; |
- JBig2HuffmanCode* SBSYMCODES = NULL; |
+ CJBig2_Image** SBSYMS = nullptr; |
+ JBig2HuffmanCode* SBSYMCODES = nullptr; |
uint8_t cSBHUFFFS, cSBHUFFDS, cSBHUFFDT, cSBHUFFRDW, cSBHUFFRDH, cSBHUFFRDX, |
cSBHUFFRDY, cSBHUFFRSIZE; |
- CJBig2_HuffmanTable *Table_B1 = NULL, *Table_B6 = NULL, *Table_B7 = NULL, |
- *Table_B8 = NULL, *Table_B9 = NULL, *Table_B10 = NULL, |
- *Table_B11 = NULL, *Table_B12 = NULL, *Table_B13 = NULL, |
- *Table_B14 = NULL, *Table_B15 = NULL; |
- JBig2ArithCtx* grContext = NULL; |
+ CJBig2_HuffmanTable* Table_B1 = nullptr; |
+ CJBig2_HuffmanTable* Table_B6 = nullptr; |
+ CJBig2_HuffmanTable* Table_B7 = nullptr; |
+ CJBig2_HuffmanTable* Table_B8 = nullptr; |
+ CJBig2_HuffmanTable* Table_B9 = nullptr; |
+ CJBig2_HuffmanTable* Table_B10 = nullptr; |
+ CJBig2_HuffmanTable* Table_B11 = nullptr; |
+ CJBig2_HuffmanTable* Table_B12 = nullptr; |
+ CJBig2_HuffmanTable* Table_B13 = nullptr; |
+ CJBig2_HuffmanTable* Table_B14 = nullptr; |
+ CJBig2_HuffmanTable* Table_B15 = nullptr; |
+ JBig2ArithCtx* grContext = nullptr; |
CJBig2_ArithDecoder* pArithDecoder; |
CJBig2_TRDProc* pTRD = new CJBig2_TRDProc(); |
if ((parseRegionInfo(&ri) != JBIG2_SUCCESS) || |