summaryrefslogtreecommitdiff
path: root/core/fxcodec/jbig2
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-08-30 17:11:19 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-08-31 01:15:56 +0000
commitcc2b38d41141a939c7ef73c0066418b8d823c681 (patch)
treed35174ad9f3abea74c46a13dd76969cbd0f749dd /core/fxcodec/jbig2
parent0158106c1c77c6af4f7195d086cb0f2d129de838 (diff)
downloadpdfium-cc2b38d41141a939c7ef73c0066418b8d823c681.tar.xz
Split IFX_Pause out of fx_basic
This CL moves IFX_Pause out to its own class from fx_basic and updates includes as needed. Change-Id: Iebdd183d8c85aa17570f190f1a7d1602c0af3c8b Reviewed-on: https://pdfium-review.googlesource.com/12491 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxcodec/jbig2')
-rw-r--r--core/fxcodec/jbig2/JBig2_Context.cpp25
-rw-r--r--core/fxcodec/jbig2/JBig2_Context.h28
-rw-r--r--core/fxcodec/jbig2/JBig2_GrdProc.cpp23
-rw-r--r--core/fxcodec/jbig2/JBig2_GrdProc.h24
-rw-r--r--core/fxcodec/jbig2/JBig2_HtrdProc.cpp2
-rw-r--r--core/fxcodec/jbig2/JBig2_HtrdProc.h4
-rw-r--r--core/fxcodec/jbig2/JBig2_PddProc.cpp2
-rw-r--r--core/fxcodec/jbig2/JBig2_PddProc.h4
8 files changed, 60 insertions, 52 deletions
diff --git a/core/fxcodec/jbig2/JBig2_Context.cpp b/core/fxcodec/jbig2/JBig2_Context.cpp
index 778db1c591..a1f6cc6bca 100644
--- a/core/fxcodec/jbig2/JBig2_Context.cpp
+++ b/core/fxcodec/jbig2/JBig2_Context.cpp
@@ -23,6 +23,7 @@
#include "core/fxcodec/jbig2/JBig2_PddProc.h"
#include "core/fxcodec/jbig2/JBig2_SddProc.h"
#include "core/fxcodec/jbig2/JBig2_TrdProc.h"
+#include "core/fxcrt/ifx_pauseindicator.h"
#include "third_party/base/ptr_util.h"
#include "third_party/base/stl_util.h"
@@ -69,7 +70,8 @@ CJBig2_Context::CJBig2_Context(
CJBig2_Context::~CJBig2_Context() {}
-int32_t CJBig2_Context::decode_SquentialOrgnazation(IFX_Pause* pPause) {
+int32_t CJBig2_Context::decode_SquentialOrgnazation(
+ IFX_PauseIndicator* pPause) {
int32_t nRet;
if (m_pStream->getByteLeft() <= 0)
return JBIG2_END_OF_FILE;
@@ -115,11 +117,12 @@ int32_t CJBig2_Context::decode_SquentialOrgnazation(IFX_Pause* pPause) {
return JBIG2_SUCCESS;
}
-int32_t CJBig2_Context::decode_EmbedOrgnazation(IFX_Pause* pPause) {
+int32_t CJBig2_Context::decode_EmbedOrgnazation(IFX_PauseIndicator* pPause) {
return decode_SquentialOrgnazation(pPause);
}
-int32_t CJBig2_Context::decode_RandomOrgnazation_FirstPage(IFX_Pause* pPause) {
+int32_t CJBig2_Context::decode_RandomOrgnazation_FirstPage(
+ IFX_PauseIndicator* pPause) {
int32_t nRet;
while (m_pStream->getByteLeft() > JBIG2_MIN_SEGMENT_SIZE) {
auto pSegment = pdfium::MakeUnique<CJBig2_Segment>();
@@ -140,7 +143,7 @@ int32_t CJBig2_Context::decode_RandomOrgnazation_FirstPage(IFX_Pause* pPause) {
return decode_RandomOrgnazation(pPause);
}
-int32_t CJBig2_Context::decode_RandomOrgnazation(IFX_Pause* pPause) {
+int32_t CJBig2_Context::decode_RandomOrgnazation(IFX_PauseIndicator* pPause) {
for (; m_nSegmentDecoded < m_SegmentList.size(); ++m_nSegmentDecoded) {
int32_t nRet =
parseSegmentData(m_SegmentList[m_nSegmentDecoded].get(), pPause);
@@ -163,7 +166,7 @@ int32_t CJBig2_Context::getFirstPage(uint8_t* pBuf,
int32_t width,
int32_t height,
int32_t stride,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
int32_t nRet = 0;
if (m_pGlobalContext) {
nRet = m_pGlobalContext->decode_EmbedOrgnazation(pPause);
@@ -183,7 +186,7 @@ int32_t CJBig2_Context::getFirstPage(uint8_t* pBuf,
return Continue(pPause);
}
-int32_t CJBig2_Context::Continue(IFX_Pause* pPause) {
+int32_t CJBig2_Context::Continue(IFX_PauseIndicator* pPause) {
m_ProcessingStatus = FXCODEC_STATUS_DECODE_READY;
int32_t nRet = 0;
if (m_PauseStep <= 1) {
@@ -322,7 +325,7 @@ int32_t CJBig2_Context::parseSegmentHeader(CJBig2_Segment* pSegment) {
}
int32_t CJBig2_Context::parseSegmentData(CJBig2_Segment* pSegment,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
int32_t ret = ProcessingParseSegmentData(pSegment, pPause);
while (m_ProcessingStatus == FXCODEC_STATUS_DECODE_TOBECONTINUE &&
m_pStream->getByteLeft() > 0) {
@@ -332,7 +335,7 @@ int32_t CJBig2_Context::parseSegmentData(CJBig2_Segment* pSegment,
}
int32_t CJBig2_Context::ProcessingParseSegmentData(CJBig2_Segment* pSegment,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
switch (pSegment->m_cFlags.s.type) {
case 0:
return parseSymbolDict(pSegment);
@@ -931,7 +934,7 @@ int32_t CJBig2_Context::parseTextRegion(CJBig2_Segment* pSegment) {
}
int32_t CJBig2_Context::parsePatternDict(CJBig2_Segment* pSegment,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
uint8_t cFlags;
auto pPDD = pdfium::MakeUnique<CJBig2_PDDProc>();
if (m_pStream->read1Byte(&cFlags) != 0 ||
@@ -970,7 +973,7 @@ int32_t CJBig2_Context::parsePatternDict(CJBig2_Segment* pSegment,
}
int32_t CJBig2_Context::parseHalftoneRegion(CJBig2_Segment* pSegment,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
uint8_t cFlags;
JBig2RegionInfo ri;
auto pHRD = pdfium::MakeUnique<CJBig2_HTRDProc>();
@@ -1048,7 +1051,7 @@ int32_t CJBig2_Context::parseHalftoneRegion(CJBig2_Segment* pSegment,
}
int32_t CJBig2_Context::parseGenericRegion(CJBig2_Segment* pSegment,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
if (!m_pGRD) {
auto pGRD = pdfium::MakeUnique<CJBig2_GRDProc>();
uint8_t cFlags;
diff --git a/core/fxcodec/jbig2/JBig2_Context.h b/core/fxcodec/jbig2/JBig2_Context.h
index 9224d325b5..c88fc6f187 100644
--- a/core/fxcodec/jbig2/JBig2_Context.h
+++ b/core/fxcodec/jbig2/JBig2_Context.h
@@ -20,7 +20,7 @@
class CJBig2_ArithDecoder;
class CJBig2_GRDProc;
class CPDF_StreamAcc;
-class IFX_Pause;
+class IFX_PauseIndicator;
// Cache is keyed by the ObjNum of a stream and an index within the stream.
using CJBig2_CacheKey = std::pair<uint32_t, uint32_t>;
@@ -50,16 +50,16 @@ class CJBig2_Context {
int32_t width,
int32_t height,
int32_t stride,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
- int32_t Continue(IFX_Pause* pPause);
+ int32_t Continue(IFX_PauseIndicator* pPause);
FXCODEC_STATUS GetProcessingStatus() const { return m_ProcessingStatus; }
private:
- int32_t decode_SquentialOrgnazation(IFX_Pause* pPause);
- int32_t decode_EmbedOrgnazation(IFX_Pause* pPause);
- int32_t decode_RandomOrgnazation_FirstPage(IFX_Pause* pPause);
- int32_t decode_RandomOrgnazation(IFX_Pause* pPause);
+ int32_t decode_SquentialOrgnazation(IFX_PauseIndicator* pPause);
+ int32_t decode_EmbedOrgnazation(IFX_PauseIndicator* pPause);
+ int32_t decode_RandomOrgnazation_FirstPage(IFX_PauseIndicator* pPause);
+ int32_t decode_RandomOrgnazation(IFX_PauseIndicator* pPause);
CJBig2_Segment* findSegmentByNumber(uint32_t dwNumber);
CJBig2_Segment* findReferredSegmentByTypeAndIndex(CJBig2_Segment* pSegment,
@@ -67,14 +67,18 @@ class CJBig2_Context {
int32_t nIndex);
int32_t parseSegmentHeader(CJBig2_Segment* pSegment);
- int32_t parseSegmentData(CJBig2_Segment* pSegment, IFX_Pause* pPause);
+ int32_t parseSegmentData(CJBig2_Segment* pSegment,
+ IFX_PauseIndicator* pPause);
int32_t ProcessingParseSegmentData(CJBig2_Segment* pSegment,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
int32_t parseSymbolDict(CJBig2_Segment* pSegment);
int32_t parseTextRegion(CJBig2_Segment* pSegment);
- int32_t parsePatternDict(CJBig2_Segment* pSegment, IFX_Pause* pPause);
- int32_t parseHalftoneRegion(CJBig2_Segment* pSegment, IFX_Pause* pPause);
- int32_t parseGenericRegion(CJBig2_Segment* pSegment, IFX_Pause* pPause);
+ int32_t parsePatternDict(CJBig2_Segment* pSegment,
+ IFX_PauseIndicator* pPause);
+ int32_t parseHalftoneRegion(CJBig2_Segment* pSegment,
+ IFX_PauseIndicator* pPause);
+ int32_t parseGenericRegion(CJBig2_Segment* pSegment,
+ IFX_PauseIndicator* pPause);
int32_t parseGenericRefinementRegion(CJBig2_Segment* pSegment);
int32_t parseTable(CJBig2_Segment* pSegment);
int32_t parseRegionInfo(JBig2RegionInfo* pRI);
diff --git a/core/fxcodec/jbig2/JBig2_GrdProc.cpp b/core/fxcodec/jbig2/JBig2_GrdProc.cpp
index 1d76f9053d..7612114117 100644
--- a/core/fxcodec/jbig2/JBig2_GrdProc.cpp
+++ b/core/fxcodec/jbig2/JBig2_GrdProc.cpp
@@ -13,6 +13,7 @@
#include "core/fxcodec/jbig2/JBig2_ArithDecoder.h"
#include "core/fxcodec/jbig2/JBig2_BitStream.h"
#include "core/fxcodec/jbig2/JBig2_Image.h"
+#include "core/fxcrt/ifx_pauseindicator.h"
#include "third_party/base/ptr_util.h"
CJBig2_GRDProc::CJBig2_GRDProc()
@@ -640,7 +641,7 @@ FXCODEC_STATUS CJBig2_GRDProc::Start_decode_Arith(
std::unique_ptr<CJBig2_Image>* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
if (GBW == 0 || GBW > JBIG2_MAX_IMAGE_SIZE || GBH == 0 ||
GBH > JBIG2_MAX_IMAGE_SIZE) {
m_ProssiveStatus = FXCODEC_STATUS_DECODE_FINISH;
@@ -665,7 +666,7 @@ FXCODEC_STATUS CJBig2_GRDProc::Start_decode_Arith(
}
FXCODEC_STATUS CJBig2_GRDProc::decode_Arith(
- IFX_Pause* pPause,
+ IFX_PauseIndicator* pPause,
CJBig2_ArithDecoder* pArithDecoder) {
int iline = m_loopIndex;
if (GBTEMPLATE == 0) {
@@ -733,7 +734,7 @@ FXCODEC_STATUS CJBig2_GRDProc::Start_decode_MMR(
}
FXCODEC_STATUS CJBig2_GRDProc::Continue_decode(
- IFX_Pause* pPause,
+ IFX_PauseIndicator* pPause,
CJBig2_ArithDecoder* pArithDecoder) {
if (m_ProssiveStatus != FXCODEC_STATUS_DECODE_TOBECONTINUE)
return m_ProssiveStatus;
@@ -749,7 +750,7 @@ FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template0_opt3(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
if (!m_pLine) {
m_pLine = pImage->m_pData;
}
@@ -853,7 +854,7 @@ FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template0_unopt(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
for (; m_loopIndex < GBH; m_loopIndex++) {
if (TPGDON) {
if (pArithDecoder->IsComplete())
@@ -911,7 +912,7 @@ FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template1_opt3(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
if (!m_pLine) {
m_pLine = pImage->m_pData;
}
@@ -1013,7 +1014,7 @@ FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template1_unopt(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
for (uint32_t h = 0; h < GBH; h++) {
if (TPGDON) {
if (pArithDecoder->IsComplete())
@@ -1067,7 +1068,7 @@ FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template2_opt3(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
if (!m_pLine) {
m_pLine = pImage->m_pData;
}
@@ -1169,7 +1170,7 @@ FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template2_unopt(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
for (; m_loopIndex < GBH; m_loopIndex++) {
if (TPGDON) {
if (pArithDecoder->IsComplete())
@@ -1223,7 +1224,7 @@ FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template3_opt3(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
if (!m_pLine)
m_pLine = pImage->m_pData;
@@ -1311,7 +1312,7 @@ FXCODEC_STATUS CJBig2_GRDProc::decode_Arith_Template3_unopt(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
for (; m_loopIndex < GBH; m_loopIndex++) {
if (TPGDON) {
if (pArithDecoder->IsComplete())
diff --git a/core/fxcodec/jbig2/JBig2_GrdProc.h b/core/fxcodec/jbig2/JBig2_GrdProc.h
index ef02a7d45a..14c57f976a 100644
--- a/core/fxcodec/jbig2/JBig2_GrdProc.h
+++ b/core/fxcodec/jbig2/JBig2_GrdProc.h
@@ -17,7 +17,7 @@
class CJBig2_ArithDecoder;
class CJBig2_BitStream;
class CJBig2_Image;
-class IFX_Pause;
+class IFX_PauseIndicator;
struct JBig2ArithCtx;
class CJBig2_GRDProc {
@@ -31,10 +31,10 @@ class CJBig2_GRDProc {
FXCODEC_STATUS Start_decode_Arith(std::unique_ptr<CJBig2_Image>* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
FXCODEC_STATUS Start_decode_MMR(std::unique_ptr<CJBig2_Image>* pImage,
CJBig2_BitStream* pStream);
- FXCODEC_STATUS Continue_decode(IFX_Pause* pPause,
+ FXCODEC_STATUS Continue_decode(IFX_PauseIndicator* pPause,
CJBig2_ArithDecoder* pArithDecoder);
FX_RECT GetReplaceRect() const { return m_ReplaceRect; }
@@ -52,44 +52,44 @@ class CJBig2_GRDProc {
bool UseTemplate1Opt3() const;
bool UseTemplate23Opt3() const;
- FXCODEC_STATUS decode_Arith(IFX_Pause* pPause,
+ FXCODEC_STATUS decode_Arith(IFX_PauseIndicator* pPause,
CJBig2_ArithDecoder* pArithDecoder);
FXCODEC_STATUS decode_Arith_Template0_opt3(CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
FXCODEC_STATUS decode_Arith_Template0_unopt(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
FXCODEC_STATUS decode_Arith_Template1_opt3(CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
FXCODEC_STATUS decode_Arith_Template1_unopt(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
FXCODEC_STATUS decode_Arith_Template2_opt3(CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
FXCODEC_STATUS decode_Arith_Template2_unopt(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
FXCODEC_STATUS decode_Arith_Template3_opt3(CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
FXCODEC_STATUS decode_Arith_Template3_unopt(
CJBig2_Image* pImage,
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
std::unique_ptr<CJBig2_Image> decode_Arith_Template0_opt3(
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext);
diff --git a/core/fxcodec/jbig2/JBig2_HtrdProc.cpp b/core/fxcodec/jbig2/JBig2_HtrdProc.cpp
index 11070c11b9..9c9480e263 100644
--- a/core/fxcodec/jbig2/JBig2_HtrdProc.cpp
+++ b/core/fxcodec/jbig2/JBig2_HtrdProc.cpp
@@ -18,7 +18,7 @@
std::unique_ptr<CJBig2_Image> CJBig2_HTRDProc::decode_Arith(
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
std::unique_ptr<CJBig2_Image> HSKIP;
if (HENABLESKIP == 1) {
HSKIP = pdfium::MakeUnique<CJBig2_Image>(HGW, HGH);
diff --git a/core/fxcodec/jbig2/JBig2_HtrdProc.h b/core/fxcodec/jbig2/JBig2_HtrdProc.h
index 75041ac41b..ed7cdbf2b5 100644
--- a/core/fxcodec/jbig2/JBig2_HtrdProc.h
+++ b/core/fxcodec/jbig2/JBig2_HtrdProc.h
@@ -15,14 +15,14 @@
class CJBig2_ArithDecoder;
class CJBig2_BitStream;
-class IFX_Pause;
+class IFX_PauseIndicator;
struct JBig2ArithCtx;
class CJBig2_HTRDProc {
public:
std::unique_ptr<CJBig2_Image> decode_Arith(CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
std::unique_ptr<CJBig2_Image> decode_MMR(CJBig2_BitStream* pStream);
diff --git a/core/fxcodec/jbig2/JBig2_PddProc.cpp b/core/fxcodec/jbig2/JBig2_PddProc.cpp
index e195d8f403..ee891cc002 100644
--- a/core/fxcodec/jbig2/JBig2_PddProc.cpp
+++ b/core/fxcodec/jbig2/JBig2_PddProc.cpp
@@ -16,7 +16,7 @@
std::unique_ptr<CJBig2_PatternDict> CJBig2_PDDProc::decode_Arith(
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause) {
+ IFX_PauseIndicator* pPause) {
uint32_t GRAY;
std::unique_ptr<CJBig2_Image> BHDC;
auto pDict = pdfium::MakeUnique<CJBig2_PatternDict>(GRAYMAX + 1);
diff --git a/core/fxcodec/jbig2/JBig2_PddProc.h b/core/fxcodec/jbig2/JBig2_PddProc.h
index af27889ff1..938da1b209 100644
--- a/core/fxcodec/jbig2/JBig2_PddProc.h
+++ b/core/fxcodec/jbig2/JBig2_PddProc.h
@@ -14,7 +14,7 @@
class CJBig2_ArithDecoder;
class CJBig2_BitStream;
class CJBig2_PatternDict;
-class IFX_Pause;
+class IFX_PauseIndicator;
struct JBig2ArithCtx;
class CJBig2_PDDProc {
@@ -22,7 +22,7 @@ class CJBig2_PDDProc {
std::unique_ptr<CJBig2_PatternDict> decode_Arith(
CJBig2_ArithDecoder* pArithDecoder,
JBig2ArithCtx* gbContext,
- IFX_Pause* pPause);
+ IFX_PauseIndicator* pPause);
std::unique_ptr<CJBig2_PatternDict> decode_MMR(CJBig2_BitStream* pStream);