Showing the changes to codec/decoder (2 of 2 files). Show all
Unified · Split
| @@ -133,6 +133,7 @@ enum { · 132 unmodified lines | |||
| 133 | ERR_INFO_INVALID_CBP, | 133 | ERR_INFO_INVALID_CBP, |
| 134 | ERR_INFO_DQUANT_OUT_OF_RANGE, | 134 | ERR_INFO_DQUANT_OUT_OF_RANGE, |
| 135 | ERR_INFO_CAVLC_INVALID_PREFIX, | 135 | ERR_INFO_CAVLC_INVALID_PREFIX, |
| 136 | ERR_INFO_CAVLC_INVALID_LEVEL, | ||
| 136 | ERR_INFO_CAVLC_INVALID_TOTAL_COEFF_OR_TRAILING_ONES, | 137 | ERR_INFO_CAVLC_INVALID_TOTAL_COEFF_OR_TRAILING_ONES, |
| 137 | ERR_INFO_CAVLC_INVALID_ZERO_LEFT, | 138 | ERR_INFO_CAVLC_INVALID_ZERO_LEFT, |
| 138 | ERR_INFO_CAVLC_INVALID_RUN_BEFORE, | 139 | ERR_INFO_CAVLC_INVALID_RUN_BEFORE, |
| @@ -718,8 +718,10 @@ int32_t WelsResidualBlockCavlc (SVlcTable* pVlcTable, uint8_t* pNonZeroCountCach · 717 unmodified lines | |||
| 718 | if ((uiTrailingOnes > 3) || (uiTotalCoeff > 16)) { /////////////////check uiTrailingOnes and uiTotalCoeff | 718 | if ((uiTrailingOnes > 3) || (uiTotalCoeff > 16)) { /////////////////check uiTrailingOnes and uiTotalCoeff |
| 719 | return ERR_INFO_CAVLC_INVALID_TOTAL_COEFF_OR_TRAILING_ONES; | 719 | return ERR_INFO_CAVLC_INVALID_TOTAL_COEFF_OR_TRAILING_ONES; |
| 720 | } | 720 | } |
| 721 | iUsedBits += CavlcGetLevelVal (iLevel, &sReadBitsCache, uiTotalCoeff, uiTrailingOnes); | 721 | if ((i = CavlcGetLevelVal (iLevel, &sReadBitsCache, uiTotalCoeff, uiTrailingOnes)) == -1) { |
| 722 | 722 | return ERR_INFO_CAVLC_INVALID_LEVEL; | |
| 723 | } | ||
| 724 | iUsedBits += i; | ||
| 723 | if (uiTotalCoeff < iMaxNumCoeff) { | 725 | if (uiTotalCoeff < iMaxNumCoeff) { |
| 724 | iUsedBits += CavlcGetTotalZeros (iZerosLeft, &sReadBitsCache, uiTotalCoeff, pVlcTable, bChromaDc); | 726 | iUsedBits += CavlcGetTotalZeros (iZerosLeft, &sReadBitsCache, uiTotalCoeff, pVlcTable, bChromaDc); |
| 725 | } else { | 727 | } else { |