Showing the changes to codec/decoder/core/src/decoder_core.cpp (1 of 1 file). Show all
Unified · Split
| @@ -2446,10 +2446,9 @@ bool CheckAndFinishLastPic (PWelsDecoderContext pCtx, uint8_t** ppDst, SBufferIn · 2445 unmodified lines | ||
| 2446 | 2446 | bool CheckRefPicturesComplete (PWelsDecoderContext pCtx) { |
| 2447 | 2447 | // Multi Reference, RefIdx may differ |
| 2448 | 2448 | bool bAllRefComplete = true; |
| 2449 | − int32_t iRealMbIdx; | |
| 2449 | + int32_t iRealMbIdx = pCtx->pCurDqLayer->sLayerInfo.sSliceInLayer.sSliceHeaderExt.sSliceHeader.iFirstMbInSlice; | |
| 2450 | 2450 | for (int32_t iMbIdx = 0; bAllRefComplete |
| 2451 | 2451 | && iMbIdx < pCtx->pCurDqLayer->sLayerInfo.sSliceInLayer.iTotalMbInCurSlice; iMbIdx++) { |
| 2452 | − iRealMbIdx = pCtx->pCurDqLayer->sLayerInfo.sSliceInLayer.sSliceHeaderExt.sSliceHeader.iFirstMbInSlice + iMbIdx; | |
| 2453 | 2452 | switch (pCtx->pCurDqLayer->pMbType[iRealMbIdx]) { |
| 2454 | 2453 | case MB_TYPE_SKIP: |
| 2455 | 2454 | case MB_TYPE_16x16: |
| @@ -2477,6 +2476,8 @@ bool CheckRefPicturesComplete (PWelsDecoderContext pCtx) { · 21 unmodified lines | ||
| 2477 | 2476 | default: |
| 2478 | 2477 | break; |
| 2479 | 2478 | } |
| 2479 | + iRealMbIdx = (pCtx->pPps->uiNumSliceGroups > 1) ? FmoNextMb (pCtx->pFmo, iRealMbIdx) : | |
| 2480 | + (pCtx->pCurDqLayer->sLayerInfo.sSliceInLayer.sSliceHeaderExt.sSliceHeader.iFirstMbInSlice + iMbIdx); | |
| 2480 | 2481 | } |
| 2481 | 2482 | return bAllRefComplete; |
| 2482 | 2483 | } |