<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Gill Sans MT";
        panose-1:2 11 5 2 2 1 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="2050" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal>Good day.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I’m working on getting Speex running on a TI Davinci
(6441), on both the ARM and the DSP. My immediate goal is to understand the
processing requirements on different architectures so that I can properly
specific an engineering project.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I have it up and running on the ARM, and I just wanted to
see if anyone could sanity-check my results before I continue.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Brief version:<o:p></o:p></p>
<p class=MsoNormal>WB decode takes ~24MIPS, encode takes ~243MIPS.<o:p></o:p></p>
<p class=MsoNormal>NB decode takes ~10MIPS, encode takes ~102MIPS.<o:p></o:p></p>
<p class=MsoNormal>(And by MIPS, I mean ARM CPU cycles, not Dhrystone MIPS)<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>If I manually (because I couldn’t figure out how to
make configure do it) add “-mpcu=arm926ej_s” and “-DSHORTCUTS”,
the wideband numbers drop to 22MIPS and 219MIPS, respectively.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>More Details:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>The commands/options I used to config Speex:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal># export ARM_INSTALL_TREE=/extern/toddk/workdir/filesys<o:p></o:p></p>
<p class=MsoNormal>export CC=arm_v5t_le-gcc<o:p></o:p></p>
<p class=MsoNormal>export CXX=arm_v5t_le-g++<o:p></o:p></p>
<p class=MsoNormal>export AR=arm_v5t_le-ar<o:p></o:p></p>
<p class=MsoNormal>export RANLIB=arm_v5t_le-ranlib<o:p></o:p></p>
<p class=MsoNormal>export NM=arm_v5t_le-nm<o:p></o:p></p>
<p class=MsoNormal>export ac_cv_path_NM=arm_v5t_le-nm<o:p></o:p></p>
<p class=MsoNormal>export ac_cv_func_setpgrp_void=yes<o:p></o:p></p>
<p class=MsoNormal>export host=arm_v5t_le<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>./configure --prefix /extern/toddk/workdir/filesys/usr/local
--host=arm-linux --disable-float-api --disable-vbr --enable-fixed-point
--enable-arm5e-asm<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>The source data is from MP3 audio books that have been
resampled to 16K and written out as .WAV files by NCH’s Switch software.
(It’s hard to get good wideband audio samples…)<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>For decode, I run the command “time speexdec
sample.spx”, and then take sum of the “user” and “sys”
times the speed of the processor (297MHz), and divide it by the “real”
(or clock) time. That should give me the average processing power requirements.
(And the number is matched by the results of “top”.)<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>For encode, I run the command “time speexenc
sample.wav - > /dev/null”. Since it consumes 99% of the cpu, and runs
faster than real time, the MIPS requirement is calculated by taking sum of the “user”
and “sys” times the speed of the processor (297MHz), and dividing
by the playback time determined by the decode step.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Does this seem like a reasonable way to test the code?<o:p></o:p></p>
<p class=MsoNormal>Are the results in line with what people would expect?<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Thanks!<o:p></o:p></p>
<p class=MsoNormal>---------------------------<o:p></o:p></p>
<p class=MsoNormal>Todd Krein<o:p></o:p></p>
<p class=MsoNormal>Director of Architecture<o:p></o:p></p>
<p class=MsoNormal><span style='font-family:"Gill Sans MT","sans-serif"'><img
width=158 height=54 id="Picture_x0020_1"
src="cid:image001.gif@01C87ACD.A61D94E0"
alt="cid:image002.gif@01C8278B.C3BFBF40"></span><o:p></o:p></p>
<p class=MsoNormal>650-566-6657<o:p></o:p></p>
<p class=MsoNormal><a href="mailto:todd.krein@ooma.com"><span style='color:
blue'>todd.krein@ooma.com</span></a><o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>