Merge pull request #2091 from HaiboZhu/Bugfix_CheckRefPicturesComplete_FMO_enable
Fix the bug that calculate mbAddr error when FMO enable
This commit is contained in:
commit
d1fc002430
@ -2446,10 +2446,9 @@ bool CheckAndFinishLastPic (PWelsDecoderContext pCtx, uint8_t** ppDst, SBufferIn
|
||||
bool CheckRefPicturesComplete (PWelsDecoderContext pCtx) {
|
||||
// Multi Reference, RefIdx may differ
|
||||
bool bAllRefComplete = true;
|
||||
int32_t iRealMbIdx;
|
||||
int32_t iRealMbIdx = pCtx->pCurDqLayer->sLayerInfo.sSliceInLayer.sSliceHeaderExt.sSliceHeader.iFirstMbInSlice;
|
||||
for (int32_t iMbIdx = 0; bAllRefComplete
|
||||
&& iMbIdx < pCtx->pCurDqLayer->sLayerInfo.sSliceInLayer.iTotalMbInCurSlice; iMbIdx++) {
|
||||
iRealMbIdx = pCtx->pCurDqLayer->sLayerInfo.sSliceInLayer.sSliceHeaderExt.sSliceHeader.iFirstMbInSlice + iMbIdx;
|
||||
switch (pCtx->pCurDqLayer->pMbType[iRealMbIdx]) {
|
||||
case MB_TYPE_SKIP:
|
||||
case MB_TYPE_16x16:
|
||||
@ -2477,6 +2476,8 @@ bool CheckRefPicturesComplete (PWelsDecoderContext pCtx) {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
iRealMbIdx = (pCtx->pPps->uiNumSliceGroups > 1) ? FmoNextMb (pCtx->pFmo, iRealMbIdx) :
|
||||
(pCtx->pCurDqLayer->sLayerInfo.sSliceInLayer.sSliceHeaderExt.sSliceHeader.iFirstMbInSlice + iMbIdx);
|
||||
}
|
||||
return bAllRefComplete;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user