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.

Live H264 decoding with DecodedOrder=1

ABoxe
Beginner
892 Views

Hello,

I would like to use the Media SDK + gstreamer plugin for h264 decode of live RTSP streams.

I am currently testing 2018 R2 release with gstreamer plugin on Windows + Skylake (HD 530)

I see a lot of dropped frames, and I see in the plugin code

DecodedOrder = 1

but this is deprecated. Does this still work ? Because I still see dropped frames when this parameters is set to 1.

 

Thanks

Aaron

0 Kudos
6 Replies
Dmitry_E_Intel
Employee
892 Views

Hi Aaron,

Yes, officially it's deprecated. However the code which handles DecodedOrder is not removed and, in general, should work. BTW, what is the reason you use DecodedOrder mode?  

Regards,

Dmitry

0 Kudos
ABoxe
Beginner
892 Views

Thanks, Dmitry. I am trying to reduce latency as much as possible for a live stream. So, DecodeOrder=1 will prevent re-ordering the frames.  See also https://software.intel.com/en-us/forums/intel-media-sdk/topic/704136 for a similar constraint.

0 Kudos
ABoxe
Beginner
892 Views

Is the SDK suitable for low-latency streaming? I understand that it is heavily multi-threaded, which may increase latency.

0 Kudos
Dmitry_E_Intel
Employee
892 Views

I remember that topic. I described what brings output latency in https://software.intel.com/en-us/forums/intel-media-sdk/topic/704136#comment-1907522 . Latency comes not from multi-threading but from reordering and DPB bumping logic which works according to the information from the bistream.  DecodedOrder mode indeed allows to disable this logic but it's actually a hack. This is the reason why DecodedOrder has been deprecated. On the other hand, I know that MSDK users use DecodedOrder in applications. 

Please attach the bistream where you observe dropped frames, I'll take a look.

0 Kudos
ABoxe
Beginner
892 Views

Thanks very much, Dmitry. When I run a software decoder (libav) then there is no frame dropping, so apparently latency in software is better than hardware. But,of course, I am using GStreamer, so there are many other moving parts besides decoder.

0 Kudos
ABoxe
Beginner
892 Views

Hi Dmitry,

Here is a capture bit stream of the live stream. I don't have access to the original bit stream

Aaron

0 Kudos
Reply