# qtimlqnn
Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/qtimlqnn.html](https://docs.qualcomm.com/doc/80-70020-50/topic/qtimlqnn.html)
The qtimlqnn plugin shows the Qualcomm^®^ AI Engine direct SDK capabilities
(load and execute the Qualcomm Neural Network models) as a GStreamer plugin.
This plugin does the following:
- Accepts a tensor prepared by the preprocessing elements such as
qtimlvconverter.
- Produces output tensor that's parsed by the postprocessing plugins such as
qtimlvclassification, qtimlvdetection, qtimlvsegmentation, and qtimlvpose.
- Uses the Qualcomm Neural Network (QNN) library.
- Uses the ION/DMA buffers allocated by the GstMLBufferPool custom buffer pool class
through IOCTL commands to the kernel.
The model and backend 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
- To select a different backend, set the backend property with the absolute path of
the backend library.
## 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)→ GstMLQNN
The following tables provide information on pad templates and element properties of
qtimlqnn.
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SINK template: 'sink'