mirror of https://git.ffmpeg.org/ffmpeg.git
Simplify co(), use memcpy/memmove and colmult() when useful.
Originally committed as revision 14355 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
a149c1a59f
commit
bf75ac57b8
|
@ -141,19 +141,15 @@ static void co(int n, int i, int j, const float *in, float *out, float *st1,
|
||||||
float *st2, const float *table)
|
float *st2, const float *table)
|
||||||
{
|
{
|
||||||
unsigned int x;
|
unsigned int x;
|
||||||
const float *fp;
|
|
||||||
float buffer1[37];
|
float buffer1[37];
|
||||||
float buffer2[37];
|
float buffer2[37];
|
||||||
float work[111];
|
float work[111];
|
||||||
|
|
||||||
/* rotate and multiply */
|
/* rotate and multiply */
|
||||||
fp = st1 + i;
|
memmove(st1 , st1 + i, (n + j)*sizeof(*st1));
|
||||||
for (x=0; x < n + i + j; x++) {
|
memcpy (st1 + n + j, in , i *sizeof(*st1));
|
||||||
if (x == n + j)
|
|
||||||
fp=in;
|
colmult(work, table, st1, n + i + j);
|
||||||
st1[x] = *(fp++);
|
|
||||||
work[x] = table[x] * st1[x];
|
|
||||||
}
|
|
||||||
|
|
||||||
prodsum(buffer1, work + n , i, n);
|
prodsum(buffer1, work + n , i, n);
|
||||||
prodsum(buffer2, work + n + i, j, n);
|
prodsum(buffer2, work + n + i, j, n);
|
||||||
|
|
Loading…
Reference in New Issue