H.264 Decoder DirectShow Filter and MFX_IMPL

H.264 Decoder DirectShow Filter and MFX_IMPL


As the title of my post suggests, I'm looking for some tips to check and possibly to change the implementation selected by the H264 DS filter.
I have read that it's possible if I use the Media SDK directly without Direct Show, for instance:

mfxSession session;
MFXInit(MFX_IMPL_AUTO, 0, &session);
mfxIMPL impl;
MFXQueryIMPL(session, &impl);
if (impl==MFX_IMPL_SOFTWARE) printf(Software Implementationn);
if (impl==MFX_IMPL_HARDWARE) printf(Hardware implementationn);

Is there any interface to query wich implementation is used ?



4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Best Reply

There is no actual interface on DShow sample filter which methods can be called. But filters write a flag IsHWMfxLibin the Windows registry underHKEY_CURRENT_USER\Software\Intel\Media SDK Sample FiltersIsHWMfxLib. The flag is set to 1 if hw Media SDK library was used. Additionally there is a flagIsEncode(Decode)PartiallyAccelerated which is set to 1 if a software fallback code path was working inside hw library.
Hope this is sufficient for you.

Thanks Nina.

I have found the registry key and it is indeed set to FALSE (so I have no doubt about why the decoding performances were low).

I have post another thread about where is the dll used to the hardware decoding (I have only found the one for software decoding and maybe this is link to the IsHWMFxLib value).

Thanks again,



Hi Olivier,
Please find my answer in this threadhttp://software.intel.com/en-us/forums/showthread.php?t=84586&p=1#155756

Leave a Comment

Please sign in to add a comment. Not a member? Join today