# Video super-resolution The **gst-ai-superresolution** application allows you to generate high resolution video frames from low-resolution input. Note This application isn't supported in the Config #1 for the QLI 2.0 RC2 release because only the CPU runtime is supported. The following figures shows the pipeline, which receives a video stream from a file source as input, processes it through the super resolution module using LiteRT, and displays the output. For information about the plugins used in the pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-80021-50/topic/video-super-resolution.html#section-kkk-xhz-lcc). Qualcomm Open source filesrc qtdemux h264parse V4l2h264dec tee qtivcomposer Waylandsink sink_1 sink_0 qtimlvconverter qtimltflite qtimlpostprocess **Figure : gst-ai-superresolution pipeline (Wayland display)** Qualcomm Open source filesrc qtdemux h264parse V4l2h264dec tee qtivcomposer h264parse mp4mux filesink sink_1 sink_0 qtimlvconverter qtimltflite qtimlpostprocess **Figure : gst-ai-superresolution pipeline (file sink)** ## Input and output capabilities The following table summarizes the input and output capabilities supported by the sample application: | Config | Input | Input | Input | Input | Output | Output | Output | | --- | --- | --- | --- | --- | --- | --- | --- | | Config | File src | RTSP | USB camera | MIPI camera | File | Display | RTSP | | Config #2 | Yes | No | No | No | Yes | Yes | No | | | | | | | | | | ## Sample model files Table : Sample model for gst-ai-superresolution | Runtime | Model files | | --- | --- | | LiteRT | *quicksrnetsmall\_quantized.tflite* | ## Run the application on the target device Note The commands in this section are targeted for the sample applications based on QLI GA 1.5 (PPA version 05900 in Ubuntu) or later releases. Run the `apt-cache policy gstreamer1.0-qcom-sample-apps` command to check your QIM version. If you are using sample applications from older versions, run the application with the `--help` option for more instructions. The sample application uses the `/etc/configs/config-superresolution.json` file to read the input parameters. To create your own config JSON file, use [config-superresolution.json](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/blob/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-superresolution/config-superresolution.json) as a reference. 1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-80021-50/topic/download-model-and-label-files.html). 2. Update the config JSON file based on the model, input stream, and other properties. For more information, see [Config JSON field description](https://docs.qualcomm.com/doc/80-80021-50/topic/video-super-resolution.html#section-ett-nd4-nfc). Note The video super‑resolution application requires an input video resolution of 128 × 128. 3. Use the following format of the `config-superresolution.json` file: { "input-file-path": "", "model": "", "output-file-path": "" } Copy to clipboard For example, run the application using the custom video input file and model paths: { "input-file-path": "/etc/media/video.mp4", "model": "/etc/models/quicksrnetsmall_quantized.tflite" } Copy to clipboard 4. Run the gst-ai-superresolution application: gst-ai-superresolution --config-file=/etc/configs/config-superresolution.json Copy to clipboard 5. To display the available help options, run the following command in the SSH shell: gst-ai-superresolution -h Copy to clipboard 6. To stop the use case, use **CTRL + C**. ## Expected output The output is displayed on an HDMI monitor. ![../../_images/video-super-resolution.png](data:image/png;base64,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) **Figure : Expected output for VSR** ## Pipeline flow The following table lists the plugins used in the video super resolution pipeline: | Plugin | Description | | --- | --- | | filesrc | Captures the video stream and uses tee to split the stream for inferencing. | | [qtimlvconverter](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimlvconverter.html) | Used by AI processing stream for preprocessing:

  1. Receives the video stream on its sink pad.


  2. Performs the following preprocessing on the stream data. This preprocessing is done when the model expects floating-point values as input.


    1. Color conversion


    2. Scaling (up or down)


    3. Normalization




  3. Converts the preprocessed video stream to a tensor stream on its source pad.




The tensor stream is used for inferencing in the later stages of the pipeline. | | [qtimltflite](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimltflite.html) | Runs on LiteRT and uses the `quicksrnetsmall_quantized` model.

  1. The inference runtime receives the tensor stream on its sink pad.


  2. The runtime runs the inference.


  3. Produces a tensor stream with the inference results on its source pad.


| | [qtimlpostprocess](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimlpostprocess.html) | Handles inference results from any super resolution mode.

  1. Loads SRNet module.


  2. Produces results as video frames.


  3. Sends them to the sink pad of qtivcomposer.


| | [qtivcomposer](https://docs.qualcomm.com/doc/80-80021-50/topic/qtivcomposer.html) |

  1. Composes frames with contents from its sink pads.


  2. Pushes the GStreamer buffers containing these composed frames to its source pad.


| | [Waylandsink](https://docs.qualcomm.com/doc/80-80021-50/topic/waylandsink.html) |

  1. Waylandsink submits the video stream received on its sink pad to Weston.


  2. Weston renders the video stream on a local display.


| ## Config JSON field description The different parameters available to configure the JSON file and run the use case are as follows: Table : Field description–config-superresolution.json file | Field | Values/description | | --- | --- | | **Input source** | `input-file-path`: The directory path of the input video. | | **Models** | `model`: The path to the super resolution model. | | **Output source** | `output-file-path`: The directory path of the output video. If the output-file-path isn't provided, the display output is enabled. | ## Known issue The application produces blurred or visually improper output. ## Related information [Video super resolution and display with LiteRT](https://docs.qualcomm.com/doc/80-80021-50/topic/video-super-resolution-and-display-with-litert.html) Last Published: Mar 26, 2026 [Previous Topic Monodepth from video](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/mono-depth-from-video.md) [Next Topic Multistream inference](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/multistream-inference.md) Source: [https://docs.qualcomm.com/doc/80-80021-50/topic/video-super-resolution.html](https://docs.qualcomm.com/doc/80-80021-50/topic/video-super-resolution.html)