Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU)
T4
• DeepStream Version
5.0
• JetPack Version (valid for Jetson only)
NA
• TensorRT Version
7.0.0.11
• NVIDIA GPU Driver Version (valid for GPU only)
440.64.00
• Issue Type( questions, new requirements, bugs)
In deepstream_test_1.py, the GST graph is nvstreammux -> nvinfer
. I modified that to nvstreammux -> nvvideoconvert -> capsfilter -> nvinfer
. But NVMM constraint in capsfilter is causing failure.
nvvidconv = Gst.ElementFactory.make("nvvideoconvert", "convertor")
if not nvvidconv:
sys.stderr.write(" Unable to create nvvidconv \n")
nvvidconv.set_property('src-crop', '448:273:243:172')
nvcaps0 = Gst.ElementFactory.make('capsfilter', 'caps0')
nvcaps0.set_property('caps', Gst.Caps.from_string('video/x-raw(memory:NVMM), width=224, height=224'))
I am doing a zone crop + caps. With the NVMM I get streaming stopped, reason not-negotiated (-4)
error. When I remove the video/x-raw(memory:NVMM)
portion the app works fine. The output of nvstreammux seems to be NVMM though.
With the NVMM removed, things work but there is a question. Output of nvvidconv is 243x172. But the capsfilter has 224x224 as the constraint. And capsfilter is supposed to not modify the image in any way. How does this constraint really work? Is this discrepancy the root cause for NVMM not being allowed?