History

modify return value check inside decoder

unknown committed 10 years ago

Commit 9cb4f4e1 parent 13586a311 files · +216 −197Browse files

Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 11 files). Show all

Unified · Split

codec/decoder/core/src/au_parser.cpp+9−8
@@ -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
788const SLevelLimits* GetLevelLimits (int32_t iLevelIdx, bool bConstraint3) {788const 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 applicated1209 // 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_flag1215 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_id1302 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_flag1318 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_flag1361 WELS_READ_VERIFY (BsGetOneBit (pBsAux, &uiCode)); //weighted_pred_flag

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t