DS3 - Support for custom CUDA plugin to operate directly on device memory (NVMM)

Hi, I’m new to Deepstream, and relatively new to gstreamer. I am considering implementing the following pipeline:

src -> nvstreamdemux -> nvdec_h264 -> MY_GPU_ELEMENT -> nvvidconv -> MY_CPU_ELEMENT -> ... -> sink

Given that the output cap of nvdec_h264 is NVMM, can I make a gstreamer element that runs directly on the NVMM buffer without having to copy to host? I intend for the MY_GPU_ELEMENT to run custom CUDA kernels.

If this is possible, would you recommend that I follow gstreamer’s documentation on creating a custom plugin, or is there a Nvidia-specific process?


nvstreammux is for batch processing streams.
nvstreamdemux is for separating the batch streams. It’s not audio/video demux.

You can refer to “DeepStream_Release/sources/gst-plugins/gst-dsexample”