mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-28 12:32:17 +02:00
avcodec/hevc_cabac: Move prefix check in coeff_abs_level_remaining_decode() down
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 94d4237a7a294ce80e1e577b38e9c93e8882aff9) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
6ed5e44998
commit
edf200e2bc
@ -990,16 +990,19 @@ static av_always_inline int coeff_abs_level_remaining_decode(HEVCContext *s, int
|
|||||||
|
|
||||||
while (prefix < CABAC_MAX_BIN && get_cabac_bypass(&s->HEVClc->cc))
|
while (prefix < CABAC_MAX_BIN && get_cabac_bypass(&s->HEVClc->cc))
|
||||||
prefix++;
|
prefix++;
|
||||||
if (prefix == CABAC_MAX_BIN) {
|
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "CABAC_MAX_BIN : %d\n", prefix);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if (prefix < 3) {
|
if (prefix < 3) {
|
||||||
for (i = 0; i < rc_rice_param; i++)
|
for (i = 0; i < rc_rice_param; i++)
|
||||||
suffix = (suffix << 1) | get_cabac_bypass(&s->HEVClc->cc);
|
suffix = (suffix << 1) | get_cabac_bypass(&s->HEVClc->cc);
|
||||||
last_coeff_abs_level_remaining = (prefix << rc_rice_param) + suffix;
|
last_coeff_abs_level_remaining = (prefix << rc_rice_param) + suffix;
|
||||||
} else {
|
} else {
|
||||||
int prefix_minus3 = prefix - 3;
|
int prefix_minus3 = prefix - 3;
|
||||||
|
|
||||||
|
if (prefix == CABAC_MAX_BIN) {
|
||||||
|
av_log(s->avctx, AV_LOG_ERROR, "CABAC_MAX_BIN : %d\n", prefix);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < prefix_minus3 + rc_rice_param; i++)
|
for (i = 0; i < prefix_minus3 + rc_rice_param; i++)
|
||||||
suffix = (suffix << 1) | get_cabac_bypass(&s->HEVClc->cc);
|
suffix = (suffix << 1) | get_cabac_bypass(&s->HEVClc->cc);
|
||||||
last_coeff_abs_level_remaining = (((1 << prefix_minus3) + 3 - 1)
|
last_coeff_abs_level_remaining = (((1 << prefix_minus3) + 3 - 1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user