[Speex-dev] VisualDSP++ with enabled BFIN_ASM
jean-marc.valin at usherbrooke.ca
Fri Feb 22 03:28:40 PST 2008
> I'm currently 'translating' GNU assembly constraints to VDSP.
> I'm far from finished, but first attempts show no improvement over the C
Using a recent version?
> This is rather strange and would suggest memory bandwith limitation
> rather than code efficiency.
> I will investigate further by placing all in L1 SRAM.
Make sure your cache is set to write-back. Also, you might want to set
the complexity setting to 1. Using a lower bitrate (e.g. 20.6 kbps) is
also faster. Last thing, I suspect that when using the I1 as cache,
there are slowdowns due to *instructions* cache misses. That would be
even more important for wideband, which has larger code. Using the
entire instruction SRAM would help a lot with that.
> I'm using speex because of wide-band, and I'm pretty disapointed by
> performance considering it's slower than ADI's MP3 codec (10/20 MIPS for
> decoding/encoding of 44100 Hz @ 64 kbit/s).
No idea what MP3 really does. With a bit more optimisations (I didn't
really focus on wideband when optimising on bfin), I think wideband
should be possible in real-time using about 10-20% CPU. 5% might be
possible but would require very heavy tuning (which I'm sure your MP3
More information about the Speex-dev