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.

Regarding mfxIMPL Usage

shashwat_D_
Beginner
101 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
101 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.

shashwat_D_
Beginner
101 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?

Sravanthi_K_Intel
101 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

Reply