# qtimlaclassification

Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/qtimlaclassification.html](https://docs.qualcomm.com/doc/80-70020-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-70020-50/topic/audio-classification-with-litert.html).

## Pad configuration

| Pad Name | Capabilities | Capabilities | Capabilities |
| --- | --- | --- | --- |
| SINK template: 'sink'<br><ul class="ul" id="qtimlaclassification__ul_ulh_rm2_s2c"><br>                                    <li class="li"><em class="ph i">Availability:</em> On request</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> sink</li><br><br>                                </ul> | neural-network/tensors | – | – |
| SRC template: 'src'<br><ul class="ul" id="qtimlaclassification__ul_vlh_rm2_s2c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> source</li><br><br>                                </ul> | video/x-raw | format: | { (string)BGRA, (string)BGRx, (string)BGR16 } |
| SRC template: 'src'<br><ul class="ul" id="qtimlaclassification__ul_vlh_rm2_s2c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> source</li><br><br>                                </ul> | video/x-raw(memory:GBM) | format: | { (string)BGRA, (string)BGRx, (string)BGR16 } |
| SRC template: 'src'<br><ul class="ul" id="qtimlaclassification__ul_vlh_rm2_s2c"><br>                                    <li class="li"><em class="ph i">Availability:</em> Always</li><br><br>                                    <li class="li"><em class="ph i">Direction:</em> source</li><br><br>                                </ul> | text/x-raw | format: | { (string)utf8 } |
|  |  |  |  |
|  |  |  |  |

## Element configuration

Table : Element properties of qtimlaclassification

| Property | Description |
| --- | --- |
| name | The name of the object.<br><ul class="ul" id="qtimlaclassification__ul_qng_vm2_s2c"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">String. Default: "mlaudioclassification0"</li><br><br>                                </ul> |
| parent | The parent of the object.<br><ul class="ul" id="qtimlaclassification__ul_rng_vm2_s2c"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Object of type "GstObject"</li><br><br>                                </ul> |
| qos | Handle the quality-of-service events.<br><ul class="ul" id="qtimlaclassification__ul_sng_vm2_s2c"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Boolean. Default: false</li><br><br>                                </ul> |
| module | The module name that's used to process the tensors.<br><ul class="ul" id="qtimlaclassification__ul_tng_vm2_s2c"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li"><br>                                        <p class="p">Enum "GstMLAudioClassificationModules" Default: 0,<br>                                            "none"</p><br><br>                                        <p class="p"> (0): none - No module, default invalid mode</p><br><br>                                        <p class="p"> (1): yamnet - ml-aclassification-yamnet</p><br><br>                                    </li><br><br>                                </ul> |
| labels | The labels filename.<br><ul class="ul" id="qtimlaclassification__ul_ung_vm2_s2c"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">String. Default: null</li><br><br>                                </ul> |
| results | The number of results to display.<br><ul class="ul" id="qtimlaclassification__ul_vng_vm2_s2c"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Unsigned Integer. Range: 0 - 10 Default: 5</li><br><br>                                </ul> |
| threshold | The confidence threshold in %.<br><ul class="ul" id="qtimlaclassification__ul_wng_vm2_s2c"><br>                                    <li class="li">flags: readable, writable</li><br><br>                                    <li class="li">Double. Range: 10.0 - 100.0 Default: 10.0</li><br><br>                                </ul> |

**Parent Topic:** [Configure ML plugins](https://docs.qualcomm.com/doc/80-70020-50/topic/inferencing-plugins.html)

Last Published: Jan 30, 2026

[Previous Topic
qtimlvclassification](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/qtimlvclassification.md) [Next Topic
qtimlvdetection](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/qtimlvdetection.md)