# qtimlvsegmentation
Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/qtimlvsegmentation.html](https://docs.qualcomm.com/doc/80-70020-50/topic/qtimlvsegmentation.html)
The qtimlvsegmentation plugin processes output tensors of an image segmentation/depth
estimation model from the ML inference plugin (such as qtimltflite, qtimlsnpe, and qtimlqnn)
into result of predictions.
The processed output is an image mask (GstCaps: video/x-raw). [GstCaps](https://gstreamer.freedesktop.org/documentation/gstreamer/gstcaps.html) determines the dimensions and format,
which is applied over the original image using qtivcomposer.
For this mask, the element uses the CPU based [Cairo](https://www.cairographics.org) 2D graphics library to draw the
prediction results in ION/DMA buffers. The GstImageBufferPool custom buffer pool class
allocates the ION/DMA buffers through IOCTL commands to the kernel.
The module and labels properties of the plugin determine the method for the
postprocessing operations.
- The module property specifies the postprocessing module. It's populated dynamically
at runtime with the libraries available in
`/usr/lib/gstreamer-1.0/ml/modules/` containing the prefix
"`ml-vsegmentation-`-".
- The labels property is a customized text file different for each machine learning
detection model that you must provide for the prediction labels.
Figure : GstBuffer workflow with qtimlvsegmentation
## Inheritance chain
[GObject](https://docs.gtk.org/gobject/) → [GstObject](https://gstreamer.freedesktop.org/documentation/gstreamer/gstobject.html?gi-language=c) → [GstElement](https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c) → [GstBaseTransform](https://gstreamer.freedesktop.org/documentation/base/gstbasetransform.html?gi-language=c) →
GstMLVideoSegmentation
The following tables provide information on pad templates and element properties of
qtimlvsegmentation. For use cases, see the segmentation use cases in [LiteRT use cases](https://docs.qualcomm.com/doc/80-70020-50/topic/tensorflow-lite-use-cases.html) and [Qualcomm Neural Processing SDK use cases](https://docs.qualcomm.com/doc/80-70020-50/topic/qualcomm-neural-processing-sdk-use-cases.html).
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SINK template: 'sink'
Enum "GstMLVideoSegmentationModules" Default: 0,
"none"