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.
3075 Discussions

Quick question about ARC support and legacy SDK.

RobinsonUK
New Contributor I
1,899 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
Employee
1,519 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
Employee
1,870 Views

Hi,


Thank you for posting in Intel communities.


Could you please explain which software you are using?


Thanks,

Jaideep


0 Kudos
RobinsonUK
New Contributor I
1,869 Views

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

0 Kudos
JaideepK_Intel
Employee
1,801 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.html).

 

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


0 Kudos
RobinsonUK
New Contributor I
1,794 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.

0 Kudos
JaideepK_Intel
Employee
1,520 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
New Contributor I
1,511 Views

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

0 Kudos
JaideepK_Intel
Employee
1,499 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


0 Kudos
Reply