Showing the changes to codec/decoder/core/src/decoder_core.cpp (1 of 1 file). Show all
Unified · Split
| @@ -723,7 +723,7 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 722 unmodified lines | |||
| 723 | pSliceHead->eSliceType = static_cast <EWelsSliceType> (uiSliceType); | 723 | pSliceHead->eSliceType = static_cast <EWelsSliceType> (uiSliceType); |
| 724 | 724 | ||
| 725 | WELS_READ_VERIFY (BsGetUe (pBs, &uiCode)); //pic_parameter_set_id | 725 | WELS_READ_VERIFY (BsGetUe (pBs, &uiCode)); //pic_parameter_set_id |
| 726 | WELS_CHECK_SE_UPPER_ERROR (uiCode, MAX_PPS_COUNT, "iPpsId out of range", GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, | 726 | WELS_CHECK_SE_UPPER_ERROR (uiCode, (MAX_PPS_COUNT - 1), "iPpsId out of range", GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, |
| 727 | ERR_INFO_PPS_ID_OVERFLOW)); | 727 | ERR_INFO_PPS_ID_OVERFLOW)); |
| 728 | iPpsId = uiCode; | 728 | iPpsId = uiCode; |
| 729 | 729 | ||
| @@ -807,7 +807,7 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 77 unmodified lines | |||
| 807 | return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_NO_PARAM_SETS); | 807 | return GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_NO_PARAM_SETS); |
| 808 | } | 808 | } |
| 809 | // check first_mb_in_slice | 809 | // check first_mb_in_slice |
| 810 | WELS_CHECK_SE_UPPER_ERROR ((uint32_t) (pSliceHead->iFirstMbInSlice), pSps->uiTotalMbCount, "first_mb_in_slice", | 810 | WELS_CHECK_SE_UPPER_ERROR ((uint32_t) (pSliceHead->iFirstMbInSlice), (pSps->uiTotalMbCount - 1), "first_mb_in_slice", |
| 811 | GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_INVALID_FIRST_MB_IN_SLICE)); | 811 | GENERATE_ERROR_NO (ERR_LEVEL_SLICE_HEADER, ERR_INFO_INVALID_FIRST_MB_IN_SLICE)); |
| 812 | WELS_READ_VERIFY (BsGetBits (pBs, pSps->uiLog2MaxFrameNum, &uiCode)); //frame_num | 812 | WELS_READ_VERIFY (BsGetBits (pBs, pSps->uiLog2MaxFrameNum, &uiCode)); //frame_num |
| 813 | pSliceHead->iFrameNum = uiCode; | 813 | pSliceHead->iFrameNum = uiCode; |