in the mdct function of Lame 3.31, you have
s0 = s0 - s1 + s5;
s2 = s2 - s3 - s4;
/* 4 */
sum = s0 * cos_l[4][0];
sum += s2* cos_l[4][2];
out[4]=sum;
/* 13 */
sum = s0 * cos_l[13][0];
sum += s2 * cos_l[13][2];
out[13]=sum;
In the older version (3.27) we had :
/* 4 */
/* mfc 27 */
sum = ( fin[0]-fin[1]-fin[4]+fin[5]+fin[8] \
-fin[11]+fin[12]+fin[15]-fin[16] ) * *++cos_l0;
/* mfc 9 */
sum += ( -fin[2]-fin[3]+fin[6]+fin[7]-fin[9]-fin[10] \
+fin[13]+fin[14]-fin[17] ) * cos_l[4][6];
out[4]=sum;
/* 13 */
sum = ( -fin[0]+fin[1]+fin[4]-fin[5]-fin[8]+fin[11]-fin[12] \
-fin[15]+fin[16] ) * -*++cos_l0; /* 9 */
sum += ( -fin[2]-fin[3]+fin[6]+fin[7]-fin[9]-fin[10]+fin[13] \
+fin[14]-fin[17] ) * -cos_l[13][2]; /* 27 */
out[13]=sum;
The sign before cos_l[13][2] has disappeared !!
Lionel
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )