iLBC + PJSUA on TI DaVinci

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi have  you looked on CPU load, to my knowledge the iLBC is not optimized
at all and we have done some tests on 400 Mhz using Benny's media
performance program:
 
 15:55:36.647 os_core_unix.c  pjlib 1.0.1 for POSIX initialized
MIPS test, with CPU=396Mhz,  435.6 MIPS

Clock  Item                                                  Time     CPU
MIPS
 Rate                                                           (usec)
(%)       
 8KHz codec encode/decode - iLBC              1437754  143.775  626.29
 
This clearly shows that iLBC just doesn't fit on a 400 MHz ARM, so I think
you have a number of options:
 
License an optimized iLBC version either for ARM or TI DSP
Change codec
Implement PJMedia in the DSP portion of DM355
Optimze some part of the code your self
 
You could checkout http://trac.pjsip.org/repos/wiki/PJMEDIA-MIPS for some
more info on PJMedia performance on different platform.
 
BR/Olle


  _____  

From: pjsip-bounces@xxxxxxxxxxxxxxx [mailto:pjsip-bounces at lists.pjsip.org]
On Behalf Of Kapil Pendse
Sent: den 2 april 2009 13:47
To: pjsip list
Subject: Re: iLBC + PJSUA on TI DaVinci


Hello, 

Can someone kindly help me out. I'm new to pjsip and speech coding. It'll be
great if someone can point me in the right direction to solve this problem.
I guess many people would have already deployed PJSIP + iLBC on ARM
processors, probably even on DaVinci platforms. Did anyone of you face
similar problem (mentioned in my previous mail)? What was the solution? I'm
guessing this is a typical problem which can probably be fixed by some minor
change in compilation flags/configuration/command line parameters. I feel so
because I have not changed anything in the code. The same code runs
perfectly on a Linux desktop, but gives this problem on DaVinci platform.

Kindly help me out.

Warm regards,
Kapil

On Wed, Apr 1, 2009 at 6:26 PM, Kapil Pendse <kapil.pendse at gmail.com> wrote:


Hello, 

I've compiled the pjproject 1.0.1 for TI DaVinci DM355. Initially there was
problem in the audio. Everything was jittery and nothing could be made out.
Then I used the following method to compile:

$ ./aconfigure --host=armv5tl-montavista-linuxeabi CFLAGS='-O2 -msoft-float
-DNDEBUG' --disable-floating-point
$ make ARCH=arm CROSS_COMPILE=arm_v5t_le-

And executed pjsua as:

$ ./pjsua-armv5tl-montavista-linux-gnueabi --app-log-level=2 --stereo
--ec-tail=0 --add-codec pcmu --dis-codec speex --dis-codec ilbc --dis-codec
GSM --dis-codec G722 --clock-rate=8000 --snd-clock-rate=8000

Then the audio was clean. Since --add-codec pcmu was used, PCMU codec was
used by default.

Then I changed to iLBC by running the same pjsua build as:

$ ./pjsua-armv5tl-montavista-linux-gnueabi --app-log-level=2 --stereo
--ec-tail=0 --dis-codec pcmu --dis-codec speex --add-codec ilbc --dis-codec
GSM --dis-codec G722 --clock-rate=8000 --snd-clock-rate=8000

Now again the audio is very jittery, just like the first problem I had faced
(described above). I'm not sure if "jittery" is the correct word to describe
it. I can barely make out that someone is speaking from the other end of the
call, but cannot understand what it is... I'm new to VOIP and PJSIP so
kindly help me out.

I even changed the default iLBC mode from 30 to 20:

pjmedia/src/pjmedia-codec/ilbc.c:
//#define DEFAULT_MODE 30

#define DEFAULT_MODE 20


pjsip/include/pjsua-lib/pjsua.h

#ifndef PJSUA_DEFAULT_ILBC_MODE
//#   define PJSUA_DEFAULT_ILBC_MODE 30
#   define PJSUA_DEFAULT_ILBC_MODE 20
#endif

I also played around with the --ec-tail=X command line parameter. There is
some change in way the received audio plays out but it is not at all
understandable.

Kindly help me out.

Best regards,
Kapil Pendse
TekKraft


-- 
"The Power to Imagine, is The Power to Create!"
-TTux





-- 
"The Power to Imagine, is The Power to Create!"
-TTux

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090402/b9633850/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux