MFXInit just fails with MFX_ERR_UNSUPPORTED

MFXInit just fails with MFX_ERR_UNSUPPORTED

Roman Ryltsov's picture

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:

{ 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);

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?

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Tony Pabon (Intel)'s picture

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

-Tony
Roman Ryltsov's picture

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.

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]

Roman

Tony Pabon (Intel)'s picture

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

-Tony
Roman Ryltsov's picture

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.

Login to leave a comment.