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 SW decoder crash

koby_s_
Beginner
545 Views

Hi

I am using the HEVC software plugin to decode a live stream.

The decoder randomly crashes (sometimes i got ~15000 decoded frames ~10 minutes and late I managed to get ~46200 decoded frames = ~30 minutes. the frame rate is 25 FPS). I just re-run my application without any changes...

I don't do anything (right now) with the output, just wanted to test the stability of my code using the SW decoder.

I use the same code to decode live AVC stream and so far it never crashed.

callstack (if it helps...)

>    mfxplugin64_hevcd_sw.dll!00007ff84567af67()    Unknown
     mfxplugin64_hevcd_sw.dll!00007ff84567ab2d()    Unknown
     mfxplugin64_hevcd_sw.dll!00007ff845675183()    Unknown
     mfxplugin64_hevcd_sw.dll!00007ff8456615c7()    Unknown
     mfxplugin64_hevcd_sw.dll!00007ff8456622be()    Unknown
     mfxplugin64_hevcd_sw.dll!00007ff845660be4()    Unknown
     mfxplugin64_hevcd_sw.dll!00007ff845649088()    Unknown
     mfxplugin64_hevcd_sw.dll!00007ff84561876d()    Unknown
     mfxplugin64_hevcd_sw.dll!00007ff84561861b()    Unknown
     libmfxsw64.dll!00007ff83f29e32f()    Unknown
     libmfxsw64.dll!00007ff83f5b10f7()    Unknown
     libmfxsw64.dll!00007ff83f5b129e()    Unknown
     [External Code]    

 

Any idea what can cause the crash?

Thank you

Koby

 

0 Kudos
6 Replies
Surbhi_M_Intel
Employee
545 Views

Hi Koby, 

It's hard to analyze with above limited information, can you please provide us more information about the system variables and environment. 

  • CPU, GPU, OS info. Please send us system analyzer logs.
  • Are you using MediaServerStudio windows version or Media SDK version?
  • Is you application sample_decode based. Can you please try to reproduce the issue using sample_decode which can be looped and H264, H265 can be used?
  • Also, please send us media sdk tracer logs which capture MediaSDK API calls. This should be able to provide us more insights. 

Thanks,
Surbhi

0 Kudos
koby_s_
Beginner
545 Views

Hi Surbhi
Thank you for your response.

OS :windows 10 pro
CPU : Core i7-3632QM
GPU : Intel graphics HD4000

I am using MediaServerStudio professional evalutaion

My application is based on sample_multi_transcode.

The source is live mpegts containing HEVC (3840x2160, 59.94FPS, 25mbps, 10bit) + AAC. My application demultiplex the source and pushes the video frames to the decoder.
for some reason (probably performance issue, CPU is ~95% - I don't think my machine can decode 4k HEVC video quick enough using the sw decoder), it takes too long and the compressed frames queue becoming full(I hold max 200 compressed frames = ~3.3 seconds of video)
When the queue overflows, I drop the new frame(s).
It looks like the decoder can't recover from a broken GOP and crashes.

My guess is that I will have to reset the decoder for every frame I drop but restarting the decoder is an expensive operation that will cause more frames to drop.
Is there any way for the decoder to fail without crashing?

Attached are the logs of the system analyzer and the decoding session (it crashed after ~20 seconds, with ~200 dropped frames)

Thank you
Koby

0 Kudos
Surbhi_M_Intel
Employee
545 Views

Hi Koby, 

Thanks for sharing system details. Few points to note here -
Media Server Studio 2015 R6 supports 4th and 5th generation, so
Core i7-3632QM is not a supported configurations. 
Also, Media Server Studio doesn't support windows 10 OS. The set up has a discrete graphics card, in the past it has been reason of some crashes/failures. To make sure I understand your application, you are using sample_multi_transcode to decode hevc 4k stream and encoding to h264 or h265 codec? Can you please copy the cmd line you are using, have you made any changes to sample_multi_transcode? On windows using MSS pro there are two decode implementation -sw or hybrid. 

Any other system you have where you can test this application. If we can reproduce this issue on supported configuration then it's definitely an issue on our side and needs debugging. Also, Will it be possible for you to run the application without discrete graphics card to rule out any discrete card issue possibilities?

I have taken a quick look at tracer logs, will give in depth look and get back if I find anything interesting. 

Thanks,
Surbhi

 

 

 

0 Kudos
koby_s_
Beginner
545 Views

Hi Surbhi

I don't think changing the machine to a compatible one is necessary - my goal is to run my application on a cloud machine where I don't have hw acceleration at all and I am going to use the sw implementation only.

I am not using sample_multi_transcode. I used sample_multi_transcode as a reference for my live transcoder application.

My application is using the software implementation and uses system memory.
right now, I didn't start the encoder . it just decodes the input frames
 
In any case, I will try to find a compatible machine and test it again.
 
Thank you
Koby
0 Kudos
Surbhi_M_Intel
Employee
545 Views

Since your last crash happened within few seconds then we might can try different scenarios to find the culprit - 

  • Use sample_decode to check the stability. If it fails it will eliminate any issue in your application. 
  • Try smaller resolution stream i.e 720p or lesser using your application on IVB, instead of running 4K video and see if you run into same issue. 
  • Just wondering if your cloud server will be windows 10, our HEVC sw package validation has been done on windows 8.1 and CentOS, so if we can reproduce the issue on them it should be fine.  

In the end if you can reproduce the issue on a supported system with supported OS, that will definitely help.

Thanks,
Surbhi

 

0 Kudos
koby_s_
Beginner
545 Views

Hi Surbhi

sample_decode does not crash since it's reading from a file. As I mentioned before my guess is that the decoder crashes because I drop frames from my live source (probably because performance issues, cpu was ~95%) and the decoder does not receive full GOP.

I tried to decode with my application a live HEVC 720p25 source and it was working fine (CPU% was ~50% which is not that high...). My app didn't drop any frame and the decoder didn't crash during the test.

My cloud server will be CentOS.

Thank you

Koby

0 Kudos
Reply