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.

Issue using opaque memory on a Dell 5430 laptop

squinnn92
Beginner
2,278 Views

I am trying to use sample_multi_transcode on a dell 5430 laptop and am getting MFX_ERR_INVALID_VIDEO_PARAM error trying to query surfaces.  I am also seeing a strange return value on MFXQueryVersion that may be pointing at a system problem:

2120 2022-9-12 3:35:34:606 >> MFXQueryVersion called
2120 2022-9-12 3:35:34:606 mfxSession session=02CAEE28
2120 2022-9-12 3:35:34:606 version.Major=1
2120 2022-9-12 3:35:34:606 version.Minor=255
2120 2022-9-12 3:35:34:606 version.Version=65791

Has anyone seen anything similar?  The same program works well on other Gen12 processor Intel UHD graphics enabled systems.

 

Steve

Labels (1)
0 Kudos
9 Replies
DiyaN_Intel
Moderator
2,256 Views

Hi,

 

Good day to you.

 

Thank you for posting in Intel communities. Could you please share the following details so that we can reproduce the issue from our end.

 

1. Processor and OS details. 

 

2.  MSDK version.

 

3.  Did you make any changes to the existing sample? If yes, please attach your sample code

 

4. Can you please tell us the command you used for transcoding?

 

Thanks and Regards,

Diya

 

0 Kudos
squinnn92
Beginner
2,244 Views

Dell 5430:

Processor 12th Gen Intel(R) Core(TM) i7-1265U, 1800 Mhz, 10 Core(s), 12 Logical Processor(s)

Version 10.0.19044 Build 19044

BIOS Version/Date Dell Inc. 1.4.0, 6/20/2022

Intel UHD Graphics, Driver: 30.0.101.1960

Media SDK: 2021 R1

No changes made to sample_multi_transcode.exe

Command Line:   (source file is a short black h.264 file at 1280x720, but any file will fail)

sample_multi_transcode.exe -i::h264 black_720p.h264 -o::h264 check.264 -h 720 -w 1280 -hw -opaq

Let me know if you need more information.  If I don't use opaque memory (remove -opaq) it works fine, but is too slow and inefficient for our needs.

This same command/program works fine on other gen 12 intel based systems with the same driver version.

The enclosed zip file includes all required files to test, just unzip and run "fails_on_dell_5430.bat".  I also included a system information dump of the system.

 

One more quick note, when running msdk_sys_analyzer_64 (or 32), the application keeps showing API versions as supported beyond 35 (hw "Yes", sw "No").  I believe this is likely caused by the invalid minor version problem.  It seems to be stuck in a loop and just keeps incrementing versions past 255 (the reported minor version).  Tail from the output shown below before I killed it.

 

...

1.551 HW Yes X X
1.551 SW No
1.552 HW Yes X X
1.552 SW No
1.553 HW Yes X X
1.553 SW No
1.554 HW Yes X X
1.554 SW No
1.555 HW Yes X X
1.555 SW No
1.556 HW Yes X X
1.556 SW No
1.557 HW Yes X X
1.557 SW No
1.558 HW Yes X X
1.558 SW No

...

 

 

Thank you for your help.

 

Steve 

 

 

 

 

 

0 Kudos
DiyaN_Intel
Moderator
2,208 Views

Hi ,


Thank you for the information you provided.


We are working on this internally. We will get back to you with an update soon.


Regards,


Diya


0 Kudos
squinnn92
Beginner
2,150 Views

Diya,

 

Just checking in.  Is there anything additional I can provide?  Would it be possible to get a expected time frame for an update?

 

Thank you for your help.

 

Steve Quinn

0 Kudos
roy5
Moderator
1,854 Views

Hello,

Thanks for your patience. Here is my response:

From the command line's perspective, the opaque memory option supports a limited number of scenarios and it doesn't add any features or performance to the transcoding.  It was just Media SDK's approach to reducing the complexity of video surface memory allocation. The equivalent feature in oneVPL is internal memory allocation/ management. This is a significant upgrade from Media SDK opaque memory.

In Media SDK, the surfaces were "opaque" -- only visible to Media SDK, not the application. Whereas in oneVPL internal allocations still allow oneVPL to handle the complexity of surface allocation and lifetime management, but the surfaces are visible to the application, enabling zero-copy interoperability on the GPU for cases like interop/dpcpp-blur (https://github.com/oneapi-src/oneVPL/tree/master/examples/interop/dpcpp-blur).

The hello-vpp (https://github.com/oneapi-src/oneVPL/tree/master/examples/hello/hello-vpp) example in oneVPL repository provides a simple illustration of the internal memory allocation (upgrade of opaque memory) concept in oneVPL.

We would highly encourage using oneVPL to leverage the latest features of Intel Hardware. Here is the transition guide from Media SDK to oneVPL: https://www.intel.com/content/www/us/en/develop/documentation/upgrading-from-msdk-to-onevpl/top.html

 

Thanks,

Rupak


0 Kudos
squinnn92
Beginner
1,799 Views

Does the sample_multi_transcode application provide an implementation of the internal memory allocator describe above? 

Is the Media SDK effectively deprecated with the Gen 12 CPUs?  The behavior of msdk_sys_analyser_64.exe described at the top of this thread seems wrong to me.

Thanks,

Steve

0 Kudos
roy5
Moderator
1,700 Views

Hello,

Thanks again for reaching out to us. 

sample_multi_transcode in oneVPL includes internal memory. For more direct implementation of internal memory, please see the hello_transcode and hello_encode    samples in oneVPL. 

Intel Media SDK provides full support only for 5th to 10th generation Intel® Core™ processors with pre-Xe-core processor graphics. Media SDK has already had its final feature updates. Even if security fixes force a new release, features will not change beyond Media SDK’s current 1.35 API implementation. New features will be enabled for new Intel hardware in oneVPL. 

 

Thanks,

Rupak

0 Kudos
squinnn92
Beginner
1,659 Views

It's curious that this code works fine on Gen 12 CPU's when there are dual GPUs (even though we are still using the Intel GPU when transcoding).  That does not make much sense to me.

 

Steve

0 Kudos
roy5
Moderator
1,594 Views

Hello,

Do you mean that the internal memory implementation is working for multi-GPU system but not for the single-GPU system? Please correct me if I am wrong.

Thanks,

Rupak 

0 Kudos
Reply