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.

Regarding mfxIMPL Usage

shashwat_D_
Beginner
338 Views

Hi,

Please Can someone clarify what is the usage of mfxIMPL datastructure?

Decoding sample app has a code line:

mfxIMPL impl = MFX_IMPL_HARDWARE;

Does this means the decoder runs on the GPU only.

If I change the MFX_IMPL_HARDWARE to MFX_IMPL_SOFTWARE, will the decoder run on CPU only?

0 Kudos
3 Replies
Sravanthi_K_Intel
338 Views

The Media SDK provides APIs that can be executed on either core (SW implementation), or on the GPU/fixed-function-logic (HW-accelerated Implementation), depending on the system and its capabilities. 

"mfxIMPL impl" -> Use software, or hardware or best available implementation. We recommend using MFX_IMPL_HARDWARE, or MFX_IMPL_AUTO if you are unsure of the underlying driver support. If MFX_IMPL_AUTO is specified on a system that does not support HW acceleration, then the SW impl is automatically used as default. Hope this helps.

0 Kudos
shashwat_D_
Beginner
338 Views

Thanks Sravanthi,

Can you tell HW implementation uses what technology under the hood, openCL or DirectX?

and, Does specifying mfxIMPL as HW ensures the decoder is running on GPU/Accelerated device?

0 Kudos
Sravanthi_K_Intel
338 Views

Hello Shashwat,

On Windows, HW Impl uses DirectX, and for Linux it uses VAAPI. If the underlying system supports HW decode, then yes, specifying mfxIMPL as HW will run on the hardware, You can use the mediasdk_system_analyzer_64 tool in the tools/ folder to check if your system has the necessary HW required underneath. It prints information as attached.

If you would like to use OpenCL, you have to use it as a plugin today. You can find the sample here - https://software.intel.com/en-us/intel-media-server-studio-support/code-samples

0 Kudos
Reply