Merge pull request #344 from licaiguo/fix-level-check
refine level check
This commit is contained in:
commit
b647a78bf2
@ -133,6 +133,7 @@ enum {
|
|||||||
ERR_INFO_INVALID_CBP,
|
ERR_INFO_INVALID_CBP,
|
||||||
ERR_INFO_DQUANT_OUT_OF_RANGE,
|
ERR_INFO_DQUANT_OUT_OF_RANGE,
|
||||||
ERR_INFO_CAVLC_INVALID_PREFIX,
|
ERR_INFO_CAVLC_INVALID_PREFIX,
|
||||||
|
ERR_INFO_CAVLC_INVALID_LEVEL,
|
||||||
ERR_INFO_CAVLC_INVALID_TOTAL_COEFF_OR_TRAILING_ONES,
|
ERR_INFO_CAVLC_INVALID_TOTAL_COEFF_OR_TRAILING_ONES,
|
||||||
ERR_INFO_CAVLC_INVALID_ZERO_LEFT,
|
ERR_INFO_CAVLC_INVALID_ZERO_LEFT,
|
||||||
ERR_INFO_CAVLC_INVALID_RUN_BEFORE,
|
ERR_INFO_CAVLC_INVALID_RUN_BEFORE,
|
||||||
|
@ -718,8 +718,10 @@ int32_t WelsResidualBlockCavlc (SVlcTable* pVlcTable, uint8_t* pNonZeroCountCach
|
|||||||
if ((uiTrailingOnes > 3) || (uiTotalCoeff > 16)) { /////////////////check uiTrailingOnes and uiTotalCoeff
|
if ((uiTrailingOnes > 3) || (uiTotalCoeff > 16)) { /////////////////check uiTrailingOnes and uiTotalCoeff
|
||||||
return ERR_INFO_CAVLC_INVALID_TOTAL_COEFF_OR_TRAILING_ONES;
|
return ERR_INFO_CAVLC_INVALID_TOTAL_COEFF_OR_TRAILING_ONES;
|
||||||
}
|
}
|
||||||
iUsedBits += CavlcGetLevelVal (iLevel, &sReadBitsCache, uiTotalCoeff, uiTrailingOnes);
|
if ((i = CavlcGetLevelVal (iLevel, &sReadBitsCache, uiTotalCoeff, uiTrailingOnes)) == -1) {
|
||||||
|
return ERR_INFO_CAVLC_INVALID_LEVEL;
|
||||||
|
}
|
||||||
|
iUsedBits += i;
|
||||||
if (uiTotalCoeff < iMaxNumCoeff) {
|
if (uiTotalCoeff < iMaxNumCoeff) {
|
||||||
iUsedBits += CavlcGetTotalZeros (iZerosLeft, &sReadBitsCache, uiTotalCoeff, pVlcTable, bChromaDc);
|
iUsedBits += CavlcGetTotalZeros (iZerosLeft, &sReadBitsCache, uiTotalCoeff, pVlcTable, bChromaDc);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user