common_audio/signal_processing: Removes macro WEBRTC_SPL_MUL_32_32_RSFT32
The macro is only used at four places in iSAC fixed point and the macro have been replaced at those places. In addition, it is used in a unit test, but throws a warning treated as error (issue3674). The macro has both MIPS and armv7 optimizations. Removing them impacts only MIPS platforms without DSP ASE. This may cause a very small increase in complexity when using iSAC fix. The armv7 optimizations are not used anywhere, since specific ones are used inline in iSAC fix. BUG=3348,3353,3674 TESTED=locally and trybots R=ljubomir.papuga@gmail.com, tina.legrand@webrtc.org, turaj@webrtc.org Review URL: https://webrtc-codereview.appspot.com/16299004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6871 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@@ -129,12 +129,16 @@ void WebRtcIsacfix_HighpassFilterFixDec32C(int16_t *io,
|
||||
}
|
||||
#else
|
||||
/* Q35 * Q4 = Q39 ; shift 32 bit => Q7 */
|
||||
a1 = WEBRTC_SPL_MUL_32_32_RSFT32(coefficient[5], coefficient[4], state0);
|
||||
b1 = WEBRTC_SPL_MUL_32_32_RSFT32(coefficient[7], coefficient[6], state1);
|
||||
a1 = WEBRTC_SPL_MUL_16_32_RSFT16(coefficient[5], state0) +
|
||||
(WEBRTC_SPL_MUL_16_32_RSFT16(coefficient[4], state0) >> 16);
|
||||
b1 = WEBRTC_SPL_MUL_16_32_RSFT16(coefficient[7], state1) +
|
||||
(WEBRTC_SPL_MUL_16_32_RSFT16(coefficient[6], state1) >> 16);
|
||||
|
||||
/* Q30 * Q4 = Q34 ; shift 32 bit => Q2 */
|
||||
a2 = WEBRTC_SPL_MUL_32_32_RSFT32(coefficient[1], coefficient[0], state0);
|
||||
b2 = WEBRTC_SPL_MUL_32_32_RSFT32(coefficient[3], coefficient[2], state1);
|
||||
a2 = WEBRTC_SPL_MUL_16_32_RSFT16(coefficient[1], state0) +
|
||||
(WEBRTC_SPL_MUL_16_32_RSFT16(coefficient[0], state0) >> 16);
|
||||
b2 = WEBRTC_SPL_MUL_16_32_RSFT16(coefficient[3], state1) +
|
||||
(WEBRTC_SPL_MUL_16_32_RSFT16(coefficient[2], state1) >> 16);
|
||||
#endif
|
||||
|
||||
c = ((int32_t)in) + WEBRTC_SPL_RSHIFT_W32(a1+b1, 7); // Q0
|
||||
|
||||
Reference in New Issue
Block a user