<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hello Forrest,<br>
some years ago i developed a network media player based on a
STM32F407ZGT6 (168MHz clock) and opus 1.1.<br>
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.<br>
The figures are for real time playback with different frame sizes
and various constant bit rates. <br>
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.<br>
<br>
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.<br>
<br>
SILK narrow band, a) mono b) stereo:<br>
<img src="cid:part1.00060301.00060006@gmail.com" alt=""><br>
SILK medium band, a) mono b) stereo:<br>
<img src="cid:part2.02070203.05030401@gmail.com" alt=""><br>
Hybride wide band, a) mono b) stereo:<br>
<img src="cid:part3.00020103.08040801@gmail.com" alt=""><br>
Hybride super wide band, a) mono b) stereo:<br>
<img src="cid:part4.06080403.00080807@gmail.com" alt=""><br>
Hybride full band, a) mono b) stereo:<br>
<img src="cid:part5.09080401.01070904@gmail.com" alt=""><br>
<br>
CELT full band mono:<br>
<img src="cid:part6.06030701.01010408@gmail.com" alt=""><br>
CELT full band stereo:<br>
<img src="cid:part7.07070802.07010508@gmail.com" alt=""><br>
Regards,<br>
Thomas<br>
<br>
<div class="moz-cite-prefix">Am 06.01.2018 um 10:02 schrieb forrest:<br>
</div>
<blockquote
cite="mid:2021815260.3096779.1515229329504.JavaMail.xmail@wmthree-12"
type="cite">
<style>table.customTableClassName {margin-bottom: 10px;border-collapse: collapse;display: table;}.customTableClassName td, .customTableClassName th {border: 1px solid #ddd;}</style>
<div id="write-custom-write" tabindex="0" style="font-size: 12px;
font-family: 宋体; outline: medium none currentcolor;">
<p style="margin:0px;">Dear Developers,</p>
<p style="margin:0px;"><br>
</p>
<p style="margin:0px;">I make a opus 1.2.1 codec build for
STM32F407(fixed-point and disable float APIs).</p>
<p style="margin:0px;">it seems too slow for the VOIP
application.</p>
<p style="margin:0px;"><br>
</p>
<p style="margin:0px;">Case 1:<br>
</p>
<p style="margin:0px;">48KHz Sampling rate, Stereo, VBR, frame
size: 20ms, Bit-rates: 96kbps</p>
<p style="margin:0px;">Encode cost: 2.11x real time</p>
<p style="margin:0px;">Decode cost: 1.54x real time</p>
<p style="margin:0px;">Encode + Decode: 3.65x<br>
</p>
<br>
<p style="margin:0px;">Case 2:</p>
<p style="margin:0px;">8KHz Sampling rate, Mono, VBR, frame
size: 20ms, Bit-rates: 16kbps</p>
<p style="margin:0px;">Encode cost: 1.08x real time</p>
<p style="margin:0px;">Decode cost: 0.14x real time</p>
<p style="margin:0px;">Encode + Decode: 1.24x</p>
<p style="margin:0px;"><br>
</p>
<p style="margin:0px;">Are there any available optimizations or
suggestions for Cortex-M4?</p>
<p style="margin:0px;"><br>
</p>
<p style="margin:0px;">As I knonw, TI TM4C129x is based on
Cortex-M4 too:</p>
<p style="margin:0px;"><a moz-do-not-send="true"
href="http://www.ti.com/tool/TIDM-TM4C129POEAUDIO"
_src="http://www.ti.com/tool/TIDM-TM4C129POEAUDIO">http://www.ti.com/tool/TIDM-TM4C129POEAUDIO</a></p>
<p style="margin:0px;"><br>
</p>
<p style="margin:0px;">The performance of opus on it is good
enough for mono 48KHz sampling rate.</p>
<p style="margin:0px;">CPU usage is only about 70% of 120MHz
when encode/decode at same time.<br>
</p>
<p style="margin:0px;"><br>
</p>
<p style="margin:0px;">Sincerely</p>
<p style="margin:0px;">Forrest</p>
<p style="margin:0px;"><br>
</p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
opus mailing list
<a class="moz-txt-link-abbreviated" href="mailto:opus@xiph.org">opus@xiph.org</a>
<a class="moz-txt-link-freetext" href="http://lists.xiph.org/mailman/listinfo/opus">http://lists.xiph.org/mailman/listinfo/opus</a>
</pre>
</blockquote>
<br>
</body>
</html>