Nvv4l2decoder frame skip explanation

With this setup:
• Hardware Platform GPU
• DeepStream Version 5

I noticed that despite configuring decoder to skip frames via drop-frame-interval and skip-frames, it’s somehow doesn’t affect the maximum number of streams that could be decoded.

Also, the interesting thing is that when using OpenCV one could launch far more streams than with the direct use of Gstreamer. Moreover, decoder utilization won’t increase more than approximately 60%. It seems that some mechanism inside OpenCV is able to drop frames without any app crashes.

Could anyone explain internal decoder mechanism to skip frames?

I don’t know how do you use opencv to decode compressed video streams, so I can’t tell you the difference.

For the deepstream decoder nvv4l2decoder, the capability of decoding is decided by the HW. Please refer to the decoder/encoder matrix here. Video Encode and Decode GPU Support Matrix [NEW] | NVIDIA Developer

“drop-frame-interval” just skips the decoded frames output but not the decoding processing. “skip-frames” can skip non-reference frames decoding, so it will save some decoding capability.

Thank you for the answer.

Sorry, I wasn’t specific enough. In OpenCV I used the same Gstreamer-pipeline string as with gst_parse_launch in my c++ app.

So they are the same.

Yes, but somehow OpenCV manages to really constrain utilization, even when there are far more streams than should be supported by the decoder. At the same time when I directly use Gstreamer in my cpp app, it simply crashes after reaching 100% of utilization.

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.

We don’t know what happens with opencv, but for deepstream, can you provide enough information for us to reproduce the crash?

• Hardware Platform (Jetson / GPU)
• DeepStream Version
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs)
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)