Showing the changes to codec/decoder/core/src/decoder_core.cpp (1 of 2 files). Show all
Unified · Split
| @@ -475,12 +475,6 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 474 unmodified lines | |||
| 475 | return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_NO_PARAM_SETS); | 475 | return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_NO_PARAM_SETS); |
| 476 | } | 476 | } |
| 477 | 477 | ||
| 478 | if (pPps->iSpsId >= MAX_SPS_COUNT) { | ||
| 479 | WelsLog (pCtx, WELS_LOG_WARNING, "iSpsId out of range\n"); | ||
| 480 | return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_SPS_ID_OVERFLOW); | ||
| 481 | } | ||
| 482 | |||
| 483 | //add check SPS available here | ||
| 484 | if (kbExtensionFlag) { | 478 | if (kbExtensionFlag) { |
| 485 | pSubsetSps = &pCtx->sSubsetSpsBuffer[pPps->iSpsId]; | 479 | pSubsetSps = &pCtx->sSubsetSpsBuffer[pPps->iSpsId]; |
| 486 | pSps = &pSubsetSps->sSps; | 480 | pSps = &pSubsetSps->sSps; |
| @@ -495,7 +489,6 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 8 unmodified lines | |||
| 495 | } | 489 | } |
| 496 | pSps = &pCtx->sSpsBuffer[pPps->iSpsId]; | 490 | pSps = &pCtx->sSpsBuffer[pPps->iSpsId]; |
| 497 | } | 491 | } |
| 498 | pCtx->pSps = pSps; | ||
| 499 | pSliceHead->iPpsId = iPpsId; | 492 | pSliceHead->iPpsId = iPpsId; |
| 500 | pSliceHead->iSpsId = pPps->iSpsId; | 493 | pSliceHead->iSpsId = pPps->iSpsId; |
| 501 | pSliceHead->pPps = pPps; | 494 | pSliceHead->pPps = pPps; |