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.

MFX_ERR_UNSUPPORTED for MFXInit with MFX_IMPL_SOFTWARE

jwregme
Beginner
814 Views

I've developed a video encoding project with IMSDK 2013 which works fine on my workstation. (Xeon W3550)

Now I've tested encoding on another workstation (Core i5) and the program exits with error -3. I get MFX_ERR_UNSUPPORTED for MFXInit with MFX_IMPL_SOFTWARE. I found out where this problem occurred by debugging the project after copying the ProgramFiles/Intel/ folder from my workstation to the other and setting the include and lib paths.
Running the sysanalyzer shows me that I'd be able to use software implementations up to 1.6.

To check if something's missing on the workstation I installed the IMSDK 2013 R2 from: http://software.intel.com/en-us/vcsource/tools/media-sdk

This didn't help either. However, after positioning the include and lib paths to IMSDK 2013 R2 everything works fine!

These two lines of code get executed first and yield the error -3 (stored in sts):

[cpp]mfxVersion SWversion = {0,1}, HWversion = {0,1};

mfxStatus sts = MFXInit(MFX_IMPL_SOFTWARE, &SWversion, &SWsession);[/cpp]

My questions are now:
What is the problem with this particular workstation and my project compiled with IMSDK 2013?
Has something changed in release R2 that is related to my problem?
Did I miss some frameworks or dependencies which I should've installed on the other workstation?
How can I assure that something like this won't happen in the future?

Thank you a lot in advance for your help! 

0 Kudos
8 Replies
OTorg
New Contributor III
814 Views

Put libmfxsw32.dll/libmfxsw64.dll beside with your application on target machine?

0 Kudos
jwregme
Beginner
814 Views

I'll try this out!

I've tested my code on other workstations on which HD graphics drivers are installed. On these workstations I didn't have any problems.

Do I always have to provide libmfxsw32.dll/libmfxsw64.dll? Why didn't my original code run after installing the R2 SDK? (I assume compiling with R2 will handle the dependency to libmfxsw32.dll/libmfxsw64.dll?)

0 Kudos
OTorg
New Contributor III
814 Views

   - I've tested my code on other workstations on which HD graphics drivers are installed. On these workstations I didn't have any problems.
- It looks like libmfxhw32.dll/libmfxhw64.dll (shipped with HD graphics driver) was used on that machines.

   - Do I always have to provide libmfxsw32.dll/libmfxsw64.dll? Why didn't my original code run after installing the R2 SDK? (I assume compiling with R2 will handle the dependency to libmfxsw32.dll/libmfxsw64.dll?)
- Looks like you need to learn what is header/lib/dll in general at first, then PATH system variable, then application distribution foundations.
Also it would be nice to read docs from \Media SDK 2013 R2\doc folder.

I'm sorry if I misunderstood your skills...

0 Kudos
jwregme
Beginner
814 Views

Thanks for your reply!

What I do not understand is why R1 compiled code would not run on the machine after installing R2 SDK. Shouldn't the PATH system variable set during the R2 SDK installation let my R1 application load the libmfxsw32.dll/libmfxsw64.dll? As it would for the R2 compilation?

0 Kudos
OTorg
New Contributor III
814 Views

Examine PATH variable on a destination machine. Do you see something like "C:\Program Files\Intel\Media SDK 2013 R2\bin\win32" there?

PS: it is quite enough to put libmfxsw32.dll/libmfxsw64.dll beside with your application on target machine, no need to install whole SDK there.

0 Kudos
jwregme
Beginner
814 Views

I've got the PATH variable on my machine but will need to check on the destination machine when I'm able (it's not at my office).

I'll remember to include libmfxsw32.dll/libmfxsw64.dll when deploying my application!

Thanks for your help!

0 Kudos
jwregme
Beginner
814 Views

I guess that this will also avoid issues if some newer SDK version or HD graphics version gets installed while the application still uses the libmfxsw32.dll/libmfxsw64.dll from an older SDK...

0 Kudos
OTorg
New Contributor III
814 Views

Read imsdk documentation (mediasdk-distrib.pdf, Intel_Media_Developers_Guide.pdf, etc) about dispatcher, look \opensource\mfx_dispatch code...

0 Kudos
Reply