MFXInit with MFX_IMPL_SOFTWARE makes a lot of unnecessary/undesirable ponderous actions.
Let's look at mfx_dispatch code.
MFXLibraryIterator::Init() assigns MFX_IMPL_VIA_ANY to m_implInterface, then calls dxvaDevice.InitD3D9().
And only then MFXLibraryIterator::SelectDLLVersion() refuses current libIterator.
Why? I've asked for software implementation! I don't want to load-use-unload a lot of d3d9.dll/igdumd32.dll/nvd3dum.dll/etc libraries...
That is valid feedback. We'll explore how to improve this for Media SDK 2014.
BTW. The Media SDK dispatcher is open source. You can, if you want, make your own changes and build for your specific needs.
I have already changed the dispatcher for my needs.
1. I do not think a good idea to examine and modify mfx_dispatch on each new sdk release.
2. I want other developers to be benefited.
So I'll be glad to see those changes in the next sdk release. Thank you!