ref: c9f6395c3ef5f521c3813ca0c207754e4a059ba2
parent: 0ffc5ea47d09778a50edafed29a3a664c2f4f3f3
author: xiaotiansf <xiaotianshimail@gmail.com>
date: Fri Feb 8 15:52:51 EST 2019
Fix Bugzilla reported bug 1526408.
--- a/codec/decoder/core/src/decode_slice.cpp
+++ b/codec/decoder/core/src/decode_slice.cpp
@@ -1411,6 +1411,12 @@
pCtx->bMbRefConcealed = pCtx->bRPLRError || pCtx->bMbRefConcealed || ! (ppRefPicL0[0] && ppRefPicL0[0]->bIsComplete)
|| ! (ppRefPicL1[0] && ppRefPicL1[0]->bIsComplete);
+ if (pCtx->bMbRefConcealed) {
+ SLogContext* pLogCtx = & (pCtx->sLogCtx);
+ WelsLog (pLogCtx, WELS_LOG_ERROR, "Ref Picture for B-Slice is lost, B-Slice decoding cannot be continued!");
+ return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_DATA, ERR_INFO_REFERENCE_PIC_LOST);
+ }
+
SubMbType subMbType;
if (pSliceHeader->iDirectSpatialMvPredFlag) {