1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-03 05:10:03 +02:00

avcodec/on2avc: Use least max_depth for get_vlc2()

The longest codes of any VLC codebooks are 18 bits long and the VLC
tables itself use 9 bits; therefore it is sufficient to read twice from
the table, yet this has been done thrice.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2020-10-18 07:46:16 +02:00
parent 26cc9db744
commit bce8e2f374

View File

@ -195,7 +195,7 @@ static int on2avc_decode_quads(On2AVCContext *c, GetBitContext *gb, float *dst,
int i, j, val, val1;
for (i = 0; i < dst_size; i += 4) {
val = get_vlc2(gb, c->cb_vlc[type].table, 9, 3);
val = get_vlc2(gb, c->cb_vlc[type].table, 9, 2);
for (j = 0; j < 4; j++) {
val1 = sign_extend((val >> (12 - j * 4)) & 0xF, 4);
@ -228,7 +228,7 @@ static int on2avc_decode_pairs(On2AVCContext *c, GetBitContext *gb, float *dst,
int i, val, val1, val2, sign;
for (i = 0; i < dst_size; i += 2) {
val = get_vlc2(gb, c->cb_vlc[type].table, 9, 3);
val = get_vlc2(gb, c->cb_vlc[type].table, 9, 2);
val1 = sign_extend(val >> 8, 8);
val2 = sign_extend(val & 0xFF, 8);