ref: 82e7dcd84fadd1a3ff153782b8cac785bc2a2fcc
parent: 8a96d06fa2fded2ac7f7c2b02942347fe8fc6d45
author: Sijia Chen <sijchen@cisco.com>
date: Fri Aug 14 13:01:19 EDT 2015
change the solution when invalid tid is found
--- a/codec/encoder/core/src/wels_preprocess.cpp
+++ b/codec/encoder/core/src/wels_preprocess.cpp
@@ -1037,7 +1037,10 @@
(pCurPicture->iHeightInPixel >> 3) * STATIC_SCENE_MOTION_RATIO));
const uint8_t iCurTid = GetTemporalLevel (&pSvcParam->sDependencyLayers[m_pEncCtx->sSpatialIndexMap[0].iDid],
m_pEncCtx->iCodingIndex, pSvcParam->uiGopSize);
- const int32_t iClosestLtrFrameNum = (iCurTid != INVALID_TEMPORAL_ID ? pCtx->pLtr[iTargetDid].iLastLtrIdx[iCurTid] : -1);//TBD
+ if (iCurTid == INVALID_TEMPORAL_ID) {
+ return LARGE_CHANGED_SCENE;
+ }
+ const int32_t iClosestLtrFrameNum = pCtx->pLtr[iTargetDid].iLastLtrIdx[iCurTid];
if (pSvcParam->bEnableLongTermReference) {
GetAvailableRefListLosslessScreenRefSelection (pSrcPicList, iCurTid, iClosestLtrFrameNum, &sAvailableRefList[0],
iAvailableRefNum,