# qtimltflite
The qtimltflite plugin shows the LiteRT capabilities (load and run the LiteRT models) as a GStreamer plugin.
This plugin does the following:
- Accepts a tensor prepared by the preprocessing elements such as qtimlvconverter.
- Produces the output tensor that's parsed by the postprocessing plugins such as qtimlvclassification, qtimlvdetection, qtimlvsegmentation, and qtimlvpose.
- Uses the LiteRT library.
- Uses the ION/DMA buffers allocated by the GstMLBufferPool custom buffer pool class through IOCTL commands to the kernel.
The model and delegate usage is as follows:
- To use a model, provide the absolute path of the model through the model property.
After it's loaded, the model file provides the input and output capabilities:
- Number of tensors
- Dimensions
- Type
- If a delegate isn't specified, the plugin executes the model operations on CPU.
- To select a different delegate, set the delegate property accordingly. For more information, see the [Table : Element properties for qtimltflite](https://docs.qualcomm.com/doc/80-70029-50/topic/qtimltflite.html#section-xp1-dk4-myb).
**Figure : GstBuffer workflow with qtimltflite**
## 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) → GstMLTFLite
The following tables provide information on pad templates and element properties of qtimltflite. For use cases, see [LiteRT use cases](https://docs.qualcomm.com/doc/80-70029-50/topic/tensorflow-lite-use-cases.html).
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SINK template: 'sink'
Availability: Always
Direction: sink
Availability: Always
Direction: source
flags: readable, writable
String. Default: "mlTFLite0"
flags: readable, writable
Object of type "GstObject"
flags: readable, writable
String. Default: null
flags: readable, writable
Enum "GstMLTFLiteDelegate" Default: 0, "none"
(0): none - No delegate, CPU is used for all operations
(1): nnapi-dsp - Run the processing on the DSP through the NN API. Unsupported operations fall back on NPU, GPU or CPU
(2): nnapi-gpu - Run the processing on the GPU through the NN API. Unsupported operations fall back on DSP, NPU or CPU
(3): nnapi-npu - Run the processing on the NPU through the NN API. Unsupported operations fall back on DSP, GPU, or CPU
(4): hexagon - Run the processing directly on the Hexagon DSP
(5): gpu - Run the processing directly on the GPU
(6): xnnpack - Run inferences using xnnpack cpu runtime
flags: readable, writable
Unsigned Integer. Range: 1 - 4 Default: 1