From aa995ddde38b8982edc7fe7c2d372a95ed94017c Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Thu, 5 Aug 2010 17:39:13 -0400 Subject: [PATCH] Making qn code 16-bit clean while simplifying it --- libcelt/bands.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcelt/bands.c b/libcelt/bands.c index 354f0765..7050754f 100644 --- a/libcelt/bands.c +++ b/libcelt/bands.c @@ -413,7 +413,7 @@ static int compute_qn(int N, int b, int offset, int stereo) int N2 = 2*N-1; if (stereo && N==2) N2--; - qb = (b+N2*offset)/(N2); + qb = (b+N2*offset)/N2; if (qb > (b>>1)-(1<>1)-(1<>1)) { qn = 1; } else { - qn = ((1<<(qb>>BITRES))*exp2_table8[qb&0x7] + (1<<14))>>14; - qn = qn>>1<<1; + qn = exp2_table8[qb&0x7]>>(14-(qb>>BITRES)); + qn = (qn+1)>>1<<1; if (qn>1024) qn = 1024; }