<br><br><div><span class="gmail_quote">On 4/16/06, <b class="gmail_sendername">Tzafrir Cohen</b> &lt;<a href="mailto:tzafrir.cohen@xorcom.com">tzafrir.cohen@xorcom.com</a>&gt; wrote:</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
&gt;<br>&gt; Questions:<br>&gt;<br>&gt;&nbsp;&nbsp;1) Does the iLBC codec code in Asterisk perform Packet Loss<br>&gt; Concealment (PLC)?&nbsp;&nbsp;If so, is it being done in the most optimal way?<br>&gt; Is it just in IAX2 or in SIP as well?&nbsp;&nbsp;(there was an answer on this
<br>&gt; by Zoa, but it still isn't clear.)<br>&gt;<br>&gt;&nbsp;&nbsp;2) Are the higher bitrate patches I've seen scurrying around the SVN<br>&gt; branch mailing list currently in TRUNK or still in &quot;experimental test<br>&gt; phase&quot;?&nbsp;&nbsp;(see oej's &quot;test-this-branch&quot;, and bug #5084, which really
<br>&gt; just seems to support G.722 passthrough, and is not a codec<br>&gt; implementation)<br>&gt;<br>&gt;&nbsp;&nbsp;3) Is this all a moot point until more end devices support iLBC and<br>&gt; better PLC? (Hint: I don't think so, since I'd love to terminate all
<br>&gt; my LD minutes to an Asterisk server with high-bitrate,<br>&gt; loss-concealing iLBC instead of just using G.711 like I do today.<br>&gt; Bitrates are not my problem; sound quality is my problem, but if I<br>&gt; get better than 64kbps for better sound quality then that's a bonus.)
<br><br>4-6. Basically The above questions, with s/iLBC/speex/ .</blockquote><div><br>My basic understanding of questions 4 and 6 is - 4) pretty darn good, and 6, well, there are a ton of speex enabled softphones out there, but few are doing things &quot;right&quot;. Nearly every [expletive deleted] iaxclient based softphone bundles it's own obsolete version of speex, and none to my knowledge support wideband.... according to the message below libspeex should really be optimized on a per processor type and quality settings basis....
<br></div><br>---------- Forwarded message ----------<br><span class="gmail_quote">From: <b class="gmail_sendername">Jean-Marc Valin</b> &lt;<a href="mailto:Jean-Marc.Valin@usherbrooke.ca">Jean-Marc.Valin@usherbrooke.ca</a>
&gt;<br>Date: Apr 16, 2006 4:57 AM<br>Subject: Re: speex performance &amp; asterisk<br>To: Mike Taht &lt;<a href="mailto:mike.taht@gmail.com">mike.taht@gmail.com</a>&gt;<br><br></span>Hi Mike,<br><br>I've heard some complaints about the performance of Speex and I think
<br>the main reason is simply sub-optimal compiling/old version. First, I<br>strongly recommend using the unstable branch (1.1.x), which is much<br>better and faster than 1.0.x. The most important thing to do is to<br>configure with --enable-sse and you'll get a big improvement right
<br>there. Also, I recommend the following gcc options:<br>-O3, -ffast-math, -fprofile-generate (first compilation) with<br>-fprofile-use (to get final binary), and possibly (YMMV)<br>-ftree-vectorize.<br><br>Have a look at slide 16 of 
<a href="http://people.xiph.org/~jm/LCA_Speex.pdf">http://people.xiph.org/~jm/LCA_Speex.pdf</a> to<br>see what kind of performance to expect. To give you an idea, at<br>complexity 1 (almost as good quality as the default of 2), it's possible
<br>to encode at 8kbps 120x faster than real-time (i.e. 0.8% CPU) on a 2.1<br>GHz Pentium-M. Given the extra 8 registers it has, the Opteron, should<br>be really fast at encoding/decoding Speex.<br><br></div><br clear="all">
<br>-- <br>Mike Taht<br>PostCards From the Bleeding Edge<br><a href="http://the-edge.blogspot.com">http://the-edge.blogspot.com</a>