version of g729 codec Geode(TM) Integrated Processor by AMD PCS

163 views
Skip to first unread message

zhuli...@gmail.com

unread,
Nov 11, 2008, 9:43:59 PM11/11/08
to Asterisk G.729
hello: all of friends:
I have a PC Engines alix2c2 board(http://www.pcengines.ch/
alix2c2.htm). my cpu info is:
==============================
voyage:/usr/lib/asterisk/modules# cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 10
model name : Geode(TM) Integrated Processor by AMD PCS
stepping : 2
cpu MHz : 498.071
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de pse tsc msr cx8 sep pge cmov clflush mmx
mmxext 3dnowext 3dnow
bogomips : 997.08
clflush size : 32
=====================================
i have tried to download the
http://asterisk.hosting.lv/bin/codec_g729-ast14-gcc4-glibc-opteron-sse3.so,
when i put it into /usr/lib/asterisk/modules and restart my asterisk,
the system shows:
res_monitor.so => (Call Monitoring Resource)
== Parsing '/etc/asterisk/codecs.conf': Found
Illegal instruction (core dumped)
voyage:/usr/lib/asterisk/modules#
------------------------------------------------------------------------
I could not start my asterisk at all.
anyone has an idea for that? i tried to install Intel based PC without
problem. Does the g729 support ADM CPU?
thanks!
james

Arkadi Shishlov

