Media (Intel® oneAPI 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
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

Encode RGB4 to JPEG


I implement a pipeline VPP + ENC. VPP converts RGB4 data to NV12 and ENC encodes NV12 to JPEG, and I put libmfxsw.dll in the same directory as the execution file. It works on the most of Intel graphic platform. But I have an old platform, its graphic is Intel HD Graphics 3000 and Intel Media SDK version is 1.4. If I call MFXInitEx() with MFX_IMPL_HARDWARE_ANY,  it failed when calling  mfxENC->QueryIOSurf() the error code is MFX_ERR_UNSUPPORTED.  If I call MFXInitEx() with MFX_IMPL_SOFTWARE, it failed  on calling mfxVPP->Init (), the error code is MFX_ERR_INVALID_VIDEO_PARAM. I found the Media SDK doesn't load the libmfxsw.dll  but load libmfxhw.dll. The libmfxhw.dll  locates at c:\Program Files(x86)\Intel\Media SDK\ .  If I remove the libmfxhw.dll then everything works fine. I also try to load libmfxsw.dll before calling MFXInitEx, it doesn't work.

How can I  force the SDK to  load the libmfxsw.dll even the Intel Media SDK is installed?

0 Kudos
1 Reply

Hi There,

Because of your platform and MSDK version is so old, it is hardly get support for each new version will be added new fixes.

By this issue, I think you may try to study mfx_dispatch, it is in charge the dll loading, and it is opensouce can be found in MSDK install direction.  

Help it can help.