qdm2: initialize coeff_per_sb_select from bit_rate

The value of coeff_per_sb_select depends on the bit rate, not on
sub_sampling.
Also remove the calculation of tmp, no longer needed.

Fixes tickets #1868 and #742 (only audio part)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Roberto Togni 2013-04-20 23:57:18 +02:00 committed by Michael Niedermayer
parent 578d9cf7cc
commit 8017683647
1 changed files with 2 additions and 11 deletions

View File

@ -1862,18 +1862,9 @@ static av_cold int qdm2_decode_init(AVCodecContext *avctx)
if ((tmp * 2240) < avctx->bit_rate) tmp_val = 4; if ((tmp * 2240) < avctx->bit_rate) tmp_val = 4;
s->cm_table_select = tmp_val; s->cm_table_select = tmp_val;
if (s->sub_sampling == 0) if (avctx->bit_rate <= 8000)
tmp = 7999;
else
tmp = ((-(s->sub_sampling -1)) & 8000) + 20000;
/*
0: 7999 -> 0
1: 20000 -> 2
2: 28000 -> 2
*/
if (tmp < 8000)
s->coeff_per_sb_select = 0; s->coeff_per_sb_select = 0;
else if (tmp <= 16000) else if (avctx->bit_rate < 16000)
s->coeff_per_sb_select = 1; s->coeff_per_sb_select = 1;
else else
s->coeff_per_sb_select = 2; s->coeff_per_sb_select = 2;