Fix a compile error on MSVC.

- Declare all variables at the start of scope.
- Remove the needless local variables from these functions.
Review URL: http://webrtc-codereview.appspot.com/97009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@330 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
ajm@google.com 2011-08-08 20:40:31 +00:00
parent 2cf5122efb
commit 4a4d7c6693

View File

@ -25,30 +25,22 @@ static const WebRtc_UWord16 kResampleAllpass2[3] = {12199, 37471, 60255};
void WebRtcSpl_DownsampleBy2(const WebRtc_Word16* in, const WebRtc_Word16 len, void WebRtcSpl_DownsampleBy2(const WebRtc_Word16* in, const WebRtc_Word16 len,
WebRtc_Word16* out, WebRtc_Word32* filtState) WebRtc_Word16* out, WebRtc_Word32* filtState)
{ {
const WebRtc_Word16 *inptr;
WebRtc_Word16 *outptr;
WebRtc_Word32 *state;
WebRtc_Word32 tmp1, tmp2, diff, in32, out32; WebRtc_Word32 tmp1, tmp2, diff, in32, out32;
WebRtc_Word16 i; WebRtc_Word16 i;
// local versions of pointers to input and output arrays register WebRtc_Word32 state0 = filtState[0];
inptr = in; // input array register WebRtc_Word32 state1 = filtState[1];
outptr = out; // output array (of length len/2) register WebRtc_Word32 state2 = filtState[2];
state = filtState; // filter state array; length = 8 register WebRtc_Word32 state3 = filtState[3];
register WebRtc_Word32 state4 = filtState[4];
register WebRtc_Word32 state0 = state[0]; register WebRtc_Word32 state5 = filtState[5];
register WebRtc_Word32 state1 = state[1]; register WebRtc_Word32 state6 = filtState[6];
register WebRtc_Word32 state2 = state[2]; register WebRtc_Word32 state7 = filtState[7];
register WebRtc_Word32 state3 = state[3];
register WebRtc_Word32 state4 = state[4];
register WebRtc_Word32 state5 = state[5];
register WebRtc_Word32 state6 = state[6];
register WebRtc_Word32 state7 = state[7];
for (i = (len >> 1); i > 0; i--) for (i = (len >> 1); i > 0; i--)
{ {
// lower allpass filter // lower allpass filter
in32 = (WebRtc_Word32)(*inptr++) << 10; in32 = (WebRtc_Word32)(*in++) << 10;
diff = in32 - state1; diff = in32 - state1;
tmp1 = WEBRTC_SPL_SCALEDIFF32(kResampleAllpass2[0], diff, state0); tmp1 = WEBRTC_SPL_SCALEDIFF32(kResampleAllpass2[0], diff, state0);
state0 = in32; state0 = in32;
@ -60,7 +52,7 @@ void WebRtcSpl_DownsampleBy2(const WebRtc_Word16* in, const WebRtc_Word16 len,
state2 = tmp2; state2 = tmp2;
// upper allpass filter // upper allpass filter
in32 = (WebRtc_Word32)(*inptr++) << 10; in32 = (WebRtc_Word32)(*in++) << 10;
diff = in32 - state5; diff = in32 - state5;
tmp1 = WEBRTC_SPL_SCALEDIFF32(kResampleAllpass1[0], diff, state4); tmp1 = WEBRTC_SPL_SCALEDIFF32(kResampleAllpass1[0], diff, state4);
state4 = in32; state4 = in32;
@ -76,55 +68,47 @@ void WebRtcSpl_DownsampleBy2(const WebRtc_Word16* in, const WebRtc_Word16 len,
// limit amplitude to prevent wrap-around, and write to output array // limit amplitude to prevent wrap-around, and write to output array
#ifdef WEBRTC_ARCH_ARM_V7A #ifdef WEBRTC_ARCH_ARM_V7A
__asm__("ssat %r0, #16, %r1" : "=r"(*outptr) : "r"(out32)); __asm__("ssat %r0, #16, %r1" : "=r"(*out) : "r"(out32));
outptr++; out++;
#else #else
if (out32 > 32767) if (out32 > 32767)
*outptr++ = 32767; *out++ = 32767;
else if (out32 < -32768) else if (out32 < -32768)
*outptr++ = -32768; *out++ = -32768;
else else
*outptr++ = (WebRtc_Word16)out32; *out++ = (WebRtc_Word16)out32;
#endif #endif
} }
state[0]=state0; filtState[0] = state0;
state[1]=state1; filtState[1] = state1;
state[2]=state2; filtState[2] = state2;
state[3]=state3; filtState[3] = state3;
state[4]=state4; filtState[4] = state4;
state[5]=state5; filtState[5] = state5;
state[6]=state6; filtState[6] = state6;
state[7]=state7; filtState[7] = state7;
} }
void WebRtcSpl_UpsampleBy2(const WebRtc_Word16* in, WebRtc_Word16 len, WebRtc_Word16* out, void WebRtcSpl_UpsampleBy2(const WebRtc_Word16* in, WebRtc_Word16 len, WebRtc_Word16* out,
WebRtc_Word32* filtState) WebRtc_Word32* filtState)
{ {
const WebRtc_Word16 *inptr;
WebRtc_Word16 *outptr;
WebRtc_Word32 *state;
WebRtc_Word32 tmp1, tmp2, diff, in32, out32; WebRtc_Word32 tmp1, tmp2, diff, in32, out32;
WebRtc_Word16 i; WebRtc_Word16 i;
// local versions of pointers to input and output arrays register WebRtc_Word32 state0 = filtState[0];
inptr = in; // input array register WebRtc_Word32 state1 = filtState[1];
outptr = out; // output array (of length len*2) register WebRtc_Word32 state2 = filtState[2];
state = filtState; // filter state array; length = 8 register WebRtc_Word32 state3 = filtState[3];
register WebRtc_Word32 state4 = filtState[4];
register WebRtc_Word32 state0 = state[0]; register WebRtc_Word32 state5 = filtState[5];
register WebRtc_Word32 state1 = state[1]; register WebRtc_Word32 state6 = filtState[6];
register WebRtc_Word32 state2 = state[2]; register WebRtc_Word32 state7 = filtState[7];
register WebRtc_Word32 state3 = state[3];
register WebRtc_Word32 state4 = state[4];
register WebRtc_Word32 state5 = state[5];
register WebRtc_Word32 state6 = state[6];
register WebRtc_Word32 state7 = state[7];
for (i = len; i > 0; i--) for (i = len; i > 0; i--)
{ {
// lower allpass filter // lower allpass filter
in32 = (WebRtc_Word32)(*inptr++) << 10; in32 = (WebRtc_Word32)(*in++) << 10;
diff = in32 - state1; diff = in32 - state1;
tmp1 = WEBRTC_SPL_SCALEDIFF32(kResampleAllpass1[0], diff, state0); tmp1 = WEBRTC_SPL_SCALEDIFF32(kResampleAllpass1[0], diff, state0);
state0 = in32; state0 = in32;
@ -138,15 +122,15 @@ void WebRtcSpl_UpsampleBy2(const WebRtc_Word16* in, WebRtc_Word16 len, WebRtc_Wo
// round; limit amplitude to prevent wrap-around; write to output array // round; limit amplitude to prevent wrap-around; write to output array
out32 = (state3 + 512) >> 10; out32 = (state3 + 512) >> 10;
#ifdef WEBRTC_ARCH_ARM_V7A #ifdef WEBRTC_ARCH_ARM_V7A
__asm__("ssat %r0, #16, %r1":"=r"(*outptr): "r"(out32)); __asm__("ssat %r0, #16, %r1":"=r"(*out): "r"(out32));
outptr++; out++;
#else #else
if (out32 > 32767) if (out32 > 32767)
*outptr++ = 32767; *out++ = 32767;
else if (out32 < -32768) else if (out32 < -32768)
*outptr++ = -32768; *out++ = -32768;
else else
*outptr++ = (WebRtc_Word16)out32; *out++ = (WebRtc_Word16)out32;
#endif #endif
// upper allpass filter // upper allpass filter
@ -163,24 +147,24 @@ void WebRtcSpl_UpsampleBy2(const WebRtc_Word16* in, WebRtc_Word16 len, WebRtc_Wo
// round; limit amplitude to prevent wrap-around; write to output array // round; limit amplitude to prevent wrap-around; write to output array
out32 = (state7 + 512) >> 10; out32 = (state7 + 512) >> 10;
#ifdef WEBRTC_ARCH_ARM_V7A #ifdef WEBRTC_ARCH_ARM_V7A
__asm__("ssat %r0, #16, %r1":"=r"(*outptr): "r"(out32)); __asm__("ssat %r0, #16, %r1":"=r"(*out): "r"(out32));
outptr++; out++;
#else #else
if (out32 > 32767) if (out32 > 32767)
*outptr++ = 32767; *out++ = 32767;
else if (out32 < -32768) else if (out32 < -32768)
*outptr++ = -32768; *out++ = -32768;
else else
*outptr++ = (WebRtc_Word16)out32; *out++ = (WebRtc_Word16)out32;
#endif #endif
} }
state[0]=state0;
state[1]=state1;
state[2]=state2;
state[3]=state3;
state[4]=state4;
state[5]=state5;
state[6]=state6;
state[7]=state7;
filtState[0] = state0;
filtState[1] = state1;
filtState[2] = state2;
filtState[3] = state3;
filtState[4] = state4;
filtState[5] = state5;
filtState[6] = state6;
filtState[7] = state7;
} }