enable no-delay decoding for MSlice
Showing the changes to codec/decoder/plus/src/welsDecoderExt.cpp (1 of 5 files). Show all
Unified · Split
| @@ -372,6 +372,7 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 371 unmodified lines | |||
| 372 | //For application MODE, the error detection should be added for safe. | 372 | //For application MODE, the error detection should be added for safe. |
| 373 | //But for CONSOLE MODE, when decoding LAST AU, kiSrcLen==0 && kpSrc==NULL. | 373 | //But for CONSOLE MODE, when decoding LAST AU, kiSrcLen==0 && kpSrc==NULL. |
| 374 | m_pDecContext->bEndOfStreamFlag = true; | 374 | m_pDecContext->bEndOfStreamFlag = true; |
| 375 | m_pDecContext->bInstantDecFlag = true; | ||
| 375 | } | 376 | } |
| 376 | 377 | ||
| 377 | ppDst[0] = ppDst[1] = ppDst[2] = NULL; | 378 | ppDst[0] = ppDst[1] = ppDst[2] = NULL; |
| @@ -390,7 +391,7 @@ DECODING_STATE CWelsDecoder::DecodeFrame2 (const unsigned char* kpSrc, · 12 unmodified lines | |||
| 390 | 391 | ||
| 391 | WelsDecodeBs (m_pDecContext, kpSrc, kiSrcLen, ppDst, | 392 | WelsDecodeBs (m_pDecContext, kpSrc, kiSrcLen, ppDst, |
| 392 | pDstInfo); //iErrorCode has been modified in this function | 393 | pDstInfo); //iErrorCode has been modified in this function |
| 393 | 394 | m_pDecContext->bInstantDecFlag = false; //reset no-delay flag | |
| 394 | if (m_pDecContext->iErrorCode) { | 395 | if (m_pDecContext->iErrorCode) { |
| 395 | ENalUnitType eNalType = | 396 | ENalUnitType eNalType = |
| 396 | NAL_UNIT_UNSPEC_0; //for NBR, IDR frames are expected to decode as followed if error decoding an IDR currently | 397 | NAL_UNIT_UNSPEC_0; //for NBR, IDR frames are expected to decode as followed if error decoding an IDR currently |