Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

how gdb media sdk's sample multi transcode code ?

xia__shane
Beginner
831 Views

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
831 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

0 Kudos
10 Replies
Mark_L_Intel1
Moderator
832 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

0 Kudos
xia__shane
Beginner
831 Views

Mark,thanks,it really solves my problem.

0 Kudos
Mark_L_Intel1
Moderator
831 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

0 Kudos
xia__shane
Beginner
831 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?

0 Kudos
david123456
Beginner
831 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

0 Kudos
Mark_L_Intel1
Moderator
831 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

0 Kudos
Mark_L_Intel1
Moderator
831 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

0 Kudos
xia__shane
Beginner
831 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.

 

0 Kudos
xia__shane
Beginner
831 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 ...>

 

0 Kudos
Mark_L_Intel1
Moderator
831 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

0 Kudos
Reply