Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 1 file). Show all
Unified · Split
| @@ -322,6 +322,10 @@ uint8_t* ParseNalHeader (PWelsDecoderContext pCtx, SNalUnitHeader* pNalUnitHeade · 321 unmodified lines | ||
| 322 | 322 | return NULL; |
| 323 | 323 | } |
| 324 | 324 | |
| 325 | + if ((uiAvailNalNum == 1) && ((NAL_UNIT_CODED_SLICE_IDR == pNalUnitHeader->eNalUnitType) | |
| 326 | + || (pCurNal->sNalHeaderExt.bIdrFlag))) { | |
| 327 | + ResetActiveSPSForEachLayer (pCtx); | |
| 328 | + } | |
| 325 | 329 | if ((uiAvailNalNum > 1) && |
| 326 | 330 | CheckAccessUnitBoundary (pCtx, pCurAu->pNalUnitsList[uiAvailNalNum - 1], pCurAu->pNalUnitsList[uiAvailNalNum - 2], |
| 327 | 331 | pCurAu->pNalUnitsList[uiAvailNalNum - 1]->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader.pSps)) { |
| @@ -410,7 +414,7 @@ bool CheckAccessUnitBoundary (PWelsDecoderContext pCtx, const PNalUnit kpCurNal, · 82 unmodified lines | ||
| 410 | 414 | pCtx->bNextNewSeqBegin = true; |
| 411 | 415 | return true; // the active sps changed, new sequence begins, so the current au is ready |
| 412 | 416 | } |
| 413 | − | |
| 417 | + | |
| 414 | 418 | //Sub-clause 7.1.4.1.1 temporal_id |
| 415 | 419 | if (kpLastNalHeaderExt->uiTemporalId != kpCurNalHeaderExt->uiTemporalId) { |
| 416 | 420 | return true; |