summaryrefslogtreecommitdiff
path: root/core/fxcodec/jbig2/JBig2_PddProc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxcodec/jbig2/JBig2_PddProc.cpp')
-rw-r--r--core/fxcodec/jbig2/JBig2_PddProc.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/core/fxcodec/jbig2/JBig2_PddProc.cpp b/core/fxcodec/jbig2/JBig2_PddProc.cpp
index 18c50ef4cd..32f29d745c 100644
--- a/core/fxcodec/jbig2/JBig2_PddProc.cpp
+++ b/core/fxcodec/jbig2/JBig2_PddProc.cpp
@@ -38,10 +38,16 @@ std::unique_ptr<CJBig2_PatternDict> CJBig2_PDDProc::DecodeArith(
pGRD->GBAT[6] = -2;
pGRD->GBAT[7] = -2;
}
- FXCODEC_STATUS status =
- pGRD->StartDecodeArith(&BHDC, pArithDecoder, gbContext, nullptr);
+ CJBig2_GRDProc::ProgressiveArithDecodeState state;
+ state.pImage = &BHDC;
+ state.pArithDecoder = pArithDecoder;
+ state.gbContext = gbContext;
+ state.pPause = nullptr;
+
+ FXCODEC_STATUS status = pGRD->StartDecodeArith(&state);
+ state.pPause = pPause;
while (status == FXCODEC_STATUS_DECODE_TOBECONTINUE)
- status = pGRD->ContinueDecode(pPause, pArithDecoder);
+ status = pGRD->ContinueDecode(&state);
if (!BHDC)
return nullptr;