GStreamer Based Image Signal Processor - Examples - x86 Pipelines
GStreamer Image Signal Processor |
---|
Image Signal Processor Basics |
Docs |
Getting Started |
Examples |
Performance |
Troubleshoot |
Contact Us |
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 platform='Intel(R) OpenCL HD Graphics' ! 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 platform='Intel(R) OpenCL HD Graphics' ! "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 platform='Intel(R) OpenCL HD Graphics' ! "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 baypass 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 baypass 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 platform='Intel(R) OpenCL HD Graphics' ! "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 the 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 platform='Intel(R) OpenCL HD Graphics' ! 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 platform='Intel(R) OpenCL HD Graphics' ! 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 platform='Intel(R) OpenCL HD Graphics' ! 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 platform='Intel(R) OpenCL HD Graphics' ! fakesink -v
Note: For each previous example you have to set the appropriate GPU device type, using the element device parameter.