unread,
Nov 12, 2008, 3:49:00 AM11/12/08
to asteri...@googlegroups.com
zhuli...@gmail.com wrote:
> I have a PC Engines alix2c2 board(http://www.pcengines.ch/

The board has Pentuim I class CPU. Try pentium binaries.

Holger Hornung

unread,
Nov 12, 2008, 8:07:26 AM11/12/08
to Asterisk G.729


I have compiled the codec's specially for my geode (alix 2C2) with
'3dnowext 3dnow' support (-march=k6-3):

http://rz-home.de/~hhornung/codec_g723-ast14-gcc4-glibc-k6-3.so
http://rz-home.de/~hhornung/codec_g729-ast14-gcc4-glibc-k6-3.so

regards
Holger Hornung (Netview)

Arkadi Shishlov

unread,
Nov 12, 2008, 11:03:38 AM11/12/08
to asteri...@googlegroups.com
Note, that most of the performance differences comes from using different IPP cores: MMX, SSE, etc.
and not from using CPU specific compiler options. In case of low-end CPU such as Geode,
recompilation with -march=k6-3 doesn't really buy you much in terms of performance.

zhuli...@gmail.com

unread,
Nov 12, 2008, 9:43:41 PM11/12/08
to Asterisk G.729
thanks all of you. the link works with PC Engines alix2c2.
http://rz-home.de/~hhornung/codec_g723-ast14-gcc4-glibc-k6-3.so
http://rz-home.de/~hhornung/codec_g729-ast14-gcc4-glibc-k6-3.so
it can show the translations:
*CLI> show translation
Translation times between formats (in milliseconds) for one
second of data
Source Format (Rows) Destination Format (Columns)

g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc
g726 g722
g723 - 32 11 11 22 11 10 45 149 -
- 22 -
gsm 273 - 7 7 18 7 6 41 145 -
- 18 -
ulaw 268 23 - 1 13 2 1 36 140 -
- 13 -
alaw 268 23 1 - 13 2 1 36 140 -
- 13 -
g726aal2 278 33 12 12 - 12 11 46 150 -
- 1 -
adpcm 268 23 2 2 13 - 1 36 140 -
- 13 -
slin 267 22 1 1 12 1 - 35 139 -
- 12 -
lpc10 288 43 22 22 33 22 21 - 160 -
- 33 -
g729 301 56 35 35 46 35 34 69 - -
- 46 -
speex - - - - - - - - - -
- - -
ilbc - - - - - - - - - -
- - -
g726 278 33 12 12 1 12 11 46 150 -
- - -
g722 - - - - - - - - - -
- - -
thank you to all of you!
james

On Nov 13, 12:03 am, Arkadi Shishlov <arkadi.shish...@gmail.com>
wrote:

Holger Hornung

unread,
Nov 13, 2008, 12:14:52 PM11/13/08
to Asterisk G.729
'-march=k6.3' activates the '3dnow and 3dnowext' cpu instructionsset
of amd-cpu's which is similar to 'MMX, SSE'

http://www.informit.com/articles/article.aspx?p=130978&seqNum=9

The MMX support of geode-cpu is not 100% compatible and SSE is not
available. So '-march=k6-3' is imho useful.

ciao
Holger

Arkadi Shishlov

unread,
Nov 13, 2008, 6:50:41 PM11/13/08
to asteri...@googlegroups.com
Holger Hornung wrote:
> '-march=k6.3' activates the '3dnow and 3dnowext' cpu instructionsset
> of amd-cpu's which is similar to 'MMX, SSE'

Yes, but it doesn't mean compiler will emit these instructions. The tasks they
accelerate are quite limited and support on GCC side is likely far from perfect.

> http://www.informit.com/articles/article.aspx?p=130978&seqNum=9
>
> The MMX support of geode-cpu is not 100% compatible and SSE is not

Its surely good enough, because you're running codecs with most expensive parts
optimized for Pentium MMX.
We can speculate endlessly on the topic, but there are two things you could try:
1. Benchmark.
2. Compile into assembler and check the results. I just compiled owng729fp.c
with GCC 4.1.2 and
-march=k6-3
-march=k6-3 -m3dnow
-march=k6-3 -mtune=pentium-mmx
-march=k6-3 -m3dnow -mtune=pentium-mmx
-march=pentium-mmx
but I can't find 3DNow! instructions anywhere. The improved scheduling might
marginally help, though.

3DNow! instructions could accelerate these codecs, because SSE core definitely
boosts the performance compared to MMX core (on the same CPU). The only thing
thats missing is 3DNow! implementation of IPP, which is not available.


> available. So '-march=k6-3' is imho useful.
>

Arkadi Shishlov

unread,
Nov 18, 2008, 5:48:55 PM11/18/08
to asteri...@googlegroups.com, ma...@hhornung.de, zhuli...@gmail.com
Would you mind to try the following binaries and compare results with the codecs
you're currently running?

http://asterisk.hosting.lv/bin/codec_g723-ast14-gcc4-glibc-geode.so
http://asterisk.hosting.lv/bin/codec_g729-ast14-gcc4-glibc-geode.so
http://asterisk.hosting.lv/bin/codec_g729i-ast14-gcc4-glibc-geode.so

g729i is an integer version of g729 codec.

Holger Hornung wrote:
> I have compiled the codec's specially for my geode (alix 2C2) with
> '3dnowext 3dnow' support (-march=k6-3):

Also, Geode LX is not K6.
Looks like it has interesting properties when it comes to interleaving floating
and integer math.

Holger Hornung

unread,
Nov 19, 2008, 2:35:36 AM11/19/08
to Asterisk G.729
Hello Arkadi!

Your codecs are faster especailly the g729i:

my codecs:

g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc
g726 g722
g723 - 27 10 10 21 10 9 43 146 274
213 21 23
gsm 270 - 7 7 18 7 6 40 143 271
210 18 20
ulaw 265 19 - 1 13 2 1 35 138 266
205 13 15
alaw 265 19 1 - 13 2 1 35 138 266
205 13 15
g726aal2 275 29 12 12 - 12 11 45 148 276
215 1 25
adpcm 265 19 2 2 13 - 1 35 138 266
205 13 15
slin 264 18 1 1 12 1 - 34 137 265
204 12 14
lpc10 286 40 23 23 34 23 22 - 159 287
226 34 36
g729 298 52 35 35 46 35 34 68 - 299
238 46 48
speex 296 50 33 33 44 33 32 66 169 -
236 44 46
ilbc 301 55 38 38 49 38 37 71 174 302
- 49 51
g726 275 29 12 12 1 12 11 45 148 276
215 - 25
g722 277 31 14 14 25 14 13 47 150 278
217 25 -

alix*CLI> load codec_g729i-ast14-gcc4-glibc-geode.so

g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc
g726 g722
g723 - 27 10 10 21 10 9 43 131 273
213 22 23
gsm 270 - 7 7 18 7 6 40 128 270
210 19 20
ulaw 265 19 - 1 13 2 1 35 123 265
205 14 15
alaw 265 19 1 - 13 2 1 35 123 265
205 14 15
g726aal2 275 29 12 12 - 12 11 45 133 275
215 1 25
adpcm 265 19 2 2 13 - 1 35 123 265
205 14 15
slin 264 18 1 1 12 1 - 34 122 264
204 13 14
lpc10 286 40 23 23 34 23 22 - 144 286
226 35 36
g729 291 45 28 28 39 28 27 61 - 291
231 40 41
speex 296 50 33 33 44 33 32 66 154 -
236 45 46
ilbc 301 55 38 38 49 38 37 71 159 301
- 50 51
g726 275 29 12 12 1 12 11 45 133 275
215 - 25
g722 277 31 14 14 25 14 13 47 135 277
217 26 -


alix*CLI> load codec_g729-ast14-gcc4-glibc-geode.so
alix*CLI> load codec_g723-ast14-gcc4-glibc-geode.so

g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc
g726 g722
g723 - 27 10 10 21 10 9 43 132 275
214 21 23
gsm 269 - 7 7 18 7 6 40 129 272
211 18 20
ulaw 264 19 - 1 13 2 1 35 124 267
206 13 15
alaw 264 19 1 - 13 2 1 35 124 267
206 13 15
g726aal2 274 29 12 12 - 12 11 45 134 277
216 1 25
adpcm 264 19 2 2 13 - 1 35 124 267
206 13 15
slin 263 18 1 1 12 1 - 34 123 266
205 12 14
lpc10 285 40 23 23 34 23 22 - 145 288
227 34 36
g729 290 45 28 28 39 28 27 61 - 293
232 39 41
speex 295 50 33 33 44 33 32 66 155 -
237 44 46
ilbc 300 55 38 38 49 38 37 71 160 303
- 49 51
g726 274 29 12 12 1 12 11 45 134 277
216 - 25
g722 275 30 13 13 24 13 12 46 135 278
217 24 -

ciao
Holger


On 18 Nov., 23:48, Arkadi Shishlov <arkadi.shish...@gmail.com> wrote:
> Would you mind to try the following binaries and compare results with the codecs
> you're currently running?
>
> http://asterisk.hosting.lv/bin/codec_g723-ast14-gcc4-glibc-geode.sohttp://asterisk.hosting.lv/bin/codec_g729-ast14-gcc4-glibc-geode.sohttp://asterisk.hosting.lv/bin/codec_g729i-ast14-gcc4-glibc-geode.so
Reply all
Reply to author
Forward
0 new messages