# qtimlvconverter The qtimlvconverter plugin transforms the incoming video buffers into neural-network tensors while performing necessary format conversion and resizing in the process. To achieve these operations, the plugin uses the GPU hardware and ION/DMA allocated buffers. For floating point tensors, the mean and sigma properties are required to transform the 8-bit unsigned integer images from the video source using the formula: (channel - mean) × sigma where channel is the value for Red, Green, Blue, or Alpha channels of the color converted input. For example, the following table lists mean and sigma properties that impact the channel transformation of an image: | Properties | RGB image with channel transformation | | --- | --- | | R=255, G=127, B=0 | R=(255 - 128.0) x 0.75, G=(127 - 156.0) x 0.34, B=(0 - 124.0) x 0.02 | | mean="<128.0, 156.0, 124.0, 58.0>" | R=(255 - 128.0) x 0.75, G=(127 - 156.0) x 0.34, B=(0 - 124.0) x 0.02 | | sigma="<0.75, 0.34, 0.02, 0.07>" | R=(255 - 128.0) x 0.75, G=(127 - 156.0) x 0.34, B=(0 - 124.0) x 0.02 | | | | | | | The subpixel-layout property specifies the arrangement of the image pixels in the output tensor. The plugin uses Qualcomm IB2C library for all conversion operations. This library is wrapped inside the custom GstGlesVideoConverter abstraction layer with APIs to create, configure, and process the incoming and outgoing buffers. GstMLBufferPool, a custom buffer pool class, can do the following: - Assign the output buffers. - Assign ION buffers through IOCTL commands to the kernel. GST BIN GstBuffer + GstMemory: Contains a single tensor Example: 1x513x513x3 + GstMemory: Next tensor and so on... + GstVideoMeta: Describes the raw data of a single tensor + GstVideoMeta: Meta for next tensor entry + ... GstBuffer + GstMemory: Image + GstVideoMeta: 1920x1080 NV12 Qualcomm Open source Video source qtimlvconverter ML Inference plugin video/x-rawwidth=1920, height=1080, format=NV12 neural-network/tensors neural-network/tensors have the following common rules: dimensions: (GstArray) - format is tensor dimension values separated by ',' and marked with delimiters ‘<’ for beginning and ‘>’ for end. # Example-> < <5, 300, 300, 1>, <1, 1, 1000, 1> >##type: (string) {UINT8, INT8, UINT16, INT16, UINT32, INT32, UINT64, INT64, FLOAT32, FLOAT64} First tensor Second tensor **Figure : Gstbuffer workflow with qtimlvconverter** ## 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) → GstMLVideoConverter The following tables provide information on pad templates and element properties of qtimlvconverter. For use cases, see [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'
| video/x-raw | format: | { (string)RGBA, (string)BGRA, (string)ABGR, (string)ARGB, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)BGR, (string)RGB, (string)GRAY8, (string)NV12, (string)NV21, (string)YUY2, (string)UYVY } | |
SINK template: 'sink'
| video/x-raw(memory:GBM) | format: | { (string)RGBA, (string)BGRA, (string)ABGR, (string)ARGB, (string)RGBx, (string)BGRx, (string)xRGB, (string)xBGR, (string)BGR, (string)RGB, (string)GRAY8, (string)NV12, (string)NV21, (string)YUY2, (string)UYVY } | | SRC template: 'src'
| neural-network/tensors | type: | { (string)UINT8, (string)INT32, (string)FLOAT16, (string)FLOAT32 } | | | | | | ## Element configuration Table : Element properties for qtimlvconverter | Property | Description | | --- | --- | | name | The name of the object.
| | parent | The parent of the object.
| | qos | Handle the quality-of-service events.
| | subpixel-layout | Arrangement of the image pixels in the output tensor.
| | mean | Channels mean subtraction values for FLOAT tensors ('', '', '').
| | sigma | Channel divisor values for FLOAT tensors ('', '', '').
| | engine | Choose Qualcomm^®^Computer Vision SDK or GLES as the backend of qtimlvconverter.


Note


The Qualcomm Computer Vision SDK (fcv) engine is currently not supported. | Last Published: Mar 26, 2026 [Previous Topic Configure ML plugins](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/inferencing-plugins.md) [Next Topic qtimlaconverter](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/qtimlaconverter.md) Source: [https://docs.qualcomm.com/doc/80-80021-50/topic/qtimlvconverter.html](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimlvconverter.html)