| Index: core/src/fxcodec/codec/fx_codec_jbig.cpp
|
| diff --git a/core/src/fxcodec/codec/fx_codec_jbig.cpp b/core/src/fxcodec/codec/fx_codec_jbig.cpp
|
| index 7a69a24d40657641b30d205ff26c8d2607db173a..51184306eb14bbc119f0624084fa2d16c3a1dee9 100644
|
| --- a/core/src/fxcodec/codec/fx_codec_jbig.cpp
|
| +++ b/core/src/fxcodec/codec/fx_codec_jbig.cpp
|
| @@ -172,35 +172,34 @@ FXCODEC_STATUS CCodec_Jbig2Module::ContinueDecode(void* pJbig2Context, IFX_Pause
|
| {
|
| CCodec_Jbig2Context* m_pJbig2Context = (CCodec_Jbig2Context*)pJbig2Context;
|
| int ret = m_pJbig2Context->m_pContext->Continue(pPause);
|
| - if(m_pJbig2Context->m_pContext->GetProcessiveStatus() == FXCODEC_STATUS_DECODE_FINISH) {
|
| - if(m_pJbig2Context->m_bFileReader) {
|
| - CJBig2_Context::DestroyContext(m_pJbig2Context->m_pContext);
|
| - m_pJbig2Context->m_pContext = NULL;
|
| - if (ret != JBIG2_SUCCESS) {
|
| - if(m_pJbig2Context->m_src_buf) {
|
| - FX_Free(m_pJbig2Context->m_src_buf);
|
| - }
|
| - m_pJbig2Context->m_src_buf = NULL;
|
| - return FXCODEC_STATUS_ERROR;
|
| - }
|
| - delete m_pJbig2Context->m_dest_image;
|
| - FX_Free(m_pJbig2Context->m_src_buf);
|
| - return FXCODEC_STATUS_DECODE_FINISH;
|
| - } else {
|
| - CJBig2_Context::DestroyContext(m_pJbig2Context->m_pContext);
|
| - m_pJbig2Context->m_pContext = NULL;
|
| - if (ret != JBIG2_SUCCESS) {
|
| - return FXCODEC_STATUS_ERROR;
|
| - }
|
| - int dword_size = m_pJbig2Context->m_height * m_pJbig2Context->m_dest_pitch / 4;
|
| - FX_DWORD* dword_buf = (FX_DWORD*)m_pJbig2Context->m_dest_buf;
|
| - for (int i = 0; i < dword_size; i ++) {
|
| - dword_buf[i] = ~dword_buf[i];
|
| + if (m_pJbig2Context->m_pContext->GetProcessiveStatus() != FXCODEC_STATUS_DECODE_FINISH) {
|
| + return m_pJbig2Context->m_pContext->GetProcessiveStatus();
|
| + }
|
| + if (m_pJbig2Context->m_bFileReader) {
|
| + CJBig2_Context::DestroyContext(m_pJbig2Context->m_pContext);
|
| + m_pJbig2Context->m_pContext = NULL;
|
| + if (ret != JBIG2_SUCCESS) {
|
| + if(m_pJbig2Context->m_src_buf) {
|
| + FX_Free(m_pJbig2Context->m_src_buf);
|
| }
|
| - return FXCODEC_STATUS_DECODE_FINISH;
|
| + m_pJbig2Context->m_src_buf = NULL;
|
| + return FXCODEC_STATUS_ERROR;
|
| }
|
| + delete m_pJbig2Context->m_dest_image;
|
| + FX_Free(m_pJbig2Context->m_src_buf);
|
| + return FXCODEC_STATUS_DECODE_FINISH;
|
| }
|
| - return m_pJbig2Context->m_pContext->GetProcessiveStatus();
|
| + CJBig2_Context::DestroyContext(m_pJbig2Context->m_pContext);
|
| + m_pJbig2Context->m_pContext = NULL;
|
| + if (ret != JBIG2_SUCCESS) {
|
| + return FXCODEC_STATUS_ERROR;
|
| + }
|
| + int dword_size = m_pJbig2Context->m_height * m_pJbig2Context->m_dest_pitch / 4;
|
| + FX_DWORD* dword_buf = (FX_DWORD*)m_pJbig2Context->m_dest_buf;
|
| + for (int i = 0; i < dword_size; i ++) {
|
| + dword_buf[i] = ~dword_buf[i];
|
| + }
|
| + return FXCODEC_STATUS_DECODE_FINISH;
|
| }
|
|
|
|
|
|
|