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.

HEVC decode fail

yiling_w_1
Beginner
4,233 Views
installed media SDK version:w_inde_2015.1.021.exe
installed sample version:MediaSamples_Windows_6.0.0.36.msi
command line:sample_decode h265 -i 2_ParkJoy_1080p25.h265 -o 2_ParkJoy_1080p25.yuv
 
plugin_loader.h :153 [ERROR] Failed to load plugin from GUID, sts=-9: { 0x15, 0xdd, 0x93, 0x68, 0x25, 0xad, 0x47, 0x5e, 0xa3, 0x4e, 0x35, 0xf3, 0xf5, 0x42, 0x17
, 0xa6 } (Intel (R) Media SDK plugin for HEVC DECODE)
 
Return on error: error code -3, src\pipeline_decode.cpp 235
Return on error: error code 1,  src\sample_decode.cpp   448
 
is't means i should download HEVC package? so where to download it? 
0 Kudos
1 Solution
Harshdeep_B_Intel
4,233 Views

Hi,

I am assuming you are trying HEVC HW decode and also have latest graphics drivers installed correctly. HEVC HW decode requires a plugin MFX_PLUGIN_HEVCD_HW.  Run the following command line:

sample_decode h265 –i InputHEVCfile.265 –o outputfile.ext –hw –p 33a61c0b4c27454ca8d85dde757c6f8e –d3d -w (width) –h (height) –b (bitrate).

But, if you are trying HEVC SW decode, then please download the Media Server studio (MSS): https://software.intel.com/en-us/intel-media-server-studio, MSS package includes HEVC SW plugin.

Thanks,

View solution in original post

0 Kudos
19 Replies
Harshdeep_B_Intel
4,234 Views

Hi,

I am assuming you are trying HEVC HW decode and also have latest graphics drivers installed correctly. HEVC HW decode requires a plugin MFX_PLUGIN_HEVCD_HW.  Run the following command line:

sample_decode h265 –i InputHEVCfile.265 –o outputfile.ext –hw –p 33a61c0b4c27454ca8d85dde757c6f8e –d3d -w (width) –h (height) –b (bitrate).

But, if you are trying HEVC SW decode, then please download the Media Server studio (MSS): https://software.intel.com/en-us/intel-media-server-studio, MSS package includes HEVC SW plugin.

Thanks,

0 Kudos
yiling_w_1
Beginner
4,233 Views
Hi Harsh,
follow your instruction,it's work now.but the decode FPS is limited(can't get 60FPS each way).run the following command line:
 
start /b sample_decode h265 -i 1_ParkJoy_1080p25.h265 -p 33a61c0b4c27454ca8d85dde757c6f8e -hw -d3d11 -f 60 -wall 1 1 0 0 1 100000
start /b sample_decode h265 -i 2_ParkJoy_1080p25.h265 -p 33a61c0b4c27454ca8d85dde757c6f8e -hw -d3d11 -f 60 -wall 1 1 0 1 1 100000
 
 
then i find the CPU usage=44%; EU usage(in GPA tool)=99%; MFX usage(in GPA tool)=0%.so i think MFX is not work even in HW mode.that's different from H264.it's right? and which platform would support MFX decode in H265? my test CPU is I7-4770,and the system is WIN8.1-64.
 
0 Kudos
Harshdeep_B_Intel
4,233 Views

Hi,

So, the above command is for HEVC HW decode. This runs on GPU unit of our graphics device accelerators mean on EU's. Hence you are seeing high EU usage on GPA tool. Also, sample_decode is more of a starting point to build the application, you make multiple calls to HW using the function call from sample_decode  and parallelize the threads to achieve the desired FPS each way.

So, to have MFX usage is for a SW solution of HEVC codec. This requires a SW HEVC plugin. HEVC SW plugin is part of Media Server studio(MSS) proffessional edition : 

GUID, sts=-9: { 0x15, 0xdd, 0x93, 0x68, 0x25, 0xad, 0x47, 0x5e, 0xa3, 0x4e, 0x35, 0xf3, 0xf5, 0x42, 0x17

, 0xa6 } (Intel (R) Media SDK plugin for HEVC DECODE)

Download MSS from https://software.intel.com/en-us/intel-media-server-studio. After installation run the same sample_decode with replacing -hw by -sw and -p 15dd936825ad475ea34e35f3f54217. In this case as it will be SW decode, you should be seeing MFX usage and increase in CPU usage. I would like to point that there will be a performance hit on SW decode.

Thanks,

0 Kudos
yiling_w_1
Beginner
4,233 Views
Hi Harsh:
 
