From 9fe872e231f94279e14e52fce96bb33ac69364a1 Mon Sep 17 00:00:00 2001 From: mt Date: Wed, 28 Jul 2010 18:39:10 +0000 Subject: [PATCH] Correct the scaling of the coeffs to 17bits. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27599 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libwmapro/wma.c | 4 ++-- apps/codecs/libwmapro/wmaprodec.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/codecs/libwmapro/wma.c b/apps/codecs/libwmapro/wma.c index a23cf38fd..c80d433b0 100644 --- a/apps/codecs/libwmapro/wma.c +++ b/apps/codecs/libwmapro/wma.c @@ -116,7 +116,7 @@ int ff_wma_run_level_decode(GetBitContext* gb, offset += run_table[code]; sign = !get_bits1(gb); ptr[offset & coef_mask] = sign ? -level_table[code] : level_table[code]; - ptr[offset & coef_mask] <<= 16; + ptr[offset & coef_mask] <<= 17; } else if (code == 1) { /** EOB */ break; @@ -144,7 +144,7 @@ int ff_wma_run_level_decode(GetBitContext* gb, } sign = !get_bits1(gb); ptr[offset & coef_mask] = sign ? -level : level; - ptr[offset & coef_mask] <<=16; + ptr[offset & coef_mask] <<=17; } } /** NOTE: EOB can be omitted */ diff --git a/apps/codecs/libwmapro/wmaprodec.c b/apps/codecs/libwmapro/wmaprodec.c index 0b5caff2f..33848d4ea 100644 --- a/apps/codecs/libwmapro/wmaprodec.c +++ b/apps/codecs/libwmapro/wmaprodec.c @@ -873,7 +873,7 @@ static int decode_coeffs(WMAProDecodeCtx *s, int c) for (i = 0; i < 4; i++) { if (vals[i]) { int sign = get_bits1(&s->gb) - 1; - ci->coeffs[cur_coeff] = (sign == -1)? -vals[i]<<16 : vals[i]<<16; + ci->coeffs[cur_coeff] = (sign == -1)? -vals[i]<<17 : vals[i]<<17; num_zeros = 0; } else { ci->coeffs[cur_coeff] = 0; -- 2.11.4.GIT