ref: e61a6017f93a878b4ebd7b141223f873a56819a8
parent: 5e73cc4298ab8f38cfa65d09fa9bfadeb4600cfd
parent: 1839910bb0ea4bb9fb32944b4e3f2452dcf57b58
author: dongzha <[email protected]>
date: Thu May 8 07:24:26 EDT 2014
Merge pull request #795 from huili2/new_seq_au_reorder fix order of new AU and new Seq
--- a/codec/decoder/core/src/au_parser.cpp
+++ b/codec/decoder/core/src/au_parser.cpp
@@ -405,7 +405,12 @@
const PNalUnitHeaderExt kpCurNalHeaderExt = &kpCurNal->sNalHeaderExt;
const SSliceHeader* kpLastSliceHeader = &kpLastNal->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader;
const SSliceHeader* kpCurSliceHeader = &kpCurNal->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader;
-
+ if (pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != NULL
+ && pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != kpSps) {
+ pCtx->bNextNewSeqBegin = true;
+ return true; // the active sps changed, new sequence begins, so the current au is ready
+ }
+
//Sub-clause 7.1.4.1.1 temporal_id
if (kpLastNalHeaderExt->uiTemporalId != kpCurNalHeaderExt->uiTemporalId) {
return true;
@@ -412,11 +417,6 @@
}
if (kpLastSliceHeader->iFrameNum != kpCurSliceHeader->iFrameNum)
return true;
- if (pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != NULL
- && pCtx->pActiveLayerSps[kpCurNalHeaderExt->uiDependencyId] != kpSps) {
- pCtx->bNextNewSeqBegin = true;
- return true; // the active sps changed, new sequence begins, so the current au is ready
- }
// Subclause 7.4.1.2.5
if (kpLastSliceHeader->iRedundantPicCnt > kpCurSliceHeader->iRedundantPicCnt)
return true;