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.

Could not run sample_multi_transcode_drm with LA depth

Yabo_W_
Beginner
339 Views

Hi all,

I noticed that Intel media SDK could not run encoding/transcoding session with look ahead RC and explicit LA depth.

Here is the test .par file for sample_multi_transcode_drm:

$ cat multi.par
-hw -i::h264 /home/ubuntu/Videos/Earth_TR2_1080.ts -o::h264 /home/ubuntu/test.mp4 -la_ext -lad 100

then execute sample_multi_transcode_drm:

$ sudo ./sample_multi_transcode_drm -par multi.par
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
Intel(R) Media SDK Multi Transcoding Sample Version 0.0.000.0000

Par file is: multi.par

plugin_loader.h :199 [INFO] Plugin was loaded from GUID
Pipeline surfaces number: min=104, max=104, chosen=104

Return on error: error code -15,    /opt/intel/mediasdk/samples/sample_multi_transcode/src/pipeline_transcode.cpp    2068

Return on error: error code -15,    /opt/intel/mediasdk/samples/sample_multi_transcode/src/sample_multi_transcode.cpp    173

Some more tests shows:

1. if I run without -la_ext, it works fine:
-hw -i::h264 /home/ubuntu/Videos/Earth_TR2_1080.ts -o::h264 /home/ubuntu/test.mp4 -la -lad 100
2. if I run sample_encode_drm with look ahead RC and explicit LA depth, it works fine too:
$ sudo ./sample_encode_drm h264 -i ~/Videos/Earth_TR2_1080.yuv -o ~/test.mp4 -w 1920 -1080 -hw -la -lad 100

My SDK version is 1.10, could you please help to see if it's a bug of the SDK?

0 Kudos
4 Replies
Surbhi_M_Intel
Employee
339 Views

Hi Yabo,

Look Ahead Extended Rate and Look Ahead ICQ Control Method is not supported on Linux. Since these are experimental method in development so it's not defined on windows yet. I would recommend you to use Look Ahead or VBR bit rate control Method - you can find details about these method in following articles : Look Ahead and Common Bitrate Control Methods.
Another thing to suggest here is to use API version between 1.7 to 1.9. Since API version 1.10 is still under development and there is a chance you will might see issues with it. Look Ahead Bitrate Control Method was added from SDK API 1.7.  
Please let me know if this answer your question.

Thanks,
-Surbhi

0 Kudos
Yabo_W_
Beginner
339 Views

Hi Surbhi,

Thank you for your response. 

I have tried Look Ahead and VBR bit rate control method, both work OK! Thanks.

I have another question:

The description for -lad option(readme-multi-transcode.pdf p4)-"Can be used together with either –la or –la_ext."

But when I read the sample_multi_transcode source code, I found that the -lad option is only for Look Ahead Extended rate control method:

sample_multi_transcode/src/pipeline_transcode.cpp:

364     if (pParams->bEnableExtLA && m_bDecodeEnable)
365     {
                .... ...
378         sts = InitPreEncMfxParams(pParams);
379         MSDK_CHECK_RESULT(sts, MFX_ERR_NONE, sts);
380     }
... ...
1385  mfxStatus CTranscodingPipeline::InitPreEncMfxParams(sInputParams *pInParams)
1386  {
                 ... ...
1424        MSDK_ZERO_MEMORY(m_ExtLAControl);
1425        m_ExtLAControl.Header.BufferId = MFX_EXTBUFF_LOOKAHEAD_CTRL;
1426        m_ExtLAControl.Header.BufferSz = sizeof(m_ExtLAControl);
1427        m_ExtLAControl.LookAheadDepth = pInParams->nLADepth ? pInParams->nLADepth : 40;
1428        m_ExtLAControl.NumOutStream = 0;
                 ... ...
1438  }

Could you please help to see if it's a bug of this sample? I want to run multiple sessions with look ahead RC and explicit LA depth.

Thanks,

-Yabo

0 Kudos
Surbhi_M_Intel
Employee
339 Views

Hi Yabo,

There was some confusion regarding support of Bitrate control methods on Linux and Windows. So, I am summarizing all the questions asked by you with their answers to clear any confusion.

>> MFX_RATECONTROL_LA_EXT Bitrate Control Method is supported on Linux and should work. So definitely the issue you have seen is a possible bug. I have reproduce this issue on Linux and have reported it to the development team. I will update you once i hear back from them. Will keep you updated.

>> MFX_RATECONTROL_LA_EXT  Bitrate Control Method will be released on windows by the end of the year

>>"The description for -lad option(readme-multi-transcode.pdf p4)-"Can be used together with either –la or –la_ext."

But when I read the sample_multi_transcode source code, I found that the -lad option is only for Look Ahead Extended rate control method:"
I am looking into this, will update you once I have some concrete results. 

Sorry about the confusion!

Thanks,

-Surbhi

0 Kudos
Yabo_W_
Beginner
339 Views

Hi,

That is, device "/dev/dri/card0" is not allowed to be open multi times in a application.

0 Kudos
Reply