I use Nvidia GPU for hardware decoding on TK1, and then i found that copying the data output from the omxh264dec will result in high CPU consumption(overall CPU consumption about 55%) and if display directly, the CPU consumption is low(overall CPU consumption about 10%), so my question is that how to copy the data output from the omxh264dec without incleasing CPU consumption?
Gstreamer pipeline as below:
1.copy the data output from the omxh264dec
gst-launch-1.0 -v rtspsrc user-id=admin user-pw=ms1234 location=rtsp://192.168.200.122/main ! rtph264depay ! h264parse ! omxh264dec ! nvvidconv ! ‘video/x-raw, format=(string)I420’ ! filesink location=./test.yuv
display directly the data output from the omxh264dec
gst-launch-1.0 -v rtspsrc user-id=admin user-pw=ms1234 location=rtsp://192.168.200.122/main ! rtph264depay ! h264parse ! omxh264dec ! nvhdmioverlaysink -e
Will consume so much CPU((overall CPU consumption about 55%)) for making video/x-raw(memory:NVMM) become video/x-raw is normal? Because i am worried that i use the wrong way and there is a way that copying the data output from the omxh264dec consume low CPU consumption?
Setting CPU to performance mode is very helpful, after doing this, the CPU consumption from 55% to 20%, so i think this is the root cause of high CPU consumption.
PS: In fact my purpose is not to save as file but callback HW decoding data