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.
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,
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: 18.104.22.1680
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.
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
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 again for reaching out to us.
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.