Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

IPP with voipong and kernel 2.6.9-1

gesperon
初学者
668 次查看
Hi!,

I am working with voipong to capture the raw G729 payloads and trying to use the sample: g729idecoder passing as arguments the raw voipong capture and the output file:

./g729idecoder session-enc18-G729-8KHz.raw out

I having two problems, when the first one doesn't occurs, then is the second. I don't know if I can pass the voip raw capture right to the g729idecoder, if I can't please tell me what can I use or how I can do it.

Problems:
1. A Segmentation Fault, I ran:
"ltrace -fiS ./g729fpdecoder session-enc18-G729-8KHz.raw out"
here is the end of the trace:

[0x77a6bd] SYS_uname(0xfee534cc) = 0
[0x77922b] SYS_brk(NULL) = 0x9ba3000
[0x779fd1] SYS_access(0x77b386, 4, 0x77efb4, 0x77b386, 4) = -2
[0x779e94] SYS_open("/etc/ld.so.cache", 0, 00) = 3
[0x779d9b] SYS_fstat64(3, 0xfee52c18, 0x77efb4, 0x77f4d8, 0) = 0
[0x77a5fd] SYS_mmap(0xfee52bf8, 2, 0x77efb4, 3, 0) = 0xf6fef000

[cut output]

[0x804a0e1] __libc_start_main(0x804a392, 3, 0xfee53724, 0x805978c, 0x80597e0
[0x8059597] memset(0xfee52d70, '�00', 512) = 0xfee52d70
[0x804a438] ippscGetLibVersion(0, 32, 0, 0, 0x792ad0) = 0xf6a6fce0
[0x804a6ff] fopen("/var/tmp/output/20050527/session"..., "rb"
[0x7697a2] SYS_open("/var/tmp/output/20050527/session"..., 0, 0666) = 3
[0x804a6ff] ... fopen resumed> ) = 0x9ba3968
[0x804a7e8] fseek(0x9ba3968, 0, 2, 0, 32
[0x7697a2] SYS_fstat64(3, 0xfee533f0, 0x8a4ff4, 0x9ba3968, 8192) = 0
[0x7697a2] SYS_mmap2(0, 4096, 3, 34, -1) = 0xf6fff000
[0x7697a2] SYS_fstat64(3, 0xfee534c8, 0x8a4ff4, 3, 0x9ba3968) = 0
[0x7697a2] SYS__llseek(3, 0, 12288, 0xfee53448, 0) = 0
[0x7697a2] SYS_read(3, "310R3633273YI?356344307310361[.230D323s�07A263�17202256370330353or365177"..., 1984) = 1984
[0x804a7e8] ... fseek resumed> ) = 0
[0x804a7f2] ftell(0x9ba3968, 0x9ba3968, 0, 2, 0) = 14272
[0x804a808] ippsMalloc_8s(14272, 0, 32, 0, 0) = 0x9ba3ae0
[0x804a824] fseek(0x9ba3968, 0, 0, 0, 32
[0x7697a2] SYS__llseek(3, 0, 0, 0xfee53448, 0) = 0
[0x804a824] ... fseek resumed> ) = 0
[0x804a83c] fread(0x9ba3ae0, 1, 14272, 0x9ba3968
[0x7697a2] SYS_read(3, "�36L201327F346 302300b246Z201�33�01^~336241214]l `K�26e20215177233"..., 12288) = 12288
[0x7697a2] SYS_read(3, "310R3633273YI?356344307310361[.230D323s�07A263�17202256370330353or365177"..., 4096) = 1984
[0x804a83c] ... fread resumed> ) = 14272
[0x804a8a8] ippsMalloc_8u(8, 0, 32, 0, 0) = 0x9ba72c0
[0x804b6f2] ippsIIRGetStateSize_32f(2, 0xfee53560, 0, 0, 1) = 0
[0x804b715] ippsWinHybridGetStateSize_G729E_32f(0xfee53560, 0xfee53560, 2, 0xfee53560, 36) = 0
[0x804a8f5] ippsMalloc_8u(9100, 0, 32, 0, 0) = 0x9ba7300
[0x804b6b2] --- SIGSEGV (Segmentation fault) ---
[0xffffffff] +++ killed by SIGSEGV +++


2. The "out" file is always about 160 bytes, with no errors at all. The cmd line is: "./g729idecoder session-enc18-G729-8KHz.raw out"

Any help would be appreciated.

Thanks
Gabor
0 项奖励
4 回复数
Vyacheslav_Baranniko
新分销商 II
668 次查看
You can't feed an RTPpackets directly tog729decoder executable. For conformance testing purpose it supports bitstream only inITU G.729 bitstream file format.Youneed to extract a pure bitstream out of each RTP packet andfeed it to Decode() function instead with proper frame type indication (active, VAD, untransmitted, lost).
Hope this help.
Vyacheslav
0 项奖励
gesperon
初学者
668 次查看
Hi!,

Thanks for your response.

Actually voipong extract the payload of each RTP packet and that is what is saved in the raw file. So, I am passing the pure payload to the g729decoder and NOT the rtp packet. The format is ITU-T, is that the correct format?

Message Edited by gesperon on 05-31-2005 12:16 PM

0 项奖励
gesperon
初学者
668 次查看
The format is ITU-T
0 项奖励
Vyacheslav_Baranniko
新分销商 II
668 次查看
Hi there!
I meant an executable processes bitstream file inITU-T test vector format. The Ref2Bits() function converts ITU format to RTP payload (RFC3551) (in->pBuffer),
in->nbytes==10 (active) , 2(SID) , 0 (untransmitted).
in->frametype == -1(lost), 0 (untransmitted), 1(SID), 2 (6.4), 3 (8), 4 (11.8) for G729I codec.
For G729A codecframe types ==-1, 0,1,3 accordingly.
Vyacheslav
0 项奖励
回复