Mercurial > libavcodec.hg
changeset 5453:d3a265cd395c libavcodec
simplify coefficient decoding
author | jbr |
---|---|
date | Sat, 04 Aug 2007 00:12:23 +0000 |
parents | 190d793a22e7 |
children | 5b497d971546 |
files | ac3dec.c |
diffstat | 1 files changed, 15 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/ac3dec.c Sat Aug 04 00:04:17 2007 +0000 +++ b/ac3dec.c Sat Aug 04 00:12:23 2007 +0000 @@ -495,13 +495,11 @@ case 0: if (!dithflag) { coeffs[i] = 0; - continue; } else { - coeffs[i] = (av_random(&ctx->dith_state) & 0xFFFF) * scale_factors[exps[i]]; - coeffs[i] *= LEVEL_MINUS_3DB; - continue; + coeffs[i] = (av_random(&ctx->dith_state) & 0xFFFF) * LEVEL_MINUS_3DB; } + break; case 1: if (m->l3ptr > 2) { @@ -511,8 +509,8 @@ m->l3_quantizers[2] = l3_quantizers_3[gcode]; m->l3ptr = 0; } - coeffs[i] = m->l3_quantizers[m->l3ptr++] * scale_factors[exps[i]]; - continue; + coeffs[i] = m->l3_quantizers[m->l3ptr++]; + break; case 2: if (m->l5ptr > 2) { @@ -522,12 +520,12 @@ m->l5_quantizers[2] = l5_quantizers_3[gcode]; m->l5ptr = 0; } - coeffs[i] = m->l5_quantizers[m->l5ptr++] * scale_factors[exps[i]]; - continue; + coeffs[i] = m->l5_quantizers[m->l5ptr++]; + break; case 3: - coeffs[i] = l7_quantizers[get_bits(gb, 3)] * scale_factors[exps[i]]; - continue; + coeffs[i] = l7_quantizers[get_bits(gb, 3)]; + break; case 4: if (m->l11ptr > 1) { @@ -536,17 +534,18 @@ m->l11_quantizers[1] = l11_quantizers_2[gcode]; m->l11ptr = 0; } - coeffs[i] = m->l11_quantizers[m->l11ptr++] * scale_factors[exps[i]]; - continue; + coeffs[i] = m->l11_quantizers[m->l11ptr++]; + break; case 5: - coeffs[i] = l15_quantizers[get_bits(gb, 4)] * scale_factors[exps[i]]; - continue; + coeffs[i] = l15_quantizers[get_bits(gb, 4)]; + break; default: - coeffs[i] = (get_sbits(gb, qntztab[tbap]) << (16 - qntztab[tbap])) * scale_factors[exps[i]]; - continue; + coeffs[i] = get_sbits(gb, qntztab[tbap]) << (16 - qntztab[tbap]); + break; } + coeffs[i] *= scale_factors[exps[i]]; } return 0;