Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 2 files). Show all
Unified · Split
| @@ -1075,14 +1075,16 @@ int32_t ParseSps (PWelsDecoderContext pCtx, PBitStringAux pBsAux, int32_t* pPicW · 1074 unmodified lines | |||
| 1075 | WELS_READ_VERIFY (BsGetUe (pBs, &uiCode)); //frame_crop_right_offset | 1075 | WELS_READ_VERIFY (BsGetUe (pBs, &uiCode)); //frame_crop_right_offset |
| 1076 | pSps->sFrameCrop.iRightOffset = uiCode; | 1076 | pSps->sFrameCrop.iRightOffset = uiCode; |
| 1077 | if ((pSps->sFrameCrop.iLeftOffset + pSps->sFrameCrop.iRightOffset) > ((int32_t)pSps->iMbWidth * 16 / 2)) { | 1077 | if ((pSps->sFrameCrop.iLeftOffset + pSps->sFrameCrop.iRightOffset) > ((int32_t)pSps->iMbWidth * 16 / 2)) { |
| 1078 | WelsLog (& (pCtx->sLogCtx), WELS_LOG_WARNING, "frame_crop_left_offset + frame_crop_right_offset exceeds limits!"); | 1078 | WelsLog (& (pCtx->sLogCtx), WELS_LOG_ERROR, "frame_crop_left_offset + frame_crop_right_offset exceeds limits!"); |
| 1079 | return GENERATE_ERROR_NO (ERR_LEVEL_PARAM_SETS, ERR_INFO_INVALID_CROPPING_DATA); | ||
| 1079 | } | 1080 | } |
| 1080 | WELS_READ_VERIFY (BsGetUe (pBs, &uiCode)); //frame_crop_top_offset | 1081 | WELS_READ_VERIFY (BsGetUe (pBs, &uiCode)); //frame_crop_top_offset |
| 1081 | pSps->sFrameCrop.iTopOffset = uiCode; | 1082 | pSps->sFrameCrop.iTopOffset = uiCode; |
| 1082 | WELS_READ_VERIFY (BsGetUe (pBs, &uiCode)); //frame_crop_bottom_offset | 1083 | WELS_READ_VERIFY (BsGetUe (pBs, &uiCode)); //frame_crop_bottom_offset |
| 1083 | pSps->sFrameCrop.iBottomOffset = uiCode; | 1084 | pSps->sFrameCrop.iBottomOffset = uiCode; |
| 1084 | if ((pSps->sFrameCrop.iTopOffset + pSps->sFrameCrop.iBottomOffset) > ((int32_t)pSps->iMbHeight * 16 / 2)) { | 1085 | if ((pSps->sFrameCrop.iTopOffset + pSps->sFrameCrop.iBottomOffset) > ((int32_t)pSps->iMbHeight * 16 / 2)) { |
| 1085 | WelsLog (& (pCtx->sLogCtx), WELS_LOG_WARNING, "frame_crop_top_offset + frame_crop_right_offset exceeds limits!"); | 1086 | WelsLog (& (pCtx->sLogCtx), WELS_LOG_ERROR, "frame_crop_top_offset + frame_crop_right_offset exceeds limits!"); |
| 1087 | return GENERATE_ERROR_NO (ERR_LEVEL_PARAM_SETS, ERR_INFO_INVALID_CROPPING_DATA); | ||
| 1086 | } | 1088 | } |
| 1087 | } else { | 1089 | } else { |
| 1088 | pSps->sFrameCrop.iLeftOffset = 0; // frame_crop_left_offset | 1090 | pSps->sFrameCrop.iLeftOffset = 0; // frame_crop_left_offset |