Media (Intel® 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 Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.
3072 Discussions

Question for INDE Media sdk with previous HEVC SW plugin

yura_k_
Beginner
416 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
416 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?

0 Kudos
yura_k_
Beginner
416 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.

 

 

0 Kudos
yura_k_
Beginner
416 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.

0 Kudos
Reply