Fixed issue 1497 in iSAC fixed point.

Bit exact.
Review URL: https://webrtc-codereview.appspot.com/1177005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3653 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
kma@webrtc.org
2013-03-12 00:23:21 +00:00
parent da0f7086e1
commit e5a81ed793

View File

@@ -2012,23 +2012,20 @@ void WebRtcIsacfix_TranscodeLpcCoef(WebRtc_Word32 *gain_lo_hiQ17,
/* KLT */ /* KLT */
/* left transform */ /* left transform */
offsg = 0; for (j = 0, offsg = 0; j < SUBFRAMES; j++, offsg += SUBFRAMES) {
for (j=0; j<SUBFRAMES; j++) { // Q21 = Q6 * Q15
// Q21 = Q6 * Q15 sumQQ = WEBRTC_SPL_MUL_16_16(tmpcoeffs_gQ6[offsg],
sumQQ = WEBRTC_SPL_MUL_16_16(tmpcoeffs_gQ6[offsg], WebRtcIsacfix_kT1GainQ15[0][0]);
WebRtcIsacfix_kT1GainQ15[0][0]); sumQQ += WEBRTC_SPL_MUL_16_16(tmpcoeffs_gQ6[offsg + 1],
sumQQ += WEBRTC_SPL_MUL_16_16(tmpcoeffs_gQ6[offsg + 1], WebRtcIsacfix_kT1GainQ15[0][2]);
WebRtcIsacfix_kT1GainQ15[0][2]); tmpcoeffs2_gQ21[offsg] = sumQQ;
tmpcoeffs2_gQ21[posg] = sumQQ;
posg++;
// Q21 = Q6 * Q15 // Q21 = Q6 * Q15
sumQQ = WEBRTC_SPL_MUL_16_16(tmpcoeffs_gQ6[offsg], sumQQ = WEBRTC_SPL_MUL_16_16(tmpcoeffs_gQ6[offsg],
WebRtcIsacfix_kT1GainQ15[0][1]); WebRtcIsacfix_kT1GainQ15[0][1]);
sumQQ += WEBRTC_SPL_MUL_16_16(tmpcoeffs_gQ6[offsg + 1], sumQQ += WEBRTC_SPL_MUL_16_16(tmpcoeffs_gQ6[offsg + 1],
WebRtcIsacfix_kT1GainQ15[0][3]); WebRtcIsacfix_kT1GainQ15[0][3]);
tmpcoeffs2_gQ21[posg] = sumQQ; tmpcoeffs2_gQ21[offsg + 1] = sumQQ;
posg++;
} }
/* right transform */ /* right transform */