void AudioFilter(const fract32 dataIn[], fract32 dataOut[])
{
int n;
int i;
/* separate channels (2D DMA would be better) */
i = 0;
for (n=0; n<SAMPLES_PER_CHAN; n++){
inLeft[n] = dataIn[i++];
inRight[n] = dataIn[i++];
}
/* left channel filter */
iirdf1_fr32 (inLeft, outLeft, SAMPLES_PER_CHAN, &stateLeft);
/* right channel filter */
iirdf1_fr32 (inRight, outRight, SAMPLES_PER_CHAN, &stateRight);
/* combine channels (2D DMA would be better) */
i = 0;
for (n=0; n<SAMPLES_PER_CHAN; n++){
dataOut[i++] = outLeft[n];
dataOut[i++] = outRight[n];
}
}
=========================================
#pragma linkage_name __iirdf1_fr32
void iirdf1_fr32 (const fract32 _input[],
fract32 _output[], int _length,
iirdf1_state_fr32 *_filter_state);