Showing the changes to codec/decoder/core/src/decode_slice.cpp (1 of 1 file). Show all
Unified · Split
| @@ -1411,6 +1411,12 @@ int32_t WelsDecodeMbCabacBSlice (PWelsDecoderContext pCtx, PNalUnit pNalCur, uin · 1410 unmodified lines | |||
| 1411 | pCtx->bMbRefConcealed = pCtx->bRPLRError || pCtx->bMbRefConcealed || ! (ppRefPicL0[0] && ppRefPicL0[0]->bIsComplete) | 1411 | pCtx->bMbRefConcealed = pCtx->bRPLRError || pCtx->bMbRefConcealed || ! (ppRefPicL0[0] && ppRefPicL0[0]->bIsComplete) |
| 1412 | || ! (ppRefPicL1[0] && ppRefPicL1[0]->bIsComplete); | 1412 | || ! (ppRefPicL1[0] && ppRefPicL1[0]->bIsComplete); |
| 1413 | 1413 | ||
| 1414 | if (pCtx->bMbRefConcealed) { | ||
| 1415 | SLogContext* pLogCtx = & (pCtx->sLogCtx); | ||
| 1416 | WelsLog (pLogCtx, WELS_LOG_ERROR, "Ref Picture for B-Slice is lost, B-Slice decoding cannot be continued!"); | ||
| 1417 | return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_DATA, ERR_INFO_REFERENCE_PIC_LOST); | ||
| 1418 | } | ||
| 1419 | |||
| 1414 | SubMbType subMbType; | 1420 | SubMbType subMbType; |
| 1415 | if (pSliceHeader->iDirectSpatialMvPredFlag) { | 1421 | if (pSliceHeader->iDirectSpatialMvPredFlag) { |
| 1416 | 1422 | ||