diff --git a/codec/encoder/core/src/encoder_ext.cpp b/codec/encoder/core/src/encoder_ext.cpp index fc046803..f9314d5e 100644 --- a/codec/encoder/core/src/encoder_ext.cpp +++ b/codec/encoder/core/src/encoder_ext.cpp @@ -3155,6 +3155,7 @@ int32_t WelsEncoderEncodeExt (sWelsEncCtx* pCtx, SFrameBSInfo* pFbi, const SSour pCtx->pFuncList->pMarkPic (pCtx); if (!pCtx->pFuncList->pBuildRefList (pCtx, pCtx->iPOC, 0)) { + pCtx->pVpp->UpdateSpatialPictures (pCtx, pSvcParam, iCurTid, iDidIdx); // Force coding IDR as followed ForceCodingIDR (pCtx); WelsLog (pLogCtx, WELS_LOG_WARNING, @@ -3425,6 +3426,7 @@ int32_t WelsEncoderEncodeExt (sWelsEncCtx* pCtx, SFrameBSInfo* pFbi, const SSour // reference picture list update if (eNalRefIdc != NRI_PRI_LOWEST) { if (!pCtx->pFuncList->pUpdateRefList (pCtx)) { + pCtx->pVpp->UpdateSpatialPictures (pCtx, pSvcParam, iCurTid, iDidIdx); // Force coding IDR as followed ForceCodingIDR (pCtx); WelsLog (pLogCtx, WELS_LOG_WARNING, "WelsEncoderEncodeExt(), WelsUpdateRefList failed. ForceCodingIDR!");