Jetson TX2 Gstreamer Hardware Decoder GPU Usage Problem


My English is not that great.

I created a gstreamer pipeline including omxh264dec.

But GPU is not used, only CPU is used.

why can’t use hardware decorder?

pipeline = gst_pipeline_new (“rtsp video player”);

source = gst_element_factory_make (“rtspsrc”, “rtsp-source”);
depay = gst_element_factory_make (“rtph264depay”, “depay”);
parse = gst_element_factory_make (“h264parse”, NULL);
decode = gst_element_factory_make (“omxh264dec”, NULL);
sink = gst_element_factory_make (“appsink”, NULL);

There is independent hardware decode engine called NVDEC. You can check it in sudo tegrastats.

Thank you for answer.

I use jtop. jtop is system monitoring utility for jetson.

I think NVDEC is GPU in jtop. Is that right?

I can see that NVDEC is activated while gstreamer program code is running.

but GPU is almost zero and CPUs is between 30% and 50%.

I use new-sample signal and callback function to get a raw yuv data.

Can it be a problem if I don’t add “video/x-raw” to pipeline?


No, it is independent hardware block. You can check technical reference manual for hardware architecture.

For CPU usage, if you get video/x-raw buffers in appsink, it takes certain CPU loading.