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 | DecodeNalHeaderExt (pCurNal, pNal); | 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 | pNal += NAL_UNIT_HEADER_EXT_SIZE; | 239 | pNal += NAL_UNIT_HEADER_EXT_SIZE; |
| 225 | iNalSize -= NAL_UNIT_HEADER_EXT_SIZE; | 240 | iNalSize -= NAL_UNIT_HEADER_EXT_SIZE; |