diff options
Diffstat (limited to 'media/libstagefright/codecs/amrwbenc/src/convolve.c')
-rw-r--r-- | media/libstagefright/codecs/amrwbenc/src/convolve.c | 146 |
1 files changed, 73 insertions, 73 deletions
diff --git a/media/libstagefright/codecs/amrwbenc/src/convolve.c b/media/libstagefright/codecs/amrwbenc/src/convolve.c index 4c1f7d4..9b8b3aa 100644 --- a/media/libstagefright/codecs/amrwbenc/src/convolve.c +++ b/media/libstagefright/codecs/amrwbenc/src/convolve.c @@ -17,8 +17,8 @@ /*********************************************************************** File: convolve.c - Description:Perform the convolution between two vectors x[] and h[] - and write the result in the vector y[] + Description:Perform the convolution between two vectors x[] and h[] + and write the result in the vector y[] ************************************************************************/ @@ -28,85 +28,85 @@ #define UNUSED(x) (void)(x) void Convolve ( - Word16 x[], /* (i) : input vector */ - Word16 h[], /* (i) : impulse response */ - Word16 y[], /* (o) : output vector */ - Word16 L /* (i) : vector size */ - ) + Word16 x[], /* (i) : input vector */ + Word16 h[], /* (i) : impulse response */ + Word16 y[], /* (o) : output vector */ + Word16 L /* (i) : vector size */ + ) { - Word32 i, n; - Word16 *tmpH,*tmpX; - Word32 s; + Word32 i, n; + Word16 *tmpH,*tmpX; + Word32 s; UNUSED(L); - for (n = 0; n < 64;) - { - tmpH = h+n; - tmpX = x; - i=n+1; - s = vo_mult32((*tmpX++), (*tmpH--));i--; - while(i>0) - { - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - i -= 4; - } - y[n] = ((s<<1) + 0x8000)>>16; - n++; + for (n = 0; n < 64;) + { + tmpH = h+n; + tmpX = x; + i=n+1; + s = vo_mult32((*tmpX++), (*tmpH--));i--; + while(i>0) + { + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + i -= 4; + } + y[n] = ((s<<1) + 0x8000)>>16; + n++; - tmpH = h+n; - tmpX = x; - i=n+1; - s = vo_mult32((*tmpX++), (*tmpH--));i--; - s += vo_mult32((*tmpX++), (*tmpH--));i--; + tmpH = h+n; + tmpX = x; + i=n+1; + s = vo_mult32((*tmpX++), (*tmpH--));i--; + s += vo_mult32((*tmpX++), (*tmpH--));i--; - while(i>0) - { - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - i -= 4; - } - y[n] = ((s<<1) + 0x8000)>>16; - n++; + while(i>0) + { + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + i -= 4; + } + y[n] = ((s<<1) + 0x8000)>>16; + n++; - tmpH = h+n; - tmpX = x; - i=n+1; - s = vo_mult32((*tmpX++), (*tmpH--));i--; - s += vo_mult32((*tmpX++), (*tmpH--));i--; - s += vo_mult32((*tmpX++), (*tmpH--));i--; + tmpH = h+n; + tmpX = x; + i=n+1; + s = vo_mult32((*tmpX++), (*tmpH--));i--; + s += vo_mult32((*tmpX++), (*tmpH--));i--; + s += vo_mult32((*tmpX++), (*tmpH--));i--; - while(i>0) - { - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - i -= 4; - } - y[n] = ((s<<1) + 0x8000)>>16; - n++; + while(i>0) + { + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + i -= 4; + } + y[n] = ((s<<1) + 0x8000)>>16; + n++; - s = 0; - tmpH = h+n; - tmpX = x; - i=n+1; - while(i>0) - { - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - s += vo_mult32((*tmpX++), (*tmpH--)); - i -= 4; - } - y[n] = ((s<<1) + 0x8000)>>16; - n++; - } - return; + s = 0; + tmpH = h+n; + tmpX = x; + i=n+1; + while(i>0) + { + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + s += vo_mult32((*tmpX++), (*tmpH--)); + i -= 4; + } + y[n] = ((s<<1) + 0x8000)>>16; + n++; + } + return; } |