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

Question for INDE Media sdk with previous HEVC SW plugin

yura_k_
Beginner
177 Views
  • Product version  - INDE Update2 (Media SDK for Windows 6.0.0.388)
  • Platform you are building on – Windows 8.1 64bit  VisualStudio 2013. build for WIN32 enviroment

Hi. now I'm working for upgrading MediaSDK from 2013R3 to 2015 to support  HEVC HW decoding.

However I'm having a difficulty for HEVC SW plug-in loading.

My application was developed with MediaSDK 2013R3 and HEVC SW codec plugin at win32 enviroment.
So I changed all header and lib from INDE's Media SDK for Windows 6.0.0.388 and changed some plug-in loading code.
(plugin_loader.h is totally different with previous version(2013r3))

Here is my code------------------------------------------------------------------------------

msdk_so_handle m_PluginModule = msdk_so_load(L"mfxplugin32_hevcd_sw.dll");

   // Load Create function
   PluginModuleTemplate::fncCreateDecoderPlugin pCreateFunc = (PluginModuleTemplate::fncCreateDecoderPlugin)msdk_so_get_addr(m_PluginModule, "mfxCreateDecoderPlugin");

   MFXDecoderPlugin *m_pPlugin;
   m_pPlugin = (*pCreateFunc)();

   mfxPlugin plg;
   MSDK_ZERO_MEMORY(plg);
   plg = make_mfx_plugin_adapter(m_pPlugin);
   
   sts = MFXVideoUSER_Register(session, MFX_PLUGINTYPE_VIDEO_DECODE, &plg);

-------------------------------------------------------------------------------------------------------

 

However when i call 'MFXVideoUSER_Register', it return MFX_ERR_UNKNOWN(-1)

Here is trace log-------------------------------------------------------------------------------

8100 2015-11-25 15:55:7 function: MFXVideoUSER_Register(mfxSession session=012AC298, mfxU32 type=1, mfxPlugin *par=0102DB94) +
8100 2015-11-25 15:55:7     mfxSession session=012CAA84
8100 2015-11-25 15:55:7     mfxU32 type=1
8100 2015-11-25 15:55:7     par.pthis=01314BD8
8100 2015-11-25 15:55:7     par.PluginInit=010E1EC9
8100 2015-11-25 15:55:7     par.PluginClose=010E171C
8100 2015-11-25 15:55:7     par.GetPluginParam=010E1785
8100 2015-11-25 15:55:7     par.Submit=00000000
8100 2015-11-25 15:55:7     par.Execute=010E10A5
8100 2015-11-25 15:55:7     par.FreeResources=010E1582
8100 2015-11-25 15:55:7     par.reserved[]={ CCCCCCCC, CCCCCCCC, CCCCCCCC, CCCCCCCC, CCCCCCCC, CCCCCCCC, CCCCCCCC, CCCCCCCC }

8100 2015-11-25 15:55:7 >> MFXVideoUSER_Register called
8100 2015-11-25 15:55:7     mfxSession session=012CAA84
8100 2015-11-25 15:55:7     mfxU32 type=1
8100 2015-11-25 15:55:7     par.pthis=01314BD8
8100 2015-11-25 15:55:7     par.PluginInit=010E1EC9
8100 2015-11-25 15:55:7     par.PluginClose=010E171C
8100 2015-11-25 15:55:7     par.GetPluginParam=010E1785
8100 2015-11-25 15:55:7     par.Submit=00000000
8100 2015-11-25 15:55:7     par.Execute=010E10A5
8100 2015-11-25 15:55:7     par.FreeResources=010E1582
8100 2015-11-25 15:55:7     par.reserved[]={ CCCCCCCC, CCCCCCCC, CCCCCCCC, CCCCCCCC, CCCCCCCC, CCCCCCCC, CCCCCCCC, CCCCCCCC }

8100 2015-11-25 15:55:7 function: MFXVideoUSER_Register(0.235479 msec, status=MFX_ERR_UNKNOWN) -

 

----------------------------------------------------------------------------------------------------------

 

Please give me advise.

Thanks advance.

 

0 Kudos
3 Replies
Jeffrey_M_Intel1
Employee
177 Views

Are you able to use the plugin from the samples, such as sample_decode?  Any luck testing the 64 bit version with the samples?

yura_k_
Beginner
177 Views

No. I'm now testing at sample_decode for verify the code.
The code I post is modified part from sample_decode.

Plugin dll(mfxplugin32_hevcd_sw.dll) is not registed on the Windows, so I thought I have to use MFXVideoUser_Register function instead of MFXVideoUser_Load, which is only function  at sample_decode.
(I got this info from 'mediasdkusr-man.pdf' in INDE Media SDK folder.)

 

For 64 bit version, I already checked SW HEVC decoding work fine with registed plug-in. (Media Server Studio professional was used)
But, there is no SW HEVC 32bit plug-in so now I'm testing with INDE Media SDK.

Is combination of INDE's Media SDK and previous plug-in bad idea?
I thought It's possible to use by backward compatibility.

 I don't want to discard SW HEVC plugin because of HW HEVC support.

 

 

yura_k_
Beginner
177 Views

I tested sample_decode code with 64bit un-registed such as with -path option but I fail.

So, I modifiied plugin_loader.h code with MFXVideoUSER_Register instead of MFXVideoUSER_Load.
And I got success until MFXVideoDECODE_DecodeHeader.

MFXVideoDECODE_DecodeHeader returns MFX_ERROR_UNKNOWN(-1).

Can I get sample code for un-registed plug-in ? If I could, where?

Thanks advance.

Reply