GstCUDA - Example - cudafilter: NVMM direct mapping
Problems running the pipelines shown on this page? |
← |
⌂ Home |
→ |
This page gives a set of test pipelines to use cudafilter element for NVMM direct mapping mode.
Contents
- 1 Gray-scale filter CUDA library algorithm
- 1.1 1080p 60fps capture to display (in-place=true)
- 1.2 4K 60fps capture to display (in-place=true)
- 1.3 720p 60fps videotestsrc to display (in-place=true)
- 1.4 1080p 60fps capture to display (in-place=false)
- 1.5 4K 60fps capture to fakesink (in-place=false)
- 1.6 720p 60fps videotestsrc to display (in-place=false)
- 2 HW accelerated memcpy CUDA library algorithm
- 2.1 1080p 60fps capture to display (in-place=true)
- 2.2 4K 60fps capture to display (in-place=true)
- 2.3 720p 60fps videotestsrc to display (in-place=true)
- 2.4 1080p 60fps capture to display (in-place=false)
- 2.5 4K 60fps capture to fakesink (in-place=false)
- 2.6 720p 60fps videotestsrc to display (in-place=false)
These examples will only run in JetPack 3.0 and below. For newer JetPack versions, please refer to https://developer.ridgerun.com/wiki/index.php?title=GstCUDA_-_Example_-_cudafilter:_Unified_memory_allocator
The perf element can be downloaded from this repository. Otherwise, the element can be removed from the pipeline without any issues.
Gray-scale filter CUDA library algorithm
1080p 60fps capture to display (in-place=true)
Example pipeline
gst-launch-1.0 nvcamerasrc queue-size=10 sensor-id=0 fpsRange='60 60' ! "video/x-raw(memory:NVMM),width=1920,height=1080,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1920,height=1080,format=I420,framerate=60/1" ! cudafilter in-place=true location=./gray-scale-filter.so ! perf print-arm-load=true ! nvoverlaysink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:02:13.615967657; Bps: 776; fps: 60.0; CPU: 8;
GST-PERF INFO --> Timestamp: 0:02:14.632537582; Bps: 763; fps: 60.3; CPU: 8;
GST-PERF INFO --> Timestamp: 0:02:15.632844549; Bps: 776; fps: 60.0; CPU: 8;
GST-PERF INFO --> Timestamp: 0:02:16.649615644; Bps: 763; fps: 60.3; CPU: 9;
GST-PERF INFO --> Timestamp: 0:02:17.666065311; Bps: 763; fps: 60.3; CPU: 12;
GST-PERF INFO --> Timestamp: 0:02:18.682560220; Bps: 763; fps: 60.3; CPU: 12;
GST-PERF INFO --> Timestamp: 0:02:19.699122957; Bps: 763; fps: 60.3; CPU: 11;
GST-PERF INFO --> Timestamp: 0:02:20.699298792; Bps: 776; fps: 60.0; CPU: 11;
GST-PERF INFO --> Timestamp: 0:02:21.715510459; Bps: 763; fps: 60.3; CPU: 11;
GST-PERF INFO --> Timestamp: 0:02:22.715910009; Bps: 776; fps: 60.0; CPU: 11;
4K 60fps capture to display (in-place=true)
Example pipeline
gst-launch-1.0 nvcamerasrc queue-size=10 sensor-id=0 fpsRange='60 60' ! "video/x-raw(memory:NVMM),width=3840,height=2160,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=3840,height=2160,format=I420,framerate=60/1" ! cudafilter in-place=true location=./gray-scale-filter.so ! perf print-arm-load=true ! nvoverlaysink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:03:56.819087040; Bps: 776; fps: 60.0; CPU: 16;
GST-PERF INFO --> Timestamp: 0:03:57.825121037; Bps: 771; fps: 59.64; CPU: 13;
GST-PERF INFO --> Timestamp: 0:03:58.837141233; Bps: 766; fps: 59.28; CPU: 14;
GST-PERF INFO --> Timestamp: 0:03:59.849401695; Bps: 766; fps: 59.28; CPU: 14;
GST-PERF INFO --> Timestamp: 0:04:00.859525079; Bps: 768; fps: 59.40; CPU: 13;
GST-PERF INFO --> Timestamp: 0:04:01.871618207; Bps: 766; fps: 59.28; CPU: 15;
GST-PERF INFO --> Timestamp: 0:04:02.883459413; Bps: 767; fps: 59.34; CPU: 15;
GST-PERF INFO --> Timestamp: 0:04:03.894646509; Bps: 767; fps: 59.34; CPU: 14;
GST-PERF INFO --> Timestamp: 0:04:04.906216370; Bps: 767; fps: 59.34; CPU: 14;
GST-PERF INFO --> Timestamp: 0:04:05.917121183; Bps: 768; fps: 59.40; CPU: 14;
720p 60fps videotestsrc to display (in-place=true)
Example pipeline
gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,width=1280,height=720,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1280,height=720,format=I420,framerate=60/1" ! cudafilter in-place=true location=./gray-scale-filter.so ! perf print-arm-load=true ! nvoverlaysink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:12:29.994184572; Bps: 776; fps: 60.0; CPU: 18;
GST-PERF INFO --> Timestamp: 0:12:31.010495933; Bps: 763; fps: 60.3; CPU: 18;
GST-PERF INFO --> Timestamp: 0:12:32.010535558; Bps: 776; fps: 60.0; CPU: 18;
GST-PERF INFO --> Timestamp: 0:12:33.027377442; Bps: 763; fps: 60.3; CPU: 18;
GST-PERF INFO --> Timestamp: 0:12:34.044071960; Bps: 763; fps: 60.3; CPU: 18;
GST-PERF INFO --> Timestamp: 0:12:35.044204013; Bps: 776; fps: 60.0; CPU: 19;
GST-PERF INFO --> Timestamp: 0:12:36.044224584; Bps: 776; fps: 60.0; CPU: 19;
GST-PERF INFO --> Timestamp: 0:12:37.060451742; Bps: 763; fps: 60.3; CPU: 19;
GST-PERF INFO --> Timestamp: 0:12:38.060585805; Bps: 776; fps: 60.0; CPU: 19;
GST-PERF INFO --> Timestamp: 0:12:39.060628072; Bps: 776; fps: 60.0; CPU: 18;
1080p 60fps capture to display (in-place=false)
Example pipeline
gst-launch-1.0 nvcamerasrc queue-size=10 sensor-id=0 fpsRange='60 60' ! "video/x-raw(memory:NVMM),width=1920,height=1080,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1920,height=1080,format=I420,framerate=60/1" ! cudafilter in-place=false location=./gray-scale-filter.so ! nvvidconv ! perf print-arm-load=true ! nvoverlaysink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:05:46.167015649; Bps: 776; fps: 60.0; CPU: 20;
GST-PERF INFO --> Timestamp: 0:05:47.167023874; Bps: 776; fps: 60.0; CPU: 18;
GST-PERF INFO --> Timestamp: 0:05:48.183394748; Bps: 763; fps: 60.3; CPU: 19;
GST-PERF INFO --> Timestamp: 0:05:49.183590994; Bps: 776; fps: 60.0; CPU: 23;
GST-PERF INFO --> Timestamp: 0:05:50.183618490; Bps: 776; fps: 60.0; CPU: 27;
GST-PERF INFO --> Timestamp: 0:05:51.184194423; Bps: 776; fps: 60.0; CPU: 45;
GST-PERF INFO --> Timestamp: 0:05:52.200942016; Bps: 763; fps: 60.3; CPU: 46;
GST-PERF INFO --> Timestamp: 0:05:53.216856380; Bps: 764; fps: 60.9; CPU: 45;
GST-PERF INFO --> Timestamp: 0:05:54.217181741; Bps: 776; fps: 60.0; CPU: 46;
GST-PERF INFO --> Timestamp: 0:05:55.217598561; Bps: 776; fps: 60.0; CPU: 46;
4K 60fps capture to fakesink (in-place=false)
Example pipeline
gst-launch-1.0 nvcamerasrc queue-size=10 sensor-id=0 fpsRange='60 60' ! "video/x-raw(memory:NVMM),width=3840,height=2160,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=3840,height=2160,format=I420,framerate=60/1" ! cudafilter in-place=false location=./gray-scale-filter.so ! perf print-arm-load=true ! fakesink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:08:40.062814951; Bps: 12330624; fps: 59.46; CPU: 22;
GST-PERF INFO --> Timestamp: 0:08:41.074953852; Bps: 12294071; fps: 59.28; CPU: 23;
GST-PERF INFO --> Timestamp: 0:08:42.087998326; Bps: 12281934; fps: 59.23; CPU: 22;
GST-PERF INFO --> Timestamp: 0:08:43.097597957; Bps: 12330624; fps: 59.46; CPU: 22;
GST-PERF INFO --> Timestamp: 0:08:44.109302715; Bps: 12306231; fps: 59.34; CPU: 25;
GST-PERF INFO --> Timestamp: 0:08:45.120250840; Bps: 12318415; fps: 59.40; CPU: 22;
GST-PERF INFO --> Timestamp: 0:08:46.132807638; Bps: 12294071; fps: 59.28; CPU: 23;
GST-PERF INFO --> Timestamp: 0:08:47.144759986; Bps: 12306231; fps: 59.34; CPU: 21;
GST-PERF INFO --> Timestamp: 0:08:48.154396985; Bps: 12330624; fps: 59.46; CPU: 22;
GST-PERF INFO --> Timestamp: 0:08:49.167064442; Bps: 12294071; fps: 59.28; CPU: 23;
GST-PERF INFO --> Timestamp: 0:08:50.178082366; Bps: 12306231; fps: 59.34; CPU: 23;
720p 60fps videotestsrc to display (in-place=false)
Example pipeline
gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,width=1280,height=720,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1280,height=720,format=I420,framerate=60/1" ! cudafilter in-place=false location=./gray-scale-filter.so ! nvvidconv ! perf print-arm-load=true ! nvoverlaysink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:16:38.724108163; Bps: 763; fps: 60.3; CPU: 12;
GST-PERF INFO --> Timestamp: 0:16:39.724682234; Bps: 776; fps: 60.0; CPU: 12;
GST-PERF INFO --> Timestamp: 0:16:40.740983855; Bps: 763; fps: 60.3; CPU: 12;
GST-PERF INFO --> Timestamp: 0:16:41.740991843; Bps: 776; fps: 60.0; CPU: 11;
GST-PERF INFO --> Timestamp: 0:16:42.757944147; Bps: 763; fps: 60.3; CPU: 12;
GST-PERF INFO --> Timestamp: 0:16:43.758090059; Bps: 776; fps: 60.0; CPU: 12;
GST-PERF INFO --> Timestamp: 0:16:44.774079094; Bps: 764; fps: 60.9; CPU: 12;
GST-PERF INFO --> Timestamp: 0:16:45.774631002; Bps: 776; fps: 60.0; CPU: 12;
GST-PERF INFO --> Timestamp: 0:16:46.774633540; Bps: 776; fps: 60.0; CPU: 13;
GST-PERF INFO --> Timestamp: 0:16:47.791021283; Bps: 763; fps: 60.3; CPU: 12;
HW accelerated memcpy CUDA library algorithm
1080p 60fps capture to display (in-place=true)
Example pipeline
gst-launch-1.0 nvcamerasrc queue-size=10 sensor-id=0 fpsRange='60 60' ! "video/x-raw(memory:NVMM),width=1920,height=1080,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1920,height=1080,format=I420,framerate=60/1" ! cudafilter in-place=true location=./memcpy.so ! perf print-arm-load=true ! nvoverlaysink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:19:39.222044712; Bps: 763; fps: 60.3; CPU: 12;
GST-PERF INFO --> Timestamp: 0:19:40.222362703; Bps: 776; fps: 60.0; CPU: 11;
GST-PERF INFO --> Timestamp: 0:19:41.222364533; Bps: 776; fps: 60.0; CPU: 12;
GST-PERF INFO --> Timestamp: 0:19:42.238761022; Bps: 763; fps: 60.3; CPU: 11;
GST-PERF INFO --> Timestamp: 0:19:43.255579257; Bps: 763; fps: 60.3; CPU: 10;
GST-PERF INFO --> Timestamp: 0:19:44.255680715; Bps: 776; fps: 60.0; CPU: 9;
GST-PERF INFO --> Timestamp: 0:19:45.272253134; Bps: 763; fps: 60.3; CPU: 8;
GST-PERF INFO --> Timestamp: 0:19:46.288675431; Bps: 763; fps: 60.3; CPU: 8;
GST-PERF INFO --> Timestamp: 0:19:47.288955264; Bps: 776; fps: 60.0; CPU: 7;
GST-PERF INFO --> Timestamp: 0:19:48.305432418; Bps: 763; fps: 60.3; CPU: 7;
4K 60fps capture to display (in-place=true)
Example pipeline
gst-launch-1.0 nvcamerasrc queue-size=10 sensor-id=0 fpsRange='60 60' ! "video/x-raw(memory:NVMM),width=3840,height=2160,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=3840,height=2160,format=I420,framerate=60/1" ! cudafilter in-place=true location=./memcpy.so ! perf print-arm-load=true ! nvoverlaysink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:21:09.056777389; Bps: 771; fps: 60.63; CPU: 17;
GST-PERF INFO --> Timestamp: 0:21:10.057380551; Bps: 776; fps: 60.0; CPU: 13;
GST-PERF INFO --> Timestamp: 0:21:11.058196962; Bps: 776; fps: 60.0; CPU: 16;
GST-PERF INFO --> Timestamp: 0:21:12.074104172; Bps: 764; fps: 60.9; CPU: 16;
GST-PERF INFO --> Timestamp: 0:21:13.074630372; Bps: 776; fps: 60.0; CPU: 15;
GST-PERF INFO --> Timestamp: 0:21:14.091400223; Bps: 763; fps: 60.3; CPU: 15;
GST-PERF INFO --> Timestamp: 0:21:15.097895519; Bps: 771; fps: 59.64; CPU: 14;
GST-PERF INFO --> Timestamp: 0:21:16.110965925; Bps: 766; fps: 59.23; CPU: 14;
GST-PERF INFO --> Timestamp: 0:21:17.121792522; Bps: 768; fps: 59.40; CPU: 14;
GST-PERF INFO --> Timestamp: 0:21:18.132254616; Bps: 768; fps: 59.40; CPU: 13;
720p 60fps videotestsrc to display (in-place=true)
Example pipeline
gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,width=1280,height=720,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1280,height=720,format=I420,framerate=60/1" ! cudafilter in-place=true location=./memcpy.so ! perf print-arm-load=true ! nvoverlaysink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:22:07.386021069; Bps: 764; fps: 64.3; CPU: 20;
GST-PERF INFO --> Timestamp: 0:22:08.386441053; Bps: 776; fps: 60.0; CPU: 20;
GST-PERF INFO --> Timestamp: 0:22:09.386539808; Bps: 776; fps: 60.0; CPU: 18;
GST-PERF INFO --> Timestamp: 0:22:10.403048527; Bps: 763; fps: 60.3; CPU: 20;
GST-PERF INFO --> Timestamp: 0:22:11.419435652; Bps: 763; fps: 60.3; CPU: 20;
GST-PERF INFO --> Timestamp: 0:22:12.436397894; Bps: 763; fps: 60.3; CPU: 22;
GST-PERF INFO --> Timestamp: 0:22:13.436511097; Bps: 776; fps: 60.0; CPU: 22;
GST-PERF INFO --> Timestamp: 0:22:14.452705935; Bps: 763; fps: 60.3; CPU: 22;
GST-PERF INFO --> Timestamp: 0:22:15.453137400; Bps: 776; fps: 60.0; CPU: 21;
GST-PERF INFO --> Timestamp: 0:22:16.469405139; Bps: 763; fps: 60.3; CPU: 21;
1080p 60fps capture to display (in-place=false)
Example pipeline
gst-launch-1.0 nvcamerasrc queue-size=10 sensor-id=0 fpsRange='60 60' ! "video/x-raw(memory:NVMM),width=1920,height=1080,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1920,height=1080,format=I420,framerate=60/1" ! cudafilter in-place=false location=./memcpy.so ! nvvidconv ! perf print-arm-load=true ! nvoverlaysink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:23:01.138137454; Bps: 767; fps: 59.34; CPU: 22;
GST-PERF INFO --> Timestamp: 0:23:02.154873022; Bps: 763; fps: 60.3; CPU: 26;
GST-PERF INFO --> Timestamp: 0:23:03.171479180; Bps: 763; fps: 60.3; CPU: 29;
GST-PERF INFO --> Timestamp: 0:23:04.188158165; Bps: 763; fps: 60.3; CPU: 25;
GST-PERF INFO --> Timestamp: 0:23:05.188244497; Bps: 776; fps: 60.0; CPU: 21;
GST-PERF INFO --> Timestamp: 0:23:06.188254958; Bps: 776; fps: 60.0; CPU: 22;
GST-PERF INFO --> Timestamp: 0:23:07.204520450; Bps: 763; fps: 60.3; CPU: 19;
GST-PERF INFO --> Timestamp: 0:23:08.204789584; Bps: 776; fps: 60.0; CPU: 20;
GST-PERF INFO --> Timestamp: 0:23:09.204948578; Bps: 776; fps: 60.0; CPU: 20;
GST-PERF INFO --> Timestamp: 0:23:10.221653172; Bps: 763; fps: 60.3; CPU: 20;
4K 60fps capture to fakesink (in-place=false)
Example pipeline
gst-launch-1.0 nvcamerasrc queue-size=10 sensor-id=0 fpsRange='60 60' ! "video/x-raw(memory:NVMM),width=3840,height=2160,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=3840,height=2160,format=I420,framerate=60/1" ! cudafilter in-place=false location=./memcpy.so ! perf print-arm-load=true ! fakesink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:24:09.089973138; Bps: 12294071; fps: 64.22; CPU: 26;
GST-PERF INFO --> Timestamp: 0:24:10.101478081; Bps: 12306231; fps: 59.34; CPU: 21;
GST-PERF INFO --> Timestamp: 0:24:11.113397407; Bps: 12306231; fps: 59.34; CPU: 20;
GST-PERF INFO --> Timestamp: 0:24:12.124119254; Bps: 12318415; fps: 59.40; CPU: 21;
GST-PERF INFO --> Timestamp: 0:24:13.135918813; Bps: 12306231; fps: 59.34; CPU: 22;
GST-PERF INFO --> Timestamp: 0:24:14.147912287; Bps: 12306231; fps: 59.34; CPU: 22;
GST-PERF INFO --> Timestamp: 0:24:15.158284015; Bps: 12318415; fps: 59.40; CPU: 22;
GST-PERF INFO --> Timestamp: 0:24:16.170463292; Bps: 12294071; fps: 59.28; CPU: 24;
GST-PERF INFO --> Timestamp: 0:24:17.180258276; Bps: 12330624; fps: 59.46; CPU: 24;
GST-PERF INFO --> Timestamp: 0:24:18.193795065; Bps: 12281934; fps: 59.23; CPU: 21;
720p 60fps videotestsrc to display (in-place=false)
Example pipeline
gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,width=1280,height=720,format=I420,framerate=60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1280,height=720,format=I420,framerate=60/1" ! cudafilter in-place=false location=./memcpy.so ! nvvidconv ! perf print-arm-load=true ! nvoverlaysink --gst-debug=0
Performance stats
GST-PERF INFO --> Timestamp: 0:24:57.867517465; Bps: 763; fps: 60.3; CPU: 18;
GST-PERF INFO --> Timestamp: 0:24:58.884439856; Bps: 763; fps: 60.3; CPU: 16;
GST-PERF INFO --> Timestamp: 0:24:59.900505960; Bps: 763; fps: 60.3; CPU: 16;
GST-PERF INFO --> Timestamp: 0:25:00.900508129; Bps: 776; fps: 60.0; CPU: 16;
GST-PERF INFO --> Timestamp: 0:25:01.900516089; Bps: 776; fps: 60.0; CPU: 17;
GST-PERF INFO --> Timestamp: 0:25:02.900852285; Bps: 776; fps: 60.0; CPU: 16;
GST-PERF INFO --> Timestamp: 0:25:03.917406393; Bps: 763; fps: 60.3; CPU: 17;
GST-PERF INFO --> Timestamp: 0:25:04.917408755; Bps: 776; fps: 60.0; CPU: 16;
GST-PERF INFO --> Timestamp: 0:25:05.917422898; Bps: 776; fps: 60.0; CPU: 16;
GST-PERF INFO --> Timestamp: 0:25:06.934306770; Bps: 763; fps: 60.3; CPU: 17;
← |
⌂ Home |
→ |