# qtimlaclassification
Source: [https://docs.qualcomm.com/doc/80-70018-50/topic/qtimlaclassification.html](https://docs.qualcomm.com/doc/80-70018-50/topic/qtimlaclassification.html)
The qtimlaclassification plugin processes the output tensors of an audio
classification model from the ML inference plugin ((such as qtimltflite) into a result of
predictions.
The negotiated [GstCaps](https://gstreamer.freedesktop.org/documentation/gstreamer/gstcaps.html) determines the processed output on the
plugin output.
For example, to infer the audio results from an MP4 file and integrate the audio
classification with the original video frames, the output can be either of the
following:
- An image mask (GstCaps: video/x-raw), which are applied over the original image
using qtivcomposer.
- A GStreamer formatted text (GstCaps: text/x-raw) containing the prediction results.
The plugin uses the CPU-based [Cairo](https://www.cairographics.org) 2D graphics library for image overlay mask. The image
overlay mask enables Cairo 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.
In the versatile text format, the prediction results are parsed into GStreamer-formatted
string inside the buffers allocated using the regular system memory.
The module and labels properties of the plugin determine the method used for
postprocessing operations.
- The module property specifies the postprocessing module, which runs dynamically at
runtime with the available libraries at `in
/usr/lib/gstreamer-1.0/ml/modules/` containing the prefix
`ml-aclassification-`
- The labels property is a customized text file different for each machine learning
detection model that you must provide for the prediction labels.
Optional properties are available for adjusting the prediction results.
- Use the `results` property to control the number of results that are
displayed
- Use the `threshold` property to set a confidence threshold for
prediction. The results with low confidence aren't displayed.
## 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) →
GstMLAudioClassification
The following tables provide information on pad templates and element properties of
qtimlsnpe. For use cases, [Audio classification decode and display with LiteRT](https://docs.qualcomm.com/doc/80-70018-50/topic/audio-classification-with-litert.html).
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SINK template: 'sink'
Enum "GstMLAudioClassificationModules" Default: 0,
"none"
(0): none - No module, default invalid mode
(1): yamnet - ml-aclassification-yamnet