Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 7 files). Show all
Unified · Split
| @@ -220,6 +220,21 @@ uint8_t* ParseNalHeader (PWelsDecoderContext pCtx, SNalUnitHeader* pNalUnitHeade · 219 unmodified lines | ||
| 220 | 220 | } |
| 221 | 221 | |
| 222 | 222 | DecodeNalHeaderExt (pCurNal, pNal); |
| 223 | + if ((pCurNal->sNalHeaderExt.uiQualityId != 0) || (pCurNal->sNalHeaderExt.bUseRefBasePicFlag != 0)) { | |
| 224 | + WelsLog (pCtx, WELS_LOG_WARNING, | |
| 225 | + "ParseNalHeader() in Prefix Nal Unit:uiQualityId (%d) != 0, bUseRefBasePicFlag (%d) != 0, not supported!\n", | |
| 226 | + pCurNal->sNalHeaderExt.uiQualityId, pCurNal->sNalHeaderExt.bUseRefBasePicFlag); | |
| 227 | + PAccessUnit pCurAu = pCtx->pAccessUnitList; | |
| 228 | + uint32_t uiAvailNalNum = pCurAu->uiAvailUnitsNum; | |
| 229 | + ForceClearCurrentNal (pCurAu); | |
| 230 | + | |
| 231 | + if (uiAvailNalNum > 1) { | |
| 232 | + pCurAu->uiEndPos = uiAvailNalNum - 2; | |
| 233 | + pCtx->bAuReadyFlag = true; | |
| 234 | + } | |
| 235 | + pCtx->iErrorCode |= dsInvalidArgument; | |
| 236 | + return NULL; | |
| 237 | + } | |
| 223 | 238 | |
| 224 | 239 | pNal += NAL_UNIT_HEADER_EXT_SIZE; |
| 225 | 240 | iNalSize -= NAL_UNIT_HEADER_EXT_SIZE; |