Browse Source

avcodec/wmadec: Apply VLC offset during init

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
tags/n4.4
Andreas Rheinhardt 5 years ago
parent
commit
fa4532a1f7
1 changed files with 3 additions and 4 deletions
  1. +3
    -4
      libavcodec/wmadec.c

+ 3
- 4
libavcodec/wmadec.c View File

@@ -112,7 +112,7 @@ static av_cold int wma_decode_init(AVCodecContext *avctx)
if (s->use_noise_coding) { if (s->use_noise_coding) {
ff_init_vlc_from_lengths(&s->hgain_vlc, HGAINVLCBITS, FF_ARRAY_ELEMS(ff_wma_hgain_hufftab), 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][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) if (s->use_exp_vlc)
@@ -545,7 +545,7 @@ static int wma_decode_block(WMACodecContext *s)
} }
for (ch = 0; ch < s->avctx->channels; ch++) { for (ch = 0; ch < s->avctx->channels; ch++) {
if (s->channel_coded[ch]) { if (s->channel_coded[ch]) {
int i, n, val, code;
int i, n, val;


n = s->exponent_high_sizes[bsize]; n = s->exponent_high_sizes[bsize];
val = (int) 0x80000000; val = (int) 0x80000000;
@@ -554,9 +554,8 @@ static int wma_decode_block(WMACodecContext *s)
if (val == (int) 0x80000000) { if (val == (int) 0x80000000) {
val = get_bits(&s->gb, 7) - 19; val = get_bits(&s->gb, 7) - 19;
} else { } else {
code = get_vlc2(&s->gb, s->hgain_vlc.table,
val += get_vlc2(&s->gb, s->hgain_vlc.table,
HGAINVLCBITS, HGAINMAX); HGAINVLCBITS, HGAINMAX);
val += code - 18;
} }
s->high_band_values[ch][i] = val; s->high_band_values[ch][i] = val;
} }


Loading…
Cancel
Save