Community
cancel
Showing results for 
Search instead for 
Did you mean: 
xia__shane
Beginner
110 Views

how gdb media sdk's sample multi transcode code ?

Jump to solution

Hey ,Everyone:

Recently I use intel mediasdk to program in centos operation system.

the sample code name is multi_sample_transcode  sample_multi_transcode,the result is not I wanted.

So I want to debug.

But I find its wrong to use gdb set args.

The par file is

set -i::h265 15dd936825ad475ea34e35f3f54217a6
-i::h265 test_stream.265 -o::h264 output1.264
-i::h265 test_stream.265 -o::mpeg2 output2.mpeg2

 

I use it like this under gdb cmdline:

set args

set -i::h265 15dd936825ad475ea34e35f3f54217a6 \

-i::h265 test_stream.265 -o::h264 output1.264 \

-i::h265 test_stream.265 -o::mpeg2 output2.mpeg2

 

 

ParseCmd Error happened.

 

Could anyone give me some suggestions.

Sincerely,

Shane

0 Kudos
1 Solution
Mark_L_Intel1
Moderator
110 Views

Hi Shane,

I used following format of the gdb command when I debug the MSDK application and it was succeed:

gdb --args <the command of MSDK application>

<the command of MSDK application> means the normal command of the MSDK application, for example, if you use a par file, the normal command is like:

> ./sample_multi_transcode -par parfile

Then the gdb command should like:

> gdb --args ./sample_multi_transcode -par parfile

Let me know if you still have an issue and please post your full command line.

Mark

View solution in original post

10 Replies
Mark_L_Intel1
Moderator
111 Views

Hi Shane,

I used following format of the gdb command when I debug the MSDK application and it was succeed:

gdb --args <the command of MSDK application>

<the command of MSDK application> means the normal command of the MSDK application, for example, if you use a par file, the normal command is like:

> ./sample_multi_transcode -par parfile

Then the gdb command should like:

> gdb --args ./sample_multi_transcode -par parfile

Let me know if you still have an issue and please post your full command line.

Mark

View solution in original post

xia__shane
Beginner
110 Views

Mark,thanks,it really solves my problem.

Mark_L_Intel1
Moderator
110 Views

Good to know.

Just want you know there is other path you could debug the code even deeper.

I just posted the following guide to build the full set of Intel media stack, it has been published to the open source.

https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack

With this guide, you can not only debug down to the media driver, but also use the latest kernel on the generic Linux distribution.

Mark

xia__shane
Beginner
110 Views

Hey,Mark:

Thansk for your help.  Recently, i have met another problem.My sample_multi_transcode progream seems not support "-sw"。I guess whether the software library is installed in centos.

How can i find the reason?Could you give me some suggestions?

david123456
Beginner
110 Views

Hi Mark,

From https://software.intel.com/en-us/articles/build-and-debug-open-source-media-stack you mentioned, does it mean msdk can support 7th or 8th Core CPU under linux OS?

Thanks

David

Mark_L_Intel1
Moderator
110 Views

Hi Shane,

Which version of Media SDK are you using? The software mode should be a library called libmfxsw64.so on Linux, if you can find it in the system, what error message did you see?

Mark

Mark_L_Intel1
Moderator
110 Views

David,

Could you start a different post for this question? I am afraid this is a hot question and there might be many follow-ups.

I think it doesn't support the processor you expected, but you can check the detailed information yourself.

If you read the article, Media SDK library depends on the media driver, so you can check the front page of media driver repo:

https://github.com/Intel/media-driver

Mark

xia__shane
Beginner
110 Views

Hey ,Mark.

I have already solved that problem. My sdk works using "-sw" command.I want to use it to test concurrency performance.

I write a shell script.Execute "./sample_multi_transcode -par i.par"  in a loop. And add tail to the command. At  the beginning, it works well。

But when it  works in a while, error happened,it reports segment error. And now it really means a mess to me .I cant find where it crashes.

Please give me some sugesstions.Thank you.

 

xia__shane
Beginner
110 Views

The Error looks like this:

clone(child_stack=0x7fc8234a9fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7fc8234aa9d0, tls=0x7fc8234aa700, child_tidptr=0x7fc8234aa9d0) = 8403
futex(0x16e184c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, {1518077818, 14557000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
futex(0x26f9c28, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7ff5924ee9d0, FUTEX_WAIT, 8401, NULL) = -1 ETIMEDOUT (Connection timed out)
futex(0x16e1878, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7fc8234aa9d0, FUTEX_WAIT, 8403, NULL[XLC]Step Into msdk_thread_start
futex(0x22153b8, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7fcab22dc9d0, FUTEX_WAIT, 8400, NULL[XLC]Step Into msdk_thread_start
[rtsp @ 0x25fe1a0] CSeq 4 expected, 0 received.
[rtsp @ 0x17241a0] CSeq 4 expected, 0 received.
[rtsp @ 0x11b41a0] CSeq 4 expected, 0 received.
[rtsp @ 0x265b1a0] CSeq 4 expected, 0 received.
 <unfinished ...>

 

Mark_L_Intel1
Moderator
110 Views

Hi Shane,

I am not sure what your scenario is. Are you using the script to run a loop which calls "./sample_multi_transcode -par i.par" which i.par is a sequence of files? This might also relate to the par file you are using.

Please give me the complete sequence so I can help you.

Mark

Reply