From fa4532a1f767c092656836de62797d71ff42cde0 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Mon, 23 Nov 2020 05:12:02 +0100 Subject: [PATCH] avcodec/wmadec: Apply VLC offset during init Signed-off-by: Andreas Rheinhardt --- libavcodec/wmadec.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libavcodec/wmadec.c b/libavcodec/wmadec.c index 2b9499eba7..9c79556bb5 100644 --- a/libavcodec/wmadec.c +++ b/libavcodec/wmadec.c @@ -112,7 +112,7 @@ static av_cold int wma_decode_init(AVCodecContext *avctx) if (s->use_noise_coding) { ff_init_vlc_from_lengths(&s->hgain_vlc, HGAINVLCBITS, FF_ARRAY_ELEMS(ff_wma_hgain_hufftab), &ff_wma_hgain_hufftab[0][1], 2, - &ff_wma_hgain_hufftab[0][0], 2, 1, 0, 0, avctx); + &ff_wma_hgain_hufftab[0][0], 2, 1, -18, 0, avctx); } if (s->use_exp_vlc) @@ -545,7 +545,7 @@ static int wma_decode_block(WMACodecContext *s) } for (ch = 0; ch < s->avctx->channels; ch++) { if (s->channel_coded[ch]) { - int i, n, val, code; + int i, n, val; n = s->exponent_high_sizes[bsize]; val = (int) 0x80000000; @@ -554,9 +554,8 @@ static int wma_decode_block(WMACodecContext *s) if (val == (int) 0x80000000) { val = get_bits(&s->gb, 7) - 19; } else { - code = get_vlc2(&s->gb, s->hgain_vlc.table, + val += get_vlc2(&s->gb, s->hgain_vlc.table, HGAINVLCBITS, HGAINMAX); - val += code - 18; } s->high_band_values[ch][i] = val; }