# qtimlpostprocess
The qtimlpostprocess is a customizable plugin that provides a library interface to postprocess the tensor output of the inference plugins. The postprocessing library is solely responsible to parse the tensor and generate a list of predicted output modes. The plugin manages the module execution, output generation (ML metadata or image mask), batching, ML staging, and other related tasks.
**Figure : GstBuffer workflow with qtimlpostprocess**
## 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) →GstMLPostProcess
The following tables provide information on pad templates and element properties of qtimlpostprocess. For use cases, see the segmentation use cases in [LiteRT use cases](https://docs.qualcomm.com/doc/80-80021-50/topic/tensorflow-lite-use-cases.html) and [Qualcomm Neural Processing SDK use cases](https://docs.qualcomm.com/doc/80-80021-50/topic/qualcomm-neural-processing-sdk-use-cases.html).
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SINK template: 'sink'
Availability: Always
Availability: Always
Availability: Always
flags: readable, writable
String. Default: null
flags: readable, writable
Enum "GstMLPostProcessModules" Default: 0, "none"
(0): none - No module, default invalid mode
(1): midas-v2: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 256, 256, 1
Type: FLOAT32
Tensor 0: 1, 256, 256
(2): yolo-nas: Supported tensors
Type: FLOAT32
Tensor 0: 1, 21-42840, 4
Tensor 1: 1, 21-42840
Tensor 2: 1, 21-42840
Type: FLOAT32
Tensor 0: 1, 21-42840, 2
Tensor 1: 1, 21-42840, 2
Tensor 2: 1, 21-42840, 81
Type: FLOAT32
Tensor 0: 1, 5-1005, 21-42840
Type: FLOAT32
Tensor 0: 1, 21-42840, 1-1001
Tensor 1: 1, 21-42840, 4
Type: FLOAT32
Tensor 0: 1, 21-42840, 4
Tensor 1: 1, 21-42840, 1-1001
(3): yolov5: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 1-136, 1-136, 18-3018
Tensor 1: 1, 1-136, 1-136, 18-3018
Tensor 2: 1, 1-136, 1-136, 18-3018
Type: FLOAT32
Tensor 0: 1, 3, 1-136, 1-136, 6-85
Tensor 1: 1, 3, 1-136, 1-136, 6-85
Tensor 2: 1, 3, 1-136, 1-136, 6-85
Type: FLOAT32
Tensor 0: 1, 21-72828, 6-85
(4): mobilenet: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 1000-1001
(5): deeplab-argmax: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 32-2048, 32-2048
Type: FLOAT32
Tensor 0: 1, 32-2048, 32-2048, 1-21
(6): qfr-softmax: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 512
Tensor 1: 1, 32
Tensor 2: 1, 2
Tensor 3: 1, 2
Tensor 4: 1, 2
Tensor 5: 1, 2
(7): hrnet: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 1-256, 1-256, 1-17
(8): posenet: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 5-251, 5-251, 1-17
Tensor 1: 1, 5-251, 5-251, 2-34
Tensor 2: 1, 5-251, 5-251, 4-64
(9): yolov8: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 21-42840, 4
Tensor 1: 1, 21-42840
Tensor 2: 1, 21-42840
Type: FLOAT32
Tensor 0: 1, 4, 21-42840
Tensor 1: 1, 1-1001, 21-42840
Type: FLOAT32
Tensor 0: 1, 5-1005, 21-42840
(10): srnet: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 32-4096, 32-4096
Type: FLOAT32
Tensor 0: 1, 32-4096, 32-4096, 1-3
(11): yamnet: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 521
(12): qpd: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 120, 160, 3
Tensor 1: 1, 120, 160, 12
Tensor 2: 1, 120, 160, 34
Tensor 3: 1, 120, 160, 17
(13): ocr: Supported tensors:
Type: FLOAT32
Tensor 0: 26, 1, 37
Type: FLOAT32
Tensor 0: 1, 26-48, 37
(14): yolov8-seg: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 21-42840, 4
Tensor 1: 1, 21-42840
Tensor 2: 1, 21-42840, 1-32
Tensor 3: 1, 21-42840
Tensor 4: 1, 1-32, 32-2048, 32-2048
(15): qfd: Supported tensors:
Type: UINT8, FLOAT32
Tensor 0: 1, 60, 80, 1
Tensor 1: 1, 60, 80, 1
Tensor 2: 1, 60, 80, 10
Tensor 3: 1, 60, 80, 4
Type: UINT8, FLOAT32
Tensor 0: 1, 120, 160, 1
Tensor 1: 1, 120, 160, 10
Tensor 2: 1, 120, 160, 4
Type: UINT8, FLOAT32
Tensor 0: 1, 60, 80, 4
Tensor 1: 1, 60, 80, 10
Tensor 2: 1, 60, 80, 1
Type: UINT8, FLOAT32
Tensor 0: 1, 60, 80, 1
Tensor 1: 1, 60, 80, 4
Tensor 2: 1, 60, 80, 10
(16): ssd-mobilenet: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 10, 4
Tensor 1: 1, 10
Tensor 2: 1, 10
Tensor 3: 1
Type: FLOAT32
Tensor 0: 1, 10
Tensor 1: 1, 10, 4
Tensor 2: 1, 10
Tensor 3: 1
Tensor 4: 1, 10
Type: FLOAT32
Tensor 0: 1, 100
Tensor 1: 1
Tensor 2: 1, 100, 4
Tensor 3: 1, 100
Type: FLOAT32
Tensor 0: 1, 25, 4
Tensor 1: 1, 25
Tensor 2: 1, 25
Tensor 3: 1
(17): east-textdt: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 8-480, 8-480, 1-5
Tensor 1: 1, 8-480, 8-480, 1-5
(18): qfr: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 512
Tensor 1: 1, 32
Tensor 2: 1, 2
Tensor 3: 1, 2
Tensor 4: 1, 2
Tensor 5: 1, 2
(19): lite-3dmm: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 512
Tensor 1: 1, 265
Type: FLOAT32
Tensor 0: 1, 265
(20): mobilenet-softmax: Supported tensors:
Type: FLOAT32
Tensor 0: 1, 400-1001
flags: readable, writable
String. Default: "mlpostprocess0"
flags: readable, writable
Object of type "GstObject"
flags: readable, writable
Boolean. Default: false
flags: readable, writable
Unsigned Integer, range: 0 - 50. Default: 5
flags: readable, writable
String. Default: false