ref: c511746e0b8b186bb9ea7b1a933c5f36eb268570
parent: bd8e2995adee0c47d909eb44a71ae6fe75a0c37f
author: xiaotiansf <xiaotianshimail@gmail.com>
date: Wed Jan 23 10:25:25 EST 2019
Fix new Bugzillia reported bug 1522179.
--- a/codec/decoder/core/src/parse_mb_syn_cabac.cpp
+++ b/codec/decoder/core/src/parse_mb_syn_cabac.cpp
@@ -888,7 +888,7 @@
SubMbType directSubMbType = 0;
for (int32_t i = 0; i < 4; i++) {
WELS_READ_VERIFY (ParseBSubMBTypeCabac (pCtx, pNeighAvail, uiSubMbType));
- if (uiSubMbType > 13) { //invalid sub_mb_type
+ if (uiSubMbType >= 13) { //invalid sub_mb_type
return GENERATE_ERROR_NO (ERR_LEVEL_MB_DATA, ERR_INFO_INVALID_SUB_MB_TYPE);
}
// pCurDqLayer->pSubMbType[iMbXy][i] = g_ksInterBSubMbTypeInfo[uiSubMbType].iType;
--- a/codec/decoder/core/src/parse_mb_syn_cavlc.cpp
+++ b/codec/decoder/core/src/parse_mb_syn_cavlc.cpp
@@ -1537,7 +1537,7 @@
for (int32_t i = 0; i < 4; i++) {
WELS_READ_VERIFY (BsGetUe (pBs, &uiCode)); //sub_mb_type[ mbPartIdx ]
uiSubMbType = uiCode;
- if (uiSubMbType > 13) { //invalid uiSubMbType
+ if (uiSubMbType >= 13) { //invalid uiSubMbType
return GENERATE_ERROR_NO (ERR_LEVEL_MB_DATA, ERR_INFO_INVALID_SUB_MB_TYPE);
}
pSubPartCount[i] = g_ksInterBSubMbTypeInfo[uiSubMbType].iPartCount;