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.

MFXInit just fails with MFX_ERR_UNSUPPORTED

Roman_Ryltsov
Beginner
1,129 Views
I have seen a couple of related threads, where specific sample or API failed to work or initialize due to missing hardware capabilities:


I, too, encountered a similar problem and Media SDK based code did not work in particular systems. However now I am trying to do a simpler thing, just MFXInit (actually, no more than this) like this:

[cpp]{ 1, 0, MFX_IMPL_AUTO, _T("MFX_IMPL_AUTO") },
{ 1, 0, MFX_IMPL_SOFTWARE, _T("MFX_IMPL_SOFTWARE") },
{ 1, 1, MFX_IMPL_AUTO, _T("MFX_IMPL_AUTO") },
{ 1, 1, MFX_IMPL_SOFTWARE, _T("MFX_IMPL_SOFTWARE") },
{ 1, 3, MFX_IMPL_AUTO, _T("MFX_IMPL_AUTO") },
{ 1, 3, MFX_IMPL_SOFTWARE, _T("MFX_IMPL_SOFTWARE") },
// ...
for(SIZE_T nIndex = 0; nIndex < _countof(g_pMap); nIndex++)
{
	mfxVersion Version;
	Version.Major = g_pMap[nIndex].nMajorVersion;
	Version.Minor = g_pMap[nIndex].nMinorVersion;
	mfxSession Session;
	mfxStatus nStatus = MFXInit(g_pMap[nIndex].Implementation, &Version, &Session);
[/cpp]

In some Windows (various OS versions) systems I have w_MSDK-2012_p_3.0.014_GOLD package installed (I hope the SDK version is clear from this) and the output is:

Version 1.0, Implementation MFX_IMPL_AUTO: MFX_ERR_UNSUPPORTED
Version 1.0, Implementation MFX_IMPL_SOFTWARE: MFX_ERR_UNSUPPORTED
Version 1.1, Implementation MFX_IMPL_AUTO: MFX_ERR_UNSUPPORTED
Version 1.1, Implementation MFX_IMPL_SOFTWARE: MFX_ERR_UNSUPPORTED
Version 1.3, Implementation MFX_IMPL_AUTO: MFX_ERR_UNSUPPORTED
Version 1.3, Implementation MFX_IMPL_SOFTWARE: MFX_ERR_UNSUPPORTED

It looks like regardless of API version and/or software only implmenetation request the initialization fails. Is it something expected, and behavior by design?

I am interested - this time - in H.264 decoding. I realize that this specific part might be hardware dependent, but as I am hitting the error just trying to initialize session, it looks more like a bug.

Is there anything I am doing wrong, updates or workarounds?
0 Kudos
4 Replies
Anthony_P_Intel
Employee
1,129 Views
Hi,

For software implementation on a system with MediaSDK 2012 installedyou should see MFXInit succeed.

Do you see the same problem trying to execute the sample console applications (For example sample_decode.exe)?

Also, can you try running the debug tools in the \Tools directory. They may indicate an issue with the installation.

-Tony
0 Kudos
Roman_Ryltsov
Beginner
1,129 Views
Tony,

Thsi is what I did:

  1. Installed Win32 Intel Media SDK (3.0.014) from .MSI; it went fine and only gave a warning about something unavailable due it being an XP system (perhaps Media Foundation compatibility notice)
  2. sample_decode fails to start being unable to find Direct3DCreate9Ex entry point; this function is indeed not available because this is Windows XP SP3
  3. sample_dshow fails to play, however could transcode MPEG-2 into MPEG-4
  4. console Win32 app which only consists of MFXInit reports error as described above, though the same binary works fine in other systems
  5. tools\mediasdk_sys_analyzer (see below) says API 1.3 SW is available
  6. tools\mediasdk_tracer crashes immediately with access violation
Initially the MFXInit problem was noticed in another Windows 7 system and I believe it is not limited to Windows XP.

[plain]Intel Media SDK System Analyzer (32 bit)


The following versions of Media SDK API are supported by platform/driver:

	Version	Target	Supported	Dec	Enc
	1.0	HW	No		 	 
	1.0	SW	Yes		X	X
	1.1	HW	No		 	 
	1.1	SW	Yes		X	X
	1.3	HW	No		 	 
	1.3	SW	Yes		X	X
	1.3	AUTO	SW	(max API version of installed SDK)


Graphics Devices:
	Name                                         Version             State
	Mobile Intel 945 Express Chipset Family   6.14.10.4906        
	Mobile Intel 945 Express Chipset Family   6.14.10.4906        

System info:
	CPU:	         Intel Atom CPU N280   @ 1.66GHz
	OS:	Microsoft Windows XP Professional
	Arch:	
Installed Media SDK packages (be patient...processing takes some time):


Tips:
 - HW target does not work: If you expect it should, then make sure to install
   latest Intel gfx driver, and that Intel gfx is selected as primary driver
 - If Intel driver is associated with secondary adapter, make sure to
   initialize DirectX device used with Media SDK with corresponding adapter


Analysis complete... [press ENTER]
[/plain]

Roman

0 Kudos
Anthony_P_Intel
Employee
1,129 Views
Hi Roman,

Windows XP is not a supported operating system.

Also, please be aware that even if a supported OS is used (Windows 7), hardware acceleration will not be available thruthe Media SDK for platorms based on Intel Atom CPU N280 @ 1.66GHz.
(This may have been the MFXInit issue you saw when using Windows 7.)

If you have any issue using software with Windows7, please provide information.
Thanks.

-Tony
0 Kudos
Roman_Ryltsov
Beginner
1,129 Views
The problem seems to be related to being able to find software implementation library (libmfxsw32.dll). Supposedly, once SDK is installed, the library location is pointed to by environment settings updated by installer, but not immediately propagated through applications.

That is, one has to make sure the DLL is on the path (esp. if your application is a library itself and you need the Intel dll to be on path for the application which hosts your library). Another thing I checked out and it might be helpful if someone gets in the same trap, that you can preload the DLL with LoadLibrary API from whatever location is, and Media SDK dispatcher will pick it up and work from there.
0 Kudos
Reply