GStreamer Based Image Signal Processor/Examples/IMX8 Pipelines: Difference between revisions
mNo edit summary |
mNo edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
{{GStreamer Based Image Signal Processor/Head|previous=Examples|next=Examples/x86 Pipelines | {{GStreamer Based Image Signal Processor/Head|previous=Examples|next=Examples/x86 Pipelines}} | ||
</noinclude> | </noinclude> | ||
Line 8: | Line 8: | ||
==Debayer plugin pipelines examples== | ==Debayer plugin pipelines examples== | ||
For this pipeline example the ispcldebayer element will transform the buffer from '''bayer''' format to '''RGBA''' format | For this pipeline example the ispcldebayer element will transform the buffer from '''bayer''' format to '''RGBA''' format | ||
<syntaxhighlight lang=bash | <syntaxhighlight lang="bash"> | ||
WIDTH=1920 | WIDTH=1920 | ||
HEIGHT=1080 | HEIGHT=1080 | ||
Line 17: | Line 17: | ||
==Color space conversion plugin pipelines examples== | ==Color space conversion plugin pipelines examples== | ||
For this example the ispclcsc element will convert the color space from '''RGBA''' to '''NV12''' format. | For this example the ispclcsc element will convert the color space from '''RGBA''' to '''NV12''' format. | ||
<syntaxhighlight lang=bash | <syntaxhighlight lang="bash"> | ||
WIDTH=1920 | WIDTH=1920 | ||
HEIGHT=1080 | HEIGHT=1080 | ||
Line 26: | Line 26: | ||
For this example the ispclcsc element will convert the color space from '''NV12''' to '''RGBA''' format. | For this example the ispclcsc element will convert the color space from '''NV12''' to '''RGBA''' format. | ||
<syntaxhighlight lang=bash | <syntaxhighlight lang="bash"> | ||
WIDTH=1920 | WIDTH=1920 | ||
HEIGHT=1080 | HEIGHT=1080 | ||
Line 38: | Line 38: | ||
====RGBA bypass==== | ====RGBA bypass==== | ||
For this example the ispclcsc element will bypass the buffers from '''RGBA''' to '''RGBA'''. | For this example the ispclcsc element will bypass the buffers from '''RGBA''' to '''RGBA'''. | ||
<syntaxhighlight lang=bash | <syntaxhighlight lang="bash"> | ||
WIDTH=1920 | WIDTH=1920 | ||
HEIGHT=1080 | HEIGHT=1080 | ||
Line 48: | Line 48: | ||
====NV12 bypass==== | ====NV12 bypass==== | ||
For this example the ispclcsc element will bypass the buffers from '''NV12''' to '''NV12'''. | For this example the ispclcsc element will bypass the buffers from '''NV12''' to '''NV12'''. | ||
<syntaxhighlight lang=bash | <syntaxhighlight lang="bash"> | ||
WIDTH=1920 | WIDTH=1920 | ||
HEIGHT=1080 | HEIGHT=1080 | ||
Line 60: | Line 60: | ||
===Bayer RGGB === | ===Bayer RGGB === | ||
In this case, an average of the histogram components is used on the algorithm. | In this case, an average of the histogram components is used on the algorithm. | ||
<syntaxhighlight lang=bash | <syntaxhighlight lang="bash"> | ||
WIDTH=1920 | WIDTH=1920 | ||
HEIGHT=1080 | HEIGHT=1080 | ||
Line 69: | Line 69: | ||
In case you want to use each component histogram instead of using an average of the components you can set the '''average''' property to '''false'''. | In case you want to use each component histogram instead of using an average of the components you can set the '''average''' property to '''false'''. | ||
<syntaxhighlight lang=bash | <syntaxhighlight lang="bash"> | ||
WIDTH=1920 | WIDTH=1920 | ||
HEIGHT=1080 | HEIGHT=1080 | ||
Line 78: | Line 78: | ||
===NV12=== | ===NV12=== | ||
<syntaxhighlight lang=bash | <syntaxhighlight lang="bash"> | ||
WIDTH=1920 | WIDTH=1920 | ||
HEIGHT=1080 | HEIGHT=1080 | ||
Line 87: | Line 87: | ||
==Auto white balance plugin pipelines examples== | ==Auto white balance plugin pipelines examples== | ||
For this pipeline example the ispclawb element will apply an algorithm to improve the image white balance. This element does the image processing in rggb bayer format. | For this pipeline example the ispclawb element will apply an algorithm to improve the image white balance. This element does the image processing in rggb bayer format. | ||
<syntaxhighlight lang=bash | <syntaxhighlight lang="bash"> | ||
WIDTH=1920 | WIDTH=1920 | ||
HEIGHT=1080 | HEIGHT=1080 |
Latest revision as of 16:45, 18 November 2024
The GStreamer Based Image Signal Processor element can be easily incorporated into any pipeline. Here we present some sample pipelines for different use cases.
Debayer plugin pipelines examples
For this pipeline example the ispcldebayer element will transform the buffer from bayer format to RGBA format
WIDTH=1920
HEIGHT=1080
gst-launch-1.0 videotestsrc is-live=true ! "video/x-bayer, format=(string)bggr, width=$WIDTH, height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispcldebayer ! fakesink -v
Color space conversion plugin pipelines examples
For this example the ispclcsc element will convert the color space from RGBA to NV12 format.
WIDTH=1920
HEIGHT=1080
gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,format=(string)RGBA,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! \
queue ! ispclcsc ! "video/x-raw,format=(string)NV12,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! fakesink -v
For this example the ispclcsc element will convert the color space from NV12 to RGBA format.
WIDTH=1920
HEIGHT=1080
gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,format=(string)NV12,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! \
queue ! ispclcsc ! "video/x-raw,format=(string)RGBA,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! fakesink -v
Bypass feature
if caps are the same for the input and output the color space converter will act like a bypass:
RGBA bypass
For this example the ispclcsc element will bypass the buffers from RGBA to RGBA.
WIDTH=1920
HEIGHT=1080
gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,format=(string)RGBA,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! \
queue ! ispclcsc ! "video/x-raw,format=(string)RGBA,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! fakesink -v
NV12 bypass
For this example the ispclcsc element will bypass the buffers from NV12 to NV12.
WIDTH=1920
HEIGHT=1080
gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,format=(string)NV12,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! \
queue ! ispclcsc ! "video/x-raw,format=(string)NV12,width=$WIDTH,height=$HEIGHT,framerate=(fraction)30/1" ! fakesink -v
Histogram equalization plugin pipelines examples
For this pipeline example the ispcleq element will apply an algorithm to improve the image contrast with histogram equalization technique. This element can do this image improvement using a bayer input but also NV12 input.
Bayer RGGB
In this case, an average of the histogram components is used on the algorithm.
WIDTH=1920
HEIGHT=1080
gst-launch-1.0 videotestsrc is-live=true ! "video/x-bayer, format=(string)bggr, width=$WIDTH, height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispcleq ! fakesink -v
In case you want to use each component histogram instead of using an average of the components you can set the average property to false.
WIDTH=1920
HEIGHT=1080
gst-launch-1.0 videotestsrc is-live=true ! "video/x-bayer, format=(string)bggr, width=$WIDTH, height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispcleq average=false ! fakesink -v
NV12
WIDTH=1920
HEIGHT=1080
gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw, format=NV12, width=$WIDTH, height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispcleq ! fakesink -v
Auto white balance plugin pipelines examples
For this pipeline example the ispclawb element will apply an algorithm to improve the image white balance. This element does the image processing in rggb bayer format.
WIDTH=1920
HEIGHT=1080
gst-launch-1.0 videotestsrc is-live=true ! "video/x-bayer, format=(string)bggr, width=$WIDTH, height=$HEIGHT,framerate=(fraction)30/1" ! queue ! ispclawb ! fakesink -v