still confuse.
in H264 modecommand line:start /b sample_decode h264 -i 2_ParkJoy_1080p25.h264 -hw -d3d11 -f 60),the MFX usage is increased,but the EU usage almost does not increased.
in H265 mode(command line:start /b sample_decode h265 -i 2_ParkJoy_1080p25.h265 -p 33a61c0b4c27454ca8d85dde757c6f8e -hw -d3d11 -f 60),the EU usage is increased,but the MFX usage remain at 0%.
so it seams as if  they call different graphic resources for decode about h264 and h265,right? what caused this phenomenon? and which platform would support call MFX in h265 decode mode just like h264?
0 Kudos
Harshdeep_B_Intel
4,233 Views

Hi,

I would like explain the difference between the solutions in detail to remove the confusion. Currently hevc solution is a hybrid solution where workloads are running on GPU unit or CPU unit at a specific time. This hybrid solution is implemented in form of plugin model hence (-p) in the command. When I say plugin in model for HEVC, plugin sits on top of DXVA which calls DXVA in turns which calls the HW for the decode. But, in case of H.264 this is implemented along with DXVA solution hence it directly has access to HW and no plugin is required.

HEVC whitepaper explains in detail: https://software.intel.com/sites/default/files/managed/3b/f2/Intel_HEVCwhitepaper_v1.45_06Apr2015.pdf

Currently we donot have hevc solution similar to h264 solution, meaning with out the plugin in model. This mainly is supported(hevc solution) via dxva and graphic drivers and not mainly dependent on platform assuming you are using Ivybridge and above. Hope this provides an understanding into hevc solution.

Thanks, 
 

 

0 Kudos
yiling_w_1
Beginner
4,233 Views
Hi Harsh:
 
got it.the key point is media SDK.
so do you have plan to release the new version of media SDK that call MFX resource when hevc decode(similar with currently h264 decode and without plugin)?if you have,when?
i need the information to plan the new projects.
TKS.
0 Kudos
diamantis__nikos
4,233 Views

MFX usage has nothing to do with SW decoding.

MFX is the HW engine inside the iGPU - the ASIC called QuickSync - that it's responsible for pure hardware decoding (not hybrid)

That ASIC (QuickSync) even in Haswell and Broadwell iGPUs, doesn't support HEVC decoding.

Haswell and Broadwell only support hybrid HEVC decoding and SW HEVC decoding with 0% MFX usage in both cases.

In order to use the MFX engine (QuickSync ASIC) you have to wait for Skylake, the next 6th generation Core Processors which should have HEVC HW decoding in iGPU (MFX engine - pure not hybrid)

0 Kudos
yiling_w_1
Beginner
4,233 Views

Hi Harsh and Nikos:

understand now,tks.
however,i encounter another issue, using the following command line:
start /b sample_decode h265 -i 1_ParkJoy_1080p25.h265 -p 33a61c0b4c27454ca8d85dde757c6f8e -hw -d3d11 -f 60 -wall 2 1 0 0 1 100000
start /b sample_decode h265 -i 2_ParkJoy_1080p25.h265 -p 33a61c0b4c27454ca8d85dde757c6f8e -hw -d3d11 -f 60 -wall 2 1 1 0 1 100000
in the begin the system run normally,but it would be hang on after a while.and the symptom is easily to be duplicated.
the attached picture is the system information.
0 Kudos
Harshdeep_B_Intel
4,233 Views

Hi,

I highly suggest against the above scenario of running Application 1(sample_decode1) and Application 2(sample_decode2) in parallel in that method and hang may be due to resources not properly allocated required for completion for Application 1 and Application 2.

I suggest inside your application you make parallel call by initializing and running Application1 and wait some time for decode to complete and plugin is released and then initialize and begin Application2. As this way, plugin resources will be available for Application2. As, I mentioned in previous posts, HEVC decode implementation is a hybrid solution via plugin method.

Thanks,

0 Kudos
yiling_w_1
Beginner
4,233 Views
Hi Harsh:
 
How to implement it?
that would be grateful if you can pass me a modified sample_decode.exe to fix this issue.
0 Kudos
Sravanthi_K_Intel
4,233 Views

Hi Yiling,

It looks like you are trying to enable video wall using sample_decode. The commands that you are issuing seem alright (you can take a look at  path_to_samples/_bin/<arch>/sample_video_wall.bat file to verify that). FYI - I have attached the sample_video_wall.bat file modified to match your video wall scenario, and tested it on my system (h265 and h264 - it worked fine when I tested for a few minutes).

"it would be hang on after a while.and the symptom is easily to be duplicated" --> Can you please let me know what is your system config (system, OS, Media SDK version, driver etc.,).? And after how long are you seeing the GPU hang?

Can you verify the video wall with h264 instead of h265? For one, the performance of h265 (hybrid and sw) is very different from h264. H264 is a mature codec and we have ASIC for implementing (as Nikos rightly pointed) unlike H265. So, please try a video wall with H264 and see if you are observing the issue. In addition, please provide above details for H265 video wall as well.

Hope this helps. 

0 Kudos
yiling_w_1
Beginner
4,233 Views
Hi,
 
(1)Can you verify the video wall with h264 instead of h265?---->it works fine.
command line as follow(no  -p 33a61c0b4c27454ca8d85dde757c6f8e):

start /b sample_decode h264 -i 1_ParkJoy_1080p25.h264 -hw -d3d11 -f 60 -wall 2 1 0 0 1 100000

start /b sample_decode h264 -i 2_ParkJoy_1080p25.h264 -hw -d3d11 -f 60 -wall 2 1 1 0 1 100000

 

(2)if i run H265 command line respectively,it works fine too(no matter which one).but if i run the two command lines at the same time, the system would be hang(no specific time,but very quickly).

start /b sample_decode h265 -i 1_ParkJoy_1080p25.h265 -p 33a61c0b4c27454ca8d85dde757c6f8e -hw -d3d11 -f 60 -wall 2 1 0 0 1 100000

start /b sample_decode h265 -i 2_ParkJoy_1080p25.h265 -p 33a61c0b4c27454ca8d85dde757c6f8e -hw -d3d11 -f 60 -wall 2 1 1 0 1 100000

 

(3)Using the attachment that you provided to replace the sample_video_wall.bat file, but the the symptom still exist(hang again).

(4)you can see the attached picture for the detailed system config(including system,CPU,graphic driver,media SDK version,decode sample version, the command line even the scenario etc)

0 Kudos
Sravanthi_K_Intel
4,233 Views

Hi Yiling - thanks for the input. I tried to replicate the issue on my system (1.15 API on Win 8.1), but was not able to see the GPU hang so far. I tried it on D3D9 and D3D11 as well. I used the batch script I attached.

The one difference I see in our experiments is the driver: you are using 4170 while I am using 4171. In any case, i recommend you upgrade to 4171 as its the latest driver. Can you please let me know if you are seeing this issue with the latest driver as well?

One more request - when you say the "GPU is hang", what error are you observing? Can you please give a screenshot for that as well?Thanks.

Meantime, if there is more information, will surely update you.

0 Kudos
yiling_w_1
Beginner
4,233 Views
 
re-install the graphic driver(just update the version from 4170 to 4170),the system work normal.so the batch file that you provided is useful.sorry for trouble you so long.
 
one more question,if i want to use SW HEVC decode solution in windows 8.1-64,do i need to download a separate pack or SW HEVC decode is included with INDE? 
0 Kudos
Sravanthi_K_Intel
4,233 Views

Hi Yiling, Very glad the issue is fixed.

The SW HEVC plugins are available via the Media Server Studio Professional version - https://software.intel.com/en-us/intel-media-server-studio/try-buy

Send me a message if you need more details. Thanks!

0 Kudos
liujun_l_
Beginner
4,233 Views

Hi,

I'm trying to run the sampe_decode in INDE, my hardware is Core M5y70, graphic is HD5300,

my runtime parameter is set as

h265 -i input -o test.yuv -hw -p 33a61c0b4c27454ca8d85dde757c6f8e

but I got the following failure:

plugin_loader.h :157 [INFO] Plugin was loaded from GUID

Return on error: error code -3, src\pipeline_decode.cpp 641


Return on error: error code -3, src\pipeline_decode.cpp 287


Return on error: error code 1,  src\sample_decode.cpp   496

plugin_loader.h :183 [INFO] MFXBaseUSER_UnLoad(session=0x000000FD9EF735C0), sts=
0

I checked that -3 is unsupported feature, does it mean my hardware not support this feature, or I did something wrong? 

 

thanks

0 Kudos
Sravanthi_K_Intel
4,233 Views

Hi there - Please ensure the input stream is elementary stream. Please let us know what is your full system config, driver being used, samples version you are using.

And kindly start a new thread with your question so that we monitor it and track it separately. Piling on existing threads will lead to confusion. Thanks for understanding.

0 Kudos
Roman_T_
New Contributor I
4,233 Views

Hi all!

As I know Skylake is already available.
Is it possible to decode h265 elementary stream in HW mode, similar to h264 ?

 

Best regards,
Roman 

0 Kudos
Surbhi_M_Intel
Employee
4,233 Views

Hi Roman, 

Yes you can download Media SDK 2016 package(windows only) support 6th generation processor(codename Skylake). Look at this sticky note for details on how to run HEVC encode/decode on SKL. 
Let us know if you have any question on your above query and please start a new thread for any new questions in future so that it can be tracked seperately. 

Thanks,
Surbhi

0 Kudos
Reply