> ## Documentation Index
> Fetch the complete documentation index at: https://imsdkdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Plugins Introduction

> Documentation for QIM SDK GStreamer plugins

<Note>
  Please refer [GStreamer Plugin Documentation](https://gstreamer.freedesktop.org/documentation/plugins_doc.html) for standard GStreamer plugins.
</Note>

## Welcome

The QIM SDK extends the powerful **GStreamer multimedia framework** by introducing a comprehensive suite of plugins tailored for building **end-to-end AI, video, and streaming pipelines**. Designed to work seamlessly alongside existing **open-source GStreamer components**, these plugins enable developers to rapidly prototype, deploy, and scale real-world applications without sacrificing flexibility or performance.

With the increasing demand for intelligent multimedia applications—such as smart surveillance, video analytics, and edge AI—the QIM SDK provides optimized building blocks that simplify pipeline development while ensuring efficient execution. Developers can combine standard GStreamer elements with QIM-specific plugins to construct modular pipelines that handle everything from data ingestion and preprocessing to inference, post-processing, and streaming.

A key advantage of the QIM SDK is its ability to leverage heterogeneous compute resources available on Qualcomm platforms, including the **GPU, DSP, and camera subsystem**. This enables high-throughput, low-latency processing for both AI/ML workloads and multimedia operations. The plugins are designed to abstract hardware complexity while still allowing fine-grained control when needed.

Whether you are building simple media pipelines or complex AI-driven workflows, the QIM SDK provides a scalable and efficient foundation to accelerate development and deployment.

## Plugin Classification

### 1. AI / ML Plugins

| Plugin                               | Description                                           |
| ------------------------------------ | ----------------------------------------------------- |
| [qtimlvconverter](qtimlvconverter)   | Converts input data into ML-friendly tensor formats   |
| [qtimlonnx](qtimlonnx)               | Executes ONNX-based machine learning models           |
| [qtimlqnn](qtimlqnn)                 | Runs models using Qualcomm Neural Network backend     |
| [qtimlsnpe](qtimlsnpe)               | Runs models using Snapdragon Neural Processing Engine |
| [qtimltflite](qtimltflite)           | Executes TensorFlow Lite models                       |
| [qtimldemux](qtimldemux)             | Splits multiplexed ML data streams                    |
| [qtimlpostprocess](qtimlpostprocess) | Handles output parsing and post-processing            |

### 2. Video Processing Plugins

| Plugin                         | Description                                       |
| ------------------------------ | ------------------------------------------------- |
| [qtivtransform](qtivtransform) | Performs scaling, rotation, and format conversion |
| [qtivcomposer](qtivcomposer)   | Composes multiple video streams into one          |
| [qtivoverlay](qtivoverlay)     | Adds graphical overlays (bounding boxes, text)    |
| [qtivsplit](qtivsplit)         | Splits video streams into multiple outputs        |

### 3. Camera Plugin

| Plugin                 | Description                                   |
| ---------------------- | --------------------------------------------- |
| [qticamsrc](qticamsrc) | Captures video directly from the camera stack |

### 4. Codec / V4L2 Plugins

| Plugin                     | Description                               |
| -------------------------- | ----------------------------------------- |
| [v4l2h264dec](v4l2h264dec) | Hardware-accelerated H.264 decoder        |
| [v4l2h264enc](v4l2h264enc) | Hardware-accelerated H.264 encoder        |
| [v4l2h265dec](v4l2h265dec) | Hardware-accelerated H.265 (HEVC) decoder |
| [v4l2h265enc](v4l2h265enc) | Hardware-accelerated H.265 encoder        |
| [v4l2vp9dec](v4l2vp9dec)   | Hardware-accelerated VP9 decoder          |
| [v4l2av1dec](v4l2av1dec)   | Hardware-accelerated AV1 decoder          |
| [qtijpegenc](qtijpegenc)   | JPEG image encoder                        |

### 5. Streaming Plugins

| Plugin                         | Description                        |
| ------------------------------ | ---------------------------------- |
| [qtirtspbin](qtirtspbin)       | Enables RTSP streaming pipelines   |
| [qtiredissink](qtiredissink)   | Streams data to Redis endpoints    |
| [qtisocketsink](qtisocketsink) | Sends data over network sockets    |
| [qtisocketsrc](qtisocketsrc)   | Receives data over network sockets |
| [waylandsink](waylandsink)     | Displays output using Wayland      |

### 6. Metadata & Utilities Plugins

| Plugin                             | Description                                      |
| ---------------------------------- | ------------------------------------------------ |
| [qtimetamux](qtimetamux)           | Combines metadata streams                        |
| [qtimlmetaparser](qtimlmetaparser) | Parses ML metadata outputs                       |
| [qtimsgpub](qtimsgpub)             | Publishes messages to external systems           |
| [qtimsgsub](qtimsgsub)             | Subscribes to external message streams           |
| [qtiobjtracker](qtiobjtracker)     | Tracks detected objects across frames            |
| [qtibatch](qtibatch)               | Batches multiple frames or inputs for processing |

## Proprietary Plugins

<Note>
  The following plugins are only available in `qcom-multimedia-proprietary-image`. <br />
  For more information on QLI images refer to [Qualcomm Linux release](https://dragonwingdocs.qualcomm.com/Key-Documents/Yocto-Guide/add-image-recipes#qualcomm-reference-images)

  | Plugin                   |
  | ------------------------ |
  | [qticamsrc](qticamsrc)   |
  | [qtijpegenc](qtijpegenc) |
  | [qimlqnn](qimlqnn)       |
  | [qimlsnpe](qimlsnpe)     |
</Note>

## Summary

By combining these plugins with standard GStreamer elements, the QIM SDK empowers developers to construct **scalable, production-ready multimedia and AI pipelines**. The modular architecture ensures flexibility, while hardware acceleration across GPU, DSP, and camera subsystems ensures optimal performance.
