Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 11 files). Show all
Unified · Split
| @@ -782,7 +782,7 @@ int32_t DecodeSpsSvcExt (PWelsDecoderContext pCtx, PSubsetSps pSpsExt, PBitStrin · 781 unmodified lines | |||
| 782 | 782 | ||
| 783 | 783 | ||
| 784 | 784 | ||
| 785 | return 0; | 785 | return ERR_NONE; |
| 786 | } | 786 | } |
| 787 | 787 | ||
| 788 | const SLevelLimits* GetLevelLimits (int32_t iLevelIdx, bool bConstraint3) { | 788 | const SLevelLimits* GetLevelLimits (int32_t iLevelIdx, bool bConstraint3) { |
| @@ -915,6 +915,7 @@ int32_t ParseSps (PWelsDecoderContext pCtx, PBitStringAux pBsAux, int32_t* pPicW · 126 unmodified lines | |||
| 915 | int32_t iSpsId; | 915 | int32_t iSpsId; |
| 916 | uint32_t uiCode; | 916 | uint32_t uiCode; |
| 917 | int32_t iCode; | 917 | int32_t iCode; |
| 918 | int32_t iRet = ERR_NONE; | ||
| 918 | bool bConstraintSetFlags[6] = { false }; | 919 | bool bConstraintSetFlags[6] = { false }; |
| 919 | const bool kbUseSubsetFlag = IS_SUBSET_SPS_NAL (pNalHead->eNalUnitType); | 920 | const bool kbUseSubsetFlag = IS_SUBSET_SPS_NAL (pNalHead->eNalUnitType); |
| 920 | 921 | ||
| @@ -1207,8 +1208,8 @@ int32_t ParseSps (PWelsDecoderContext pCtx, PBitStringAux pBsAux, int32_t* pPicW · 286 unmodified lines | |||
| 1207 | } | 1208 | } |
| 1208 | // Check if SPS SVC extension applicated | 1209 | // Check if SPS SVC extension applicated |
| 1209 | if (kbUseSubsetFlag && (PRO_SCALABLE_BASELINE == uiProfileIdc || PRO_SCALABLE_HIGH == uiProfileIdc)) { | 1210 | if (kbUseSubsetFlag && (PRO_SCALABLE_BASELINE == uiProfileIdc || PRO_SCALABLE_HIGH == uiProfileIdc)) { |
| 1210 | if (DecodeSpsSvcExt (pCtx, pSubsetSps, pBs) != ERR_NONE) { | 1211 | if ((iRet = DecodeSpsSvcExt (pCtx, pSubsetSps, pBs)) != ERR_NONE) { |
| 1211 | return -1; | 1212 | return iRet; |
| 1212 | } | 1213 | } |
| 1213 | 1214 | ||
| 1214 | WELS_READ_VERIFY (BsGetOneBit (pBs, &uiCode)); //svc_vui_parameters_present_flag | 1215 | WELS_READ_VERIFY (BsGetOneBit (pBs, &uiCode)); //svc_vui_parameters_present_flag |
| @@ -1271,7 +1272,7 @@ int32_t ParseSps (PWelsDecoderContext pCtx, PBitStringAux pBsAux, int32_t* pPicW · 56 unmodified lines | |||
| 1271 | pCtx->bSpsAvailFlags[iSpsId] = true; | 1272 | pCtx->bSpsAvailFlags[iSpsId] = true; |
| 1272 | pCtx->bSpsExistAheadFlag = true; | 1273 | pCtx->bSpsExistAheadFlag = true; |
| 1273 | } | 1274 | } |
| 1274 | return 0; | 1275 | return ERR_NONE; |
| 1275 | } | 1276 | } |
| 1276 | 1277 | ||
| 1277 | /*! | 1278 | /*! |
| @@ -1301,7 +1302,7 @@ int32_t ParsePps (PWelsDecoderContext pCtx, PPps pPpsList, PBitStringAux pBsAux, · 23 unmodified lines | |||
| 1301 | WELS_READ_VERIFY (BsGetUe (pBsAux, &uiCode)); //pic_parameter_set_id | 1302 | WELS_READ_VERIFY (BsGetUe (pBsAux, &uiCode)); //pic_parameter_set_id |
| 1302 | uiPpsId = uiCode; | 1303 | uiPpsId = uiCode; |
| 1303 | if (uiPpsId >= MAX_PPS_COUNT) { | 1304 | if (uiPpsId >= MAX_PPS_COUNT) { |
| 1304 | return ERR_INFO_PPS_ID_OVERFLOW; | 1305 | return GENERATE_ERROR_NO (ERR_LEVEL_PARAM_SETS, ERR_INFO_PPS_ID_OVERFLOW); |
| 1305 | } | 1306 | } |
| 1306 | pPps = &sTempPps; | 1307 | pPps = &sTempPps; |
| 1307 | memset (pPps, 0, sizeof (SPps)); | 1308 | memset (pPps, 0, sizeof (SPps)); |
| @@ -1311,7 +1312,7 @@ int32_t ParsePps (PWelsDecoderContext pCtx, PPps pPpsList, PBitStringAux pBsAux, · 3 unmodified lines | |||
| 1311 | pPps->iSpsId = uiCode; | 1312 | pPps->iSpsId = uiCode; |
| 1312 | 1313 | ||
| 1313 | if (pPps->iSpsId >= MAX_SPS_COUNT) { | 1314 | if (pPps->iSpsId >= MAX_SPS_COUNT) { |
| 1314 | return ERR_INFO_SPS_ID_OVERFLOW; | 1315 | return GENERATE_ERROR_NO (ERR_LEVEL_PARAM_SETS, ERR_INFO_SPS_ID_OVERFLOW); |
| 1315 | } | 1316 | } |
| 1316 | 1317 | ||
| 1317 | WELS_READ_VERIFY (BsGetOneBit (pBsAux, &uiCode)); //entropy_coding_mode_flag | 1318 | WELS_READ_VERIFY (BsGetOneBit (pBsAux, &uiCode)); //entropy_coding_mode_flag |
| @@ -1323,7 +1324,7 @@ int32_t ParsePps (PWelsDecoderContext pCtx, PPps pPpsList, PBitStringAux pBsAux, · 5 unmodified lines | |||
| 1323 | pPps->uiNumSliceGroups = NUM_SLICE_GROUPS_OFFSET + uiCode; | 1324 | pPps->uiNumSliceGroups = NUM_SLICE_GROUPS_OFFSET + uiCode; |
| 1324 | 1325 | ||
| 1325 | if (pPps->uiNumSliceGroups > MAX_SLICEGROUP_IDS) { | 1326 | if (pPps->uiNumSliceGroups > MAX_SLICEGROUP_IDS) { |
| 1326 | return ERR_INFO_INVALID_SLICEGROUP; | 1327 | return GENERATE_ERROR_NO (ERR_LEVEL_PARAM_SETS, ERR_INFO_INVALID_SLICEGROUP); |
| 1327 | } | 1328 | } |
| 1328 | 1329 | ||
| 1329 | if (pPps->uiNumSliceGroups > 1) { | 1330 | if (pPps->uiNumSliceGroups > 1) { |
| @@ -1354,7 +1355,7 @@ int32_t ParsePps (PWelsDecoderContext pCtx, PPps pPpsList, PBitStringAux pBsAux, · 24 unmodified lines | |||
| 1354 | 1355 | ||
| 1355 | if (pPps->uiNumRefIdxL0Active > MAX_REF_PIC_COUNT || | 1356 | if (pPps->uiNumRefIdxL0Active > MAX_REF_PIC_COUNT || |
| 1356 | pPps->uiNumRefIdxL1Active > MAX_REF_PIC_COUNT) { | 1357 | pPps->uiNumRefIdxL1Active > MAX_REF_PIC_COUNT) { |
| 1357 | return ERR_INFO_REF_COUNT_OVERFLOW; | 1358 | return GENERATE_ERROR_NO (ERR_LEVEL_PARAM_SETS, ERR_INFO_REF_COUNT_OVERFLOW); |
| 1358 | } | 1359 | } |
| 1359 | 1360 | ||
| 1360 | WELS_READ_VERIFY (BsGetOneBit (pBsAux, &uiCode)); //weighted_pred_flag | 1361 | WELS_READ_VERIFY (BsGetOneBit (pBsAux, &uiCode)); //weighted_pred_flag |