Showing the changes to codec/decoder (1 of 1 file). Show all
Unified · Split
| @@ -405,18 +405,18 @@ bool CheckAccessUnitBoundary (PWelsDecoderContext pCtx, const PNalUnit kpCurNal, · 404 unmodified lines | |||
| 405 | const PNalUnitHeaderExt kpCurNalHeaderExt = &kpCurNal->sNalHeaderExt; | 405 | const PNalUnitHeaderExt kpCurNalHeaderExt = &kpCurNal->sNalHeaderExt; |
| 406 | const SSliceHeader* kpLastSliceHeader = &kpLastNal->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader; | 406 | const SSliceHeader* kpLastSliceHeader = &kpLastNal->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader; |
| 407 | const SSliceHeader* kpCurSliceHeader = &kpCurNal->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader; | 407 | const SSliceHeader* kpCurSliceHeader = &kpCurNal->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader; |
| 408 | 408 | if (pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != NULL | |
| 409 | && pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != kpSps) { | ||
| 410 | pCtx->bNextNewSeqBegin = true; | ||
| 411 | return true; // the active sps changed, new sequence begins, so the current au is ready | ||
| 412 | } | ||
| 413 | |||
| 409 | //Sub-clause 7.1.4.1.1 temporal_id | 414 | //Sub-clause 7.1.4.1.1 temporal_id |
| 410 | if (kpLastNalHeaderExt->uiTemporalId != kpCurNalHeaderExt->uiTemporalId) { | 415 | if (kpLastNalHeaderExt->uiTemporalId != kpCurNalHeaderExt->uiTemporalId) { |
| 411 | return true; | 416 | return true; |
| 412 | } | 417 | } |
| 413 | if (kpLastSliceHeader->iFrameNum != kpCurSliceHeader->iFrameNum) | 418 | if (kpLastSliceHeader->iFrameNum != kpCurSliceHeader->iFrameNum) |
| 414 | return true; | 419 | return true; |
| 415 | if (pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != NULL | ||
| 416 | && pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != kpSps) { | ||
| 417 | pCtx->bNextNewSeqBegin = true; | ||
| 418 | return true; // the active sps changed, new sequence begins, so the current au is ready | ||
| 419 | } | ||
| 420 | // Subclause 7.4.1.2.5 | 420 | // Subclause 7.4.1.2.5 |
| 421 | if (kpLastSliceHeader->iRedundantPicCnt > kpCurSliceHeader->iRedundantPicCnt) | 421 | if (kpLastSliceHeader->iRedundantPicCnt > kpCurSliceHeader->iRedundantPicCnt) |
| 422 | return true; | 422 | return true; |