changeset 15053:f2fa02814093

100l, messed up coefficients when improving precision..
author rfelker
date Mon, 04 Apr 2005 23:31:33 +0000
parents d3b76f953039
children d8f97f45cfbe
files libfaad2/output.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libfaad2/output.c	Mon Apr 04 09:27:34 2005 +0000
+++ b/libfaad2/output.c	Mon Apr 04 23:31:33 2005 +0000
@@ -573,10 +573,10 @@
         for(i = 0; i < frame_len; i++)
         {
 	    int32_t tmp;
-	    tmp = (ch1[i] + ((ch0[i]+ch3[i])<<1) + (ch0[i]+ch3[i]) + (1<<(REAL_BITS+2))) >> (REAL_BITS+3);
+	    tmp = ((ch1[i]<<2) + ((ch0[i]+ch3[i])<<1) + (ch0[i]+ch3[i]) + (1<<(REAL_BITS+2))) >> (REAL_BITS+3);
 	    if ((tmp+0x8000) & ~0xffff) tmp = ~(tmp>>31)-0x8000;
             short_sample_buffer[0] = tmp;
-	    tmp = (ch2[i] + ((ch0[i]+ch4[i])<<1) + (ch0[i]+ch4[i]) + (1<<(REAL_BITS+2))) >> (REAL_BITS+3);
+	    tmp = ((ch2[i]<<2) + ((ch0[i]+ch4[i])<<1) + (ch0[i]+ch4[i]) + (1<<(REAL_BITS+2))) >> (REAL_BITS+3);
 	    if ((tmp+0x8000) & ~0xffff) tmp = ~(tmp>>31)-0x8000;
             short_sample_buffer[1] = tmp;
 	    short_sample_buffer += channels;