Showing the changes to codec/decoder/core/src/decoder_core.cpp (1 of 1 file). Show all
Unified · Split
| @@ -537,13 +537,15 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 536 unmodified lines | ||
| 537 | 537 | //add check PPS available here |
| 538 | 538 | if (pCtx->bPpsAvailFlags[iPpsId] == false) { |
| 539 | 539 | WelsLog (pLogCtx, WELS_LOG_ERROR, "PPS id is invalid!"); |
| 540 | + pCtx->iErrorCode |= dsNoParamSets; | |
| 540 | 541 | return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_INVALID_PPS_ID); |
| 541 | 542 | } |
| 542 | 543 | |
| 543 | 544 | pPps = &pCtx->sPpsBuffer[iPpsId]; |
| 544 | 545 | |
| 545 | 546 | if (pPps->uiNumSliceGroups == 0) { |
| 546 | − WelsLog (pLogCtx, WELS_LOG_WARNING, "non existing PPS referenced"); | |
| 547 | + WelsLog (pLogCtx, WELS_LOG_WARNING, "Invalid PPS referenced"); | |
| 548 | + pCtx->iErrorCode |= dsNoParamSets; | |
| 547 | 549 | return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_NO_PARAM_SETS); |
| 548 | 550 | } |
| 549 | 551 | |
| @@ -552,11 +554,13 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 2 unmodified lines | ||
| 552 | 554 | pSps = &pSubsetSps->sSps; |
| 553 | 555 | if (pCtx->bSubspsAvailFlags[pPps->iSpsId] == false) { |
| 554 | 556 | WelsLog (pLogCtx, WELS_LOG_ERROR, "SPS id is invalid!"); |
| 557 | + pCtx->iErrorCode |= dsNoParamSets; | |
| 555 | 558 | return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_INVALID_SPS_ID); |
| 556 | 559 | } |
| 557 | 560 | } else { |
| 558 | 561 | if (pCtx->bSpsAvailFlags[pPps->iSpsId] == false) { |
| 559 | 562 | WelsLog (pLogCtx, WELS_LOG_ERROR, "SPS id is invalid!"); |
| 563 | + pCtx->iErrorCode |= dsNoParamSets; | |
| 560 | 564 | return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_INVALID_SPS_ID); |
| 561 | 565 | } |
| 562 | 566 | pSps = &pCtx->sSpsBuffer[pPps->iSpsId]; |