# qtimlaclassification
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.
Note
This plugin is going to be deprecated.
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-80021-50/topic/audio-classification-with-litert.html).
## Pad configuration
| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SINK template: 'sink'
Availability: On request
Direction: sink
Availability: Always
Direction: source
Availability: Always
Direction: source
Availability: Always
Direction: source
flags: readable, writable
String. Default: "mlaudioclassification0"
flags: readable, writable
Object of type "GstObject"
flags: readable, writable
Boolean. Default: false
flags: readable, writable
Enum "GstMLAudioClassificationModules" Default: 0, "none"
(0): none - No module, default invalid mode
(1): yamnet - ml-aclassification-yamnet
flags: readable, writable
String. Default: null
flags: readable, writable
Unsigned Integer. Range: 0 - 10 Default: 5
flags: readable, writable
Double. Range: 10.0 - 100.0 Default: 10.0