Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 120 files). Show all
Unified · Split
| @@ -399,7 +399,8 @@ bool CheckAccessUnitBoundaryExt (PNalUnitHeaderExt pLastNalHdrExt, PNalUnitHeade · 398 unmodified lines | |||
| 399 | } | 399 | } |
| 400 | 400 | ||
| 401 | 401 | ||
| 402 | bool CheckAccessUnitBoundary (PWelsDecoderContext pCtx, const PNalUnit kpCurNal, const PNalUnit kpLastNal, const PSps kpSps) { | 402 | bool CheckAccessUnitBoundary (PWelsDecoderContext pCtx, const PNalUnit kpCurNal, const PNalUnit kpLastNal, |
| 403 | const PSps kpSps) { | ||
| 403 | const PNalUnitHeaderExt kpLastNalHeaderExt = &kpLastNal->sNalHeaderExt; | 404 | const PNalUnitHeaderExt kpLastNalHeaderExt = &kpLastNal->sNalHeaderExt; |
| 404 | const PNalUnitHeaderExt kpCurNalHeaderExt = &kpCurNal->sNalHeaderExt; | 405 | const PNalUnitHeaderExt kpCurNalHeaderExt = &kpCurNal->sNalHeaderExt; |
| 405 | const SSliceHeader* kpLastSliceHeader = &kpLastNal->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader; | 406 | const SSliceHeader* kpLastSliceHeader = &kpLastNal->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader; |
| @@ -411,7 +412,8 @@ bool CheckAccessUnitBoundary (PWelsDecoderContext pCtx, const PNalUnit kpCurNal, · 5 unmodified lines | |||
| 411 | } | 412 | } |
| 412 | if (kpLastSliceHeader->iFrameNum != kpCurSliceHeader->iFrameNum) | 413 | if (kpLastSliceHeader->iFrameNum != kpCurSliceHeader->iFrameNum) |
| 413 | return true; | 414 | return true; |
| 414 | if (pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != NULL && pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != kpSps) { | 415 | if (pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != NULL |
| 416 | && pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != kpSps) { | ||
| 415 | pCtx->bNextNewSeqBegin = true; | 417 | pCtx->bNextNewSeqBegin = true; |
| 416 | return true; // the active sps changed, new sequence begins, so the current au is ready | 418 | return true; // the active sps changed, new sequence begins, so the current au is ready |
| 417 | } | 419 | } |
| @@ -423,7 +425,8 @@ bool CheckAccessUnitBoundary (PWelsDecoderContext pCtx, const PNalUnit kpCurNal, · 5 unmodified lines | |||
| 423 | if (kpLastNalHeaderExt->uiDependencyId > kpCurNalHeaderExt->uiDependencyId) | 425 | if (kpLastNalHeaderExt->uiDependencyId > kpCurNalHeaderExt->uiDependencyId) |
| 424 | return true; | 426 | return true; |
| 425 | // Subclause 7.4.1.2.4 | 427 | // Subclause 7.4.1.2.4 |
| 426 | if (kpLastNalHeaderExt->uiDependencyId == kpCurNalHeaderExt->uiDependencyId && kpLastSliceHeader->iPpsId != kpCurSliceHeader->iPpsId) | 428 | if (kpLastNalHeaderExt->uiDependencyId == kpCurNalHeaderExt->uiDependencyId |
| 429 | && kpLastSliceHeader->iPpsId != kpCurSliceHeader->iPpsId) | ||
| 427 | return true; | 430 | return true; |
| 428 | if (kpLastSliceHeader->bFieldPicFlag != kpCurSliceHeader->bFieldPicFlag) | 431 | if (kpLastSliceHeader->bFieldPicFlag != kpCurSliceHeader->bFieldPicFlag) |
| 429 | return true; | 432 | return true; |