Where is HEVC hardware accelerated plugin located.

Where is HEVC hardware accelerated plugin located.

Hello,

I have installed the new Intel(R)_Media_SDK_2016.0.1 and only the following files are present (in bin win32/x64):
Screen capture plugin: 22d62c07e672408fbb4cc20ed7a053e4
CameraPipe plugin: 54542616243341e693ae899942ce7355
Audio software decoder: libmfxaudiosw64.dll
H264 software decoder: libmfxsw64.dll

I also have installed Intel(R) Media Server Studio 2015 R6 and it has ONLY x64 lib's and dll's:
Plugin HEVC software DECODER: 15dd936825ad475ea34e35f3f54217a6/mfxplugin64_hevcd_sw.dll

My questions are:

According to this post https://software.intel.com/en-us/forums/intel-media-sdk/topic/550926 there has been at some point another plugin for HEVC hardware decoder.
1 - Where is it now? i can not locate it any more.
2 - Only x64 lib's are available, where can i find win32(x86) lib's?

What we need is DECODING only for H264/H265(HEVC) Hardware and Software and in x86/x64 configurations.

We are currently using the libmfxsw64.dll and libmfxhw64.dll to decode H264 with hardware acceleration.

3 - Are the above dll's still to be used for H264 or will the H264 decoding be changed to plugin logic as well.

As a bonus question could you specify how to get/buy HEVC decoder hw/sw without the 1000 frames restriction and to be able to distribute it (i have contacted your sales email 2 weeks ago regarding sales/license but have not had any reply yet).

Best regards,

Artur Magaljan. 

 

 

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

Hi Artur, 

I don't have the information which hardware you have access to, but let me try to explain MSDK client and Media Server Studio support. That might answer few of your questions above. 

Media Server Studio support Linux and windows OS, target for server and cloud based Industry. Generally, installs in this directory - C:\Program Files\Intel\Intel(R) Media Server Studio 2015 R6 , support only 64bit, hence 64 dll's and libs.(no 32 bit support)
Currently there are 2 HEVC implementations - sw and hybrid(Gacc) part of Media Server Studio Professional package, you can find these plugin in HEVC Decoder & Encoder directory. 

Media SDK 2016 supports windows OS and target for client usage. generally, installs in C:\Program Files (x86)\IntelSWTools\Intel(R)_Media_SDK_2016.0.1, has support to both 32 bit and 64 bit. 
HEVC HW decode plugin works as a hybrid plugin for hardware below 6th generation(Skylake) and fully hw accelerated for 6th generation(codename as Skylake). You can find details of plugin in mfxplugin.h, guid for HEVC hw decode plugin - 33a61c0b4c27454ca8d85dde757c6f8e 

H264 implementation will remain same and will not be changed to plugin model in both Media SDK and Media Server Studio package. 

Sorry, that you didn't hear back from anyone. Will send you an email to discuss more about buying HEVC package and the hardware you are planning to work on. 

Thanks,
Surbhi

Hello Surbhi,

Thank you for the quick reply.

Here are some details about the hardware:
OS: Windows 10
CPU Type: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz

But i also have a Skylake CPU that i will be testing on. the thing is that i installed the Media Server Studio Pro (the trial version) and have the plugin 15dd936825ad475ea34e35f3f54217a6.However i can not find the 33a61c0b4c27454ca8d85dde757c6f8e folder. 

Is this because it is the same dll in the 15dd936825ad475ea34e35f3f54217a6 folder (mfxplugin64_hevcd_sw.dll) that is used`?

The way i need to use it is by loading the plugin using the MFXVideoUSER_LoadByPath function. so currently i am loading by using the sample_decode:

h265 -sw -i inFile.h265 -o out.yuv -p 15dd936825ad475ea34e35f3f54217a6 -path "E:\some random path here\15dd936825ad475ea34e35f3f54217a6\mfxplugin64_hevcd_sw.dll"

and this works. so I assumed that to be able to use 33a61c0b4c27454ca8d85dde757c6f8e I would need to have another DLL for pure  hardware acceleration.

When loading the plugin is it my software that has to check the generation of CPU and load the correct plugin or will the SDK automatically "fallback" to the software implementation?

so would i need some code like this (pseudo code):

if (CPU < generation 6)
{
  load 15dd936825ad475ea34e35f3f54217a6
}
else
{

  load 33a61c0b4c27454ca8d85dde757c6f8e
}
 

or can i just do this:

load 33a61c0b4c27454ca8d85dde757c6f8e (and internally in intel SDK 15dd936825ad475ea34e35f3f54217a6 is loaded is cpu < generation 6)

?

 

 

Best Regards

Artur.

 

 

Hi Artur, 

Let me try to explain how hw hevc decode plugin and let me know if it works for you. 
33a61c0b4c27454ca8d85dde757c6f8e is a hw decode plugin defined in mfxplugin.h, available at <installed directory\Software Development Kit\include> and implemented through driver so you didn't see the plugin in the "HEVC Decoder and Encoder" directory like sw plugin.
So if you load this plugin on a system 4th or 5th generation like  i7-4770K then it will use HEVC decode hybrid implementation(which means using both Core and GPU) whereas if you use the same plugin on 6th generation, it will use hw implementation i.e. using GPU(FF logic only, EU are free for other task). You can check this using one of the GPU/CPU utilization tool i.e. Vtune Amplifier available in pro package or Intel GPA tool. Hence, the psuedo code should be like load hw decode plugin, if fail to load hw plugin then load sw plugin as a backup to execute. 
Check plugin_utils.cpp file available in sample_common to  see the code for how HEVC plugins are loaded. 

Hope this clarifies your above query.
Also, I have send an email to discuss buying HEVC plugin. Let me know if you haven't recieved my email. 

Thanks,
Surbhi

 

 

 

Hello Surbhi,

Thank you for info. I have seen the 33a61c0b4c27454ca8d85dde757c6f8e definition, however what i want to know is where do i find the actual plugin DLL. I have installed the Media SDK 2016 and MediaServerStudioPro (trial version). and the only actual plugin DLL is 15dd936825ad475ea34e35f3f54217a6 (<install dir>\Intel(R) Media Server Studio 2015 R6\HEVC Decoder & Encoder\Plugin\15dd936825ad475ea34e35f3f54217a6\mfxplugin64_hevcd_sw.dll)

so I assume there should somewhere be a mfxplugin64_hevcd_HW.dll(i guess the name here) as well for the 33a61c0b4c27454ca8d85dde757c6f8e plugin?

Or are both plugins contained in the same DLL?

Best Regards,

Artur

Best Reply

Hi Artur, 

Let me take a different approach to address your questions. 

I have seen the 33a61c0b4c27454ca8d85dde757c6f8e definition, however what i want to know is where do i find the actual plugin DL.

-> This (33a61c0b4c27454ca8d85dde757c6f8e) is a HW plugin, as my colleague Surbhi mentioned in previous comment, HW plugins are shared and distributed via our Graphics drivers, hence if you want to know where is the actual plugin, it is part of dll libraries at this location ( <OS installed directory>\Program Files\Intel\Media SDK"), for both 32/64 bit. 

Both plugins are not at the same location, again HEVC SW plugin are distributed via MediaServerStudio which is 15dd936825ad475ea34e35f3f54217a6 (<install dir>\Intel(R) Media Server Studio 2015 R6\HEVC Decoder & Encoder\Plugin\15dd936825ad475ea34e35f3f54217a6\mfxplugin64_hevcd_sw.dll) and HW plugins is via graphics driver. Hope that clears your doubts. 

Thanks, 

 

 

Hi Harish,

 

Thank you for the information. So as I understand I should:
For HW decoding of HEVC: do not need to distribute any plugin/dll as it is in the driver.,
For SW decoding of HEVC: I need to obtain the full licensed version of the 15dd936825ad475ea34e35f3f54217a6 plugin/dll and distribute it with my application.

One more question: Does the 33a61c0b4c27454ca8d85dde757c6f8e plugin have a "fallback" if the machine does not support HW decoding, og is this handled only by 15dd936825ad475ea34e35f3f54217a6 plugin?

 

 

Thank you,

Artur.

Hi Artur, 

For HW decoding of HEVC: do not need to distribute any plugin/dll as it is in the driver., - YES
For SW decoding of HEVC: I need to obtain the full licensed version of the 15dd936825ad475ea34e35f3f54217a6 plugin/dll and distribute it with my application.- YES

Does the 33a61c0b4c27454ca8d85dde757c6f8e plugin have a "fallback" if the machine does not support HW decoding, og is this handled only by 15dd936825ad475ea34e35f3f54217a6 plugin?

-> HW plugins are HW (machine) dependent. So, if machine does not support HW HEVC decoding, then fallback to SW is  handled only by 15dd936825ad475ea34e35f3f54217a6 plugin and is required. Hope that answers your question. 

Thank you very much Harsh :).

 

I think i have no more questions for now :D

 

best regards,

Artur.

Great, then let us close this thread for you. If any further questions, please feel free to start a new thread on the forum. 

Thanks, 

Leave a Comment

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