Hi, I try to use Speex codec into Win32 platforms. However, I find the CPU bandwidth usage is very heavy on a Pentium 3 machine. Compare to Microsoft's G723.1 codec, speex 8k is using more than 20% cpu bandwidth. Does anyone know what is the best version of Speex to "beat" the Microsoft's G723.1's on CPU bandwidth usage? Does Speex have MMX-enabled codes? thanks very much, Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20041006/da9b795e/attachment.htm
Matthias Granberry
2004-Oct-06 12:37 UTC
[Speex-dev] Cpu bandwidth for Speex on Win32 platforms
I have two guesses: The sampling rate will effect speex, as will the complexity setting on the encoder. A decrease in either of these will speed speex up. It probably won't get you to G723.1 speeds, but it isn't supposed to either. Speex is pretty high on the codec food-chain as far as CPU usage goes. There is some SSE assembly language, but it's in GCC/AT&T syntax rather than the windows-standard Intel syntax, so you might have to do some of your own translation to something your compiler understands. "Jay Huang" <jhuang@tjnet.com> writes:> Hi, > > I try to use Speex codec into Win32 platforms. However, I find the CPU > bandwidth usage is very heavy on a Pentium 3 machine. Compare to > Microsoft's G723.1 codec, speex 8k is using more than 20% cpu > bandwidth. > > Does anyone know what is the best version of Speex to "beat" the > Microsoft's G723.1's on CPU bandwidth usage? Does Speex have > MMX-enabled codes? > > Thanks very much, > > Jay-- Matthias Granberry matthias@utdallas.edu (972)644-3580
At 12:35 PM 10/6/2004, Matthias Granberry wrote:>There is some SSE assembly >language, but it's in GCC/AT&T syntax rather than the windows-standard >Intel syntax, so you might have to do some of your own translation to >something your compiler understands.We submitted an intel patch a ways back- maybe it is in the archives somewhere... Tom -- Tom Harper - tharper@sightspeed.com Lead Software Engineer SightSpeed, Inc. 918 Parker St, Suite A14 Berkeley, CA 94710 Phone: 510.665.2920 Cell: 415.378.3779 web: http://www.sightspeed.com video: http://tom.sightspeed.com/
Hi, Matthias: Thanks your quick reply. My current speex setting is : sample_rate = 8000; // hardware sample_rate also matches 8000 hz complexity=2; // for encoder Is there anything I can try? By the way, how can I know the version number of my speex source code? Is there a CVS repository that I can access? thanks, Jay ----- Original Message ----- From: "Matthias Granberry" <matthias@utdallas.edu> To: "Jay Huang" <jhuang@tjnet.com> Cc: <speex-dev@xiph.org> Sent: Wednesday, October 06, 2004 12:35 PM Subject: Re: [Speex-dev] Cpu bandwidth for Speex on Win32 platforms> I have two guesses: The sampling rate will effect speex, as will the > complexity setting on the encoder. A decrease in either of these will > speed speex up. It probably won't get you to G723.1 speeds, but it > isn't supposed to either. Speex is pretty high on the codec > food-chain as far as CPU usage goes. There is some SSE assembly > language, but it's in GCC/AT&T syntax rather than the windows-standard > Intel syntax, so you might have to do some of your own translation to > something your compiler understands. > > "Jay Huang" <jhuang@tjnet.com> writes: > > > Hi, > > > > I try to use Speex codec into Win32 platforms. However, I find the CPU > > bandwidth usage is very heavy on a Pentium 3 machine. Compare to > > Microsoft's G723.1 codec, speex 8k is using more than 20% cpu > > bandwidth. > > > > Does anyone know what is the best version of Speex to "beat" the > > Microsoft's G723.1's on CPU bandwidth usage? Does Speex have > > MMX-enabled codes? > > > > Thanks very much, > > > > Jay > > -- > Matthias Granberry > matthias@utdallas.edu > (972)644-3580 >