# Qualcomm GST plugins

Source: [https://docs.qualcomm.com/doc/80-70014-50/topic/qim-sdk-plugins.html](https://docs.qualcomm.com/doc/80-70014-50/topic/qim-sdk-plugins.html)

The Qualcomm GST plugins are used to control various aspects of the multimedia
        software.

These plugins and the sample applications are hosted in the [gst-plugins-qti-oss](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r1-rel?ref_type=heads) folder.

The plugins are categorized as good, bad, and ugly:

- Good –[https://gstreamer.freedesktop.org/modules/gst-plugins-good.html](https://gstreamer.freedesktop.org/modules/gst-plugins-good.html)
- Bad –  [https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html](https://gstreamer.freedesktop.org/modules/gst-plugins-bad.html)
- Ugly –[https://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html](https://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html)

## Qualcomm IM SDK artifacts

| Plugin details | Size in MB |
| --- | --- |
| **Release variant** | **60** |
| Upstream plugins | 14.62 |
| Qualcomm GST plugins | 45.37 |
| **Developer variant** | **4.55** |
| Upstream plugins | 4.20 |
| Qualcomm GST plugins | 0.35 |
| **Debug variant** | **87.56** |
| Upstream plugins | 85.01 |
| Qualcomm GST plugins | 2.55 |

- **[qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70014-50/topic/qtiqmmfsrc.html)**  

The qtiqmmfsrc plugin captures the video frames through Qualcomm Camera         Service.
- **[v4l2h264dec](https://docs.qualcomm.com/doc/80-70014-50/topic/v4l2h264dec.html)**  

The v4l2h264dec plugin uses the V4L2 APIs for decoding the video stream.
- **[v4l2h265dec](https://docs.qualcomm.com/doc/80-70014-50/topic/v4l2h265dec.html)**  

The v4l2h265dec plugin uses the V4L2 APIs for decoding the video stream.
- **[v4l2h264enc](https://docs.qualcomm.com/doc/80-70014-50/topic/v4l2h264enc.html)**  

The v4l2h264enc plugin uses V4L2 APIs for encoding of video stream.
- **[v4l2h265enc](https://docs.qualcomm.com/doc/80-70014-50/topic/v4l2h265enc.html)**  

The v4l2h265enc plugin uses V4L2 APIs for encoding of video stream.
- **[v4l2vp9dec](https://docs.qualcomm.com/doc/80-70014-50/topic/v4l2vp9dec.html)**  

The v4l2vp9dec plugin uses V4L2 APIs for decoding the video stream.
- **[pulsesrc](https://docs.qualcomm.com/doc/80-70014-50/topic/pulsesrc.html)**  

The pulsesrc plugin interacts with the underlying PulseAudio sound server to capture         the pulse coded modulation (PCM) samples.
- **[pulsesink](https://docs.qualcomm.com/doc/80-70014-50/topic/pulsesink.html)**  

The pulsesink plugin interacts with the underlying PulseAudio sound server to play         the PCM samples.
- **[qtivcomposer](https://docs.qualcomm.com/doc/80-70014-50/topic/qtivcomposer.html)**  

The qtivcomposer plugin uses the GPU hardware to merge/mix multiple input video         streams into single output stream.
- **[qtivsplit](https://docs.qualcomm.com/doc/80-70014-50/topic/qtivsplit.html)**  

The qtivsplit plugin uses the GPU hardware to split a single input video stream into         multiple output streams whose number is a user-defined variable and is equal to the number         of source pads.
- **[qtimetamux](https://docs.qualcomm.com/doc/80-70014-50/topic/qtimetamux.html)**  

The qtimetamux plugin uses frame matching techniques to associate or attach ML string         based postprocessing results (output from postprocessing plugin) or CV information to         original frame such as [GstMeta](https://gstreamer.freedesktop.org/documentation/gstreamer/gstmeta.html#GstMeta).
- **[qtioverlay](https://docs.qualcomm.com/doc/80-70014-50/topic/qtioverlay.html)**  

The qtioverlay plugin is a hardware accelerated in-place image draw and blit plugin         for drawing overlays on top of the YUV images.
- **[qtisocketsink](https://docs.qualcomm.com/doc/80-70014-50/topic/qtisocketsink.html)**  

The qtisocketsink plugin uses UNIX sockets to transfer file descriptor (FD) backed             [GstBuffers](https://gstreamer.freedesktop.org/documentation/gstreamer/gstbuffer.html) to other processes with qtisocketsrc as         the entry point.
- **[qtisocketsrc](https://docs.qualcomm.com/doc/80-70014-50/topic/qtisocketsrc.html)**  

The qtisocketsrc plugin uses UNIX sockets to receive FD backed [GstBuffers](https://gstreamer.freedesktop.org/documentation/gstreamer/gstbuffer.html) from other processes that have         qtisocketsink as the exit point.
- **[qtivtransform](https://docs.qualcomm.com/doc/80-70014-50/topic/qtivtransform.html)**  

The qtivtransform plugin uses GPU hardware to upscale/downscale, flip, rotate, crop,         and color covert the incoming the YUV or RGB video frames determined by the element         properties.
- **[Waylandsink](https://docs.qualcomm.com/doc/80-70014-50/topic/waylandsink.html)**  

The waylandsink plugin uses [GstVideoSink](https://gstreamer.freedesktop.org/documentation/video/gstvideosink.html?gi-language=c) GStreamer class. It is based on         Wayland [Weston](https://wayland.pages.freedesktop.org/weston/) compositor, which creates its own window and renders the         incoming video frames in the window.
- **[qtimlsnpe](https://docs.qualcomm.com/doc/80-70014-50/topic/qtimlsnpe.html)**  

The qtimlsnpe plugin exposes the Qualcomm^®^ Neural Processing SDK         capabilities (load and execute the models).
- **[qtimltflite](https://docs.qualcomm.com/doc/80-70014-50/topic/qtimltflite.html)**  

The qtimltflite plugin exposes the TensorFlow Lite capabilities (load and execute the         TensorFlow Lite models) as a GStreamer plugin.
- **[qtimlqnn](https://docs.qualcomm.com/doc/80-70014-50/topic/qtimlqnn.html)**  

The qtimlqnn plugin exposes the Qualcomm^®^ AI Engine Direct SDK         capabilities (load and execute the Qualcomm Neural Network models) as a GStreamer plugin.
- **[qtimlvclassification](https://docs.qualcomm.com/doc/80-70014-50/topic/qtimlvclassification.html)**  

The qtimlvclassification plugin processes output tensors of an image classification         model from the ML inference plugin (such as qtimltflite, qtimlsnpe and qtimlqnn) into result         of predictions.
- **[qtimlvconverter](https://docs.qualcomm.com/doc/80-70014-50/topic/qtimlvconverter.html)**  

The qtimlvconverter plugin transforms the incoming video buffers into neural-network         tensors while performing necessary format conversion and resizing in the process. To achieve         these operations, the plugin leverages GPU hardware and ION/DMA allocated         buffers.
- **[qtimlvdetection](https://docs.qualcomm.com/doc/80-70014-50/topic/qtimlvdetection.html)**  

The qtimlvdetection plugin processes output tensors of an Object Detection model from         the ML inference plugin (such as qtimltflite, qtimlsnpe and qtimlqnn) into result of         predictions.
- **[qtimlvsegmentation](https://docs.qualcomm.com/doc/80-70014-50/topic/qtimlvsegmentation.html)**  

The qtimlvsegmentation plugin processes output tensors of an image segmentation/depth         estimation model from the ML inference plugin (such as qtimltflite, qtimlsnpe and qtimlqnn)         into result of predictions.
- **[qtimlvpose](https://docs.qualcomm.com/doc/80-70014-50/topic/qtimlvpose.html)**  

The qtimlvpose plugin processes output tensors of an Pose Estimation model from the         ML inference plugin (such as qtimltflite, qtimlsnpe and qtimlqnn) into result of         predictions.

Last Published: Oct 27, 2025

[Previous Topic
HTTP use cases](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/run-http-use-cases.md) [Next Topic
qtiqmmfsrc](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/qtiqmmfsrc.md)