Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.
Announcements
The Intel sign-in experience is changing in February to support enhanced security controls. If you sign in, click here for more information.

Quick question about ARC support and legacy SDK.

RobinsonUK
Beginner
580 Views

Our software makes use of Media SDK 2019 R1.  We use CPU-side QuickSync.  We are interested in shipping our product with an Intel Arc, to offload encode and decode from the CPU-side to the graphics card.

 

Will the SDK dispatcher find the graphics card impl, or will additional code (perhaps a new SDK) be required?  We use the D3D 11 surfaces path at the moment.

0 Kudos
1 Solution
JaideepK_Intel
Moderator
200 Views

Hi,

 

Good day to you.

 

VPL Dispatcher dispatches the application to use either the VPL GPU runtime or the Media SDK GPU Runtime. VPL dispatcher can be used with legacy(pre-Xe) and newer (Xe or more advanced) hardware if only the core features or core APIs are used. Here are some examples of some simple VPL features that have been implemented using coreAPIs: https://github.com/oneapi-src/oneVPL/tree/master/examples/coreAPI

 

Regarding the last question of whether VPL will select ARC GPU over CPU, VPL dispatcher walks through all the available runtime libraries (libmfx-gen, libvplswref) available and returns a sorted list of VPL implementations which are associated with specific Hardware based on performance score and specified codec. So VPL will always choose an Intel ARC over a CPU.

 

If this resolves your issue, make sure to accept this as a solution. This would help others with similar issue. Thank you!

 

Regards,

Jaideep

 

View solution in original post

7 Replies
JaideepK_Intel
Moderator
551 Views

Hi,


Thank you for posting in Intel communities.


Could you please explain which software you are using?


Thanks,

Jaideep


RobinsonUK
Beginner
550 Views

We are an application development house.  We're using the SDK, as described above (fyi, Visual Studio 2019 and Visual Studio 2022).

JaideepK_Intel
Moderator
482 Views

Hi,


Can you use Intel OneVPL instead of MSDK: (https://github.com/oneapi-src/oneVPL-intel-gpu)

to leverage the capabilities of ARC GPU. OneVPL will find all the available integrated GPUs and discrete GPUs available in the system. You can find the list of supported Intel GPUs by oneVPL Runtime here:

https://github.com/oneapi-src/oneVPL-intel-gpu#how-to-use

Also, please use the latest beta driver for ARC GPU: (https://www.intel.com/content/www/us/en/download/729157/intel-arc-graphics-windows-dch-driver-beta.h...

 

For the CPU implementation, you should use FFmpeg. 


If this resolves your issue, make sure to accept this as a solution. This would help others with similar issue. Thank you!


Regards,

Jaideep


RobinsonUK
Beginner
475 Views

OK.  Though I won't be using FFmpeg (I'm writing the impl, not using someone else's) it seems the solution for me is to play with the card (now arrived) and also to switch out to OneVPL, replacing MediaSDK. 

 

I have to say I continue to be baffled by the support matrix, which suggests OneVPL does not support older platforms (Coffee Lake for example).  I really don't want to have to support two implementations in my software (a MediaSDK path and a OneVPL path).

 

GPU Supported
TGL (Tiger Lake)
DG1 (Xe MAX)
RKL (Rocket Lake)
ADL-S (Alder Lake S)
ADL-P (Alder Lake P)

 

Looking at OneAPI samples it seems the MFX_IMPL_HARDWARE/2/3/4 parameter is used for -hw and it's not really clear to me whether the default will choose an Intel ARC over CPU.   The idea here is to offload processing from the CPU of course (QuickSync, not software implementation).

 

Conclusion is this all seems to be a bit of a mess, and I should just play with it and find out. 

 

 

Thank you.

JaideepK_Intel
Moderator
201 Views

Hi,

 

Good day to you.

 

VPL Dispatcher dispatches the application to use either the VPL GPU runtime or the Media SDK GPU Runtime. VPL dispatcher can be used with legacy(pre-Xe) and newer (Xe or more advanced) hardware if only the core features or core APIs are used. Here are some examples of some simple VPL features that have been implemented using coreAPIs: https://github.com/oneapi-src/oneVPL/tree/master/examples/coreAPI

 

Regarding the last question of whether VPL will select ARC GPU over CPU, VPL dispatcher walks through all the available runtime libraries (libmfx-gen, libvplswref) available and returns a sorted list of VPL implementations which are associated with specific Hardware based on performance score and specified codec. So VPL will always choose an Intel ARC over a CPU.

 

If this resolves your issue, make sure to accept this as a solution. This would help others with similar issue. Thank you!

 

Regards,

Jaideep

 

RobinsonUK
Beginner
192 Views

Marvellous.  That is what I wanted to know.  Thanks.

JaideepK_Intel
Moderator
180 Views

Hi,


Glad to know that your issue is resolved. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.


Thanks,

Jaideep


Reply