[opus] Ask for suggestions about optimizing opus on STM32F407

Thomas Böhm thomas.boehm.tippi at gmail.com
Sun Jan 14 08:05:44 UTC 2018


Hello Forrest,
some years ago i developed a network media player based on a 
STM32F407ZGT6 (168MHz clock) and opus 1.1.
I used just the fixed point code and did no particular optimization on 
the opus code itself because the performance was already quite good, see 
figures below.
The figures are for real time playback with different frame sizes and 
various constant bit rates.
I didn't play that much with encoding, but I'm convinced that the 32F407 
is powerful enough to do the job, if you use all its capabilities.

Most important is to use the hardware features of the processor like the 
DMA controller or the CRC calculation unit, if you deal with ogg, to 
unload the CPU.

SILK narrow band, a) mono b) stereo:

SILK medium band, a) mono b) stereo:

Hybride wide band, a) mono b) stereo:

Hybride super wide band, a) mono b) stereo:

Hybride full band, a) mono b) stereo:


CELT full band mono:

CELT full band stereo:

Regards,
Thomas

Am 06.01.2018 um 10:02 schrieb forrest:
>
> Dear Developers,
>
>
> I make a opus 1.2.1 codec build for STM32F407(fixed-point and disable 
> float APIs).
>
> it seems too slow for the VOIP application.
>
>
> Case 1:
>
> 48KHz Sampling rate, Stereo, VBR, frame size: 20ms, Bit-rates: 96kbps
>
> Encode cost: 2.11x real time
>
> Decode cost: 1.54x real time
>
> Encode + Decode: 3.65x
>
>
> Case 2:
>
> 8KHz Sampling rate, Mono, VBR, frame size: 20ms, Bit-rates: 16kbps
>
> Encode cost: 1.08x real time
>
> Decode cost: 0.14x real time
>
> Encode + Decode: 1.24x
>
>
> Are there any available optimizations or suggestions for Cortex-M4?
>
>
> As I knonw, TI TM4C129x is based on Cortex-M4 too:
>
> http://www.ti.com/tool/TIDM-TM4C129POEAUDIO
>
>
> The performance of opus on it is good enough for mono 48KHz sampling rate.
>
> CPU usage is only about 70% of 120MHz when encode/decode at same time.
>
>
> Sincerely
>
> Forrest
>
>
>
>
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xiph.org/pipermail/opus/attachments/20180114/a0340dfa/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bahjffad.png
Type: image/png
Size: 12590 bytes
Desc: not available
URL: <http://lists.xiph.org/pipermail/opus/attachments/20180114/a0340dfa/attachment-0007.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dcbbfhhe.png
Type: image/png
Size: 14211 bytes
Desc: not available
URL: <http://lists.xiph.org/pipermail/opus/attachments/20180114/a0340dfa/attachment-0008.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bgjebgge.png
Type: image/png
Size: 14336 bytes
Desc: not available
URL: <http://lists.xiph.org/pipermail/opus/attachments/20180114/a0340dfa/attachment-0009.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: djgcfjic.png
Type: image/png
Size: 14779 bytes
Desc: not available
URL: <http://lists.xiph.org/pipermail/opus/attachments/20180114/a0340dfa/attachment-0010.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ehegigdg.png
Type: image/png
Size: 15176 bytes
Desc: not available
URL: <http://lists.xiph.org/pipermail/opus/attachments/20180114/a0340dfa/attachment-0011.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ccgagcba.png
Type: image/png
Size: 31109 bytes
Desc: not available
URL: <http://lists.xiph.org/pipermail/opus/attachments/20180114/a0340dfa/attachment-0012.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bjdcidbg.png
Type: image/png
Size: 30010 bytes
Desc: not available
URL: <http://lists.xiph.org/pipermail/opus/attachments/20180114/a0340dfa/attachment-0013.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: thomas_boehm_tippi.vcf
Type: text/x-vcard
Size: 216 bytes
Desc: not available
URL: <http://lists.xiph.org/pipermail/opus/attachments/20180114/a0340dfa/attachment-0001.vcf>


More information about the opus mailing list