Difference between revisions of "GstCUDA - Example - cudafilter: NVMM direct mapping"
m |
m |
||
Line 1: | Line 1: | ||
+ | <table> | ||
+ | <tr> | ||
+ | <td><div class="clear; float:right">__TOC__</div></td> | ||
+ | <td valign=top> | ||
+ | {{Debug Symbol}} Problems running the pipelines shown on this page?<br>Please see our [http://developer.ridgerun.com/wiki/index.php?title=GStreamer_Debugging GStreamer Debugging guide] for help. | ||
+ | </td> | ||
+ | </table> | ||
+ | |||
{{GstCUDA Page | | {{GstCUDA Page | | ||
[[GstCUDA - Example 1: cudafilter | Example 1: cudafilter]]| | [[GstCUDA - Example 1: cudafilter | Example 1: cudafilter]]| | ||
[[GstCUDA - Example - cudafilter: Unified memory allocator | Unified memory allocator]]| | [[GstCUDA - Example - cudafilter: Unified memory allocator | Unified memory allocator]]| | ||
− | |||
− | |||
− | |||
This page gives a set of test pipelines to use cudafilter element for NVMM direct mapping mode. | This page gives a set of test pipelines to use cudafilter element for NVMM direct mapping mode. | ||
− | + | __NOTOC__ | |
<pre style=background-color:yellow> | <pre style=background-color:yellow> |
Revision as of 06:52, 16 August 2019
← |
⌂ Home |
→ |
This page gives a set of test pipelines to use cudafilter element for NVMM direct mapping mode.
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 |
→ |