shithub: openh264

Download patch

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;