[Speex-dev] Problem with Blackfin assembly optimizations -- bug in fixed_bfin.h?

Frank Lorenz Frank_wtal at web.de
Mon Jan 7 08:05:30 PST 2008

Hello everybody,

I'm currently trying to run speex on the Blackfin (BF-537) STAMP evaluation board unter uCLinux.
Using 1.2 beta 3, I encountered problems when activating the Blackfin assembler optimizations. Without optimizations for blackfin, i.e. calling
    ./configure --enable-fixed-point --host=bfin-uclinux
everything seems to work fine.
But when I add  the --enable-blackfin-asm flag to the above call, a speech signal which has been passed through the codec is cleary disturbed (for me, it sounds like the long term prediction (voice pitch detection) fails -- the signal sounds like the speaker has a very ugly sore throat).
I tried to deactivate each part of the optimizaitions inside the libspeex directory, one after another. Most of the "turn-offs" doesn't have any effect. When turning off the optimizations inside "fixed_bfin.h", there is a big improvement -- the decoded speech sounds good again, only on some positions in my speech signal is a huge "click" which sounds like an overdrive caused by an  instable filter. 
When trying to switch off the optimizations from "filters_bfin.h", my little program compiles but crashes on runtime, sometimes (not always reproducable) causing a kernel panic of uclinux. Error info is "Attempted misaligned instruction cache fetch".

Does anybody know what happens here?

best regards,
In 5 Schritten zur eigenen Homepage. Jetzt Domain sichern und gestalten! 
Nur 3,99 EUR/Monat! http://www.maildomain.web.de/?mc=021114

More information about the Speex-dev mailing list