It also fix SetUnRef crashing which should only loop for LIST_1 if ref pic is B_SLICE.
Showing the changes to codec/decoder/core/src/decoder_core.cpp (1 of 8 files). Show all
Unified · Split
| @@ -2555,7 +2555,7 @@ int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, SBuf · 2554 unmodified lines | |||
| 2555 | pCtx->pDec->iFrameNum = pSh->iFrameNum; | 2555 | pCtx->pDec->iFrameNum = pSh->iFrameNum; |
| 2556 | pCtx->pDec->iFramePoc = pSh->iPicOrderCntLsb; // still can not obtain correct, because current do not support POCtype 2 | 2556 | pCtx->pDec->iFramePoc = pSh->iPicOrderCntLsb; // still can not obtain correct, because current do not support POCtype 2 |
| 2557 | pCtx->pDec->bIdrFlag = pNalCur->sNalHeaderExt.bIdrFlag; | 2557 | pCtx->pDec->bIdrFlag = pNalCur->sNalHeaderExt.bIdrFlag; |
| 2558 | 2558 | pCtx->pDec->eSliceType = pSh->eSliceType; | |
| 2559 | memcpy (&pLayerInfo.sSliceInLayer.sSliceHeaderExt, pShExt, sizeof (SSliceHeaderExt)); //confirmed_safe_unsafe_usage | 2559 | memcpy (&pLayerInfo.sSliceInLayer.sSliceHeaderExt, pShExt, sizeof (SSliceHeaderExt)); //confirmed_safe_unsafe_usage |
| 2560 | pLayerInfo.sSliceInLayer.bSliceHeaderExtFlag = pNalCur->sNalData.sVclNal.bSliceHeaderExtFlag; | 2560 | pLayerInfo.sSliceInLayer.bSliceHeaderExtFlag = pNalCur->sNalData.sVclNal.bSliceHeaderExtFlag; |
| 2561 | pLayerInfo.sSliceInLayer.eSliceType = pSh->eSliceType; | 2561 | pLayerInfo.sSliceInLayer.eSliceType = pSh->eSliceType; |