# Video super-resolution
Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/video-super-resolution.html](https://docs.qualcomm.com/doc/80-70020-50/topic/video-super-resolution.html)
The **gst-ai-superresolution** application allows you to generate high resolution
video frames from low-resolution input.
Note: This application isn't supported on Dragonwing IQ-9075.
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-70020-50/topic/video-super-resolution.html#video-super-resolution__section_kkk_xhz_lcc).
Figure : gst-ai-superresolution pipeline (Wayland display)
Figure : gst-ai-superresolution pipeline (file sink)
## 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-70020-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-70020-50/topic/video-super-resolution.html#video-super-resolution__section_ett_nd4_nfc).
3. Use the following format of the config-superresolution.json
file:
{
"input-file-path": "",
"model": "",
"constants": ""
"output-file-path": ""
}Copy to clipboard
For example, run the application using the custom video
input file, model paths, and
constants:
{
"input-file-path": "/etc/media/video.mp4",
"model": "/etc/models/quicksrnetsmall_quantized.tflite",
"constants": "srnet,q-offsets=<0.0>,q-scales=<1.0>;"
}Copy to clipboard
4. Run the gst-ai-superresolution
application:
gst-ai-superresolution --config-file=/etc/configs/config-superresolution.jsonCopy to clipboard
Note: The values for the `q-scales` and
`q-offsets` constants are `<1.0>` and
`<0.0>` respectively.
5. To display the available help options, run the following command in the SSH
shell:
gst-ai-superresolution -hCopy to clipboard
6. To stop the use case, use CTRL +
C.
## Expected output
The output is displayed on an HDMI monitor.
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-70020-50/topic/qtimlvconverter.html) | Used by AI processing stream for preprocessing:
Receives the video stream on its sink pad.
Performs the following preprocessing on the stream data. This preprocessing is done when the model expects floating-point values as input.
Color conversion
Scaling (up or down)
Normalization
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-70020-50/topic/qtimltflite.html) | Runs on LiteRT and uses the quicksrnetsmall\_quantizedmodel.
The inference runtime receives the tensor stream on its sink pad.
The runtime runs the inference.
Produces a tensor stream with the inference results on its source pad.
|
| [qtimlvsuperresolution](https://docs.qualcomm.com/doc/80-70020-50/topic/qtimlvsuperresolution.html) | Handles inference results from any super resolution mode.
Waylandsink submits the video stream received on its sink pad to Weston.
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.
constants: The LiteRT detection model constants.
|
| **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. |
## Related information
[Video super resolution and display with LiteRT](https://docs.qualcomm.com/doc/80-70020-50/topic/video-super-resolution-and-display-with-litert.html)
**Parent Topic:** [Run AI/ML sample applications](https://docs.qualcomm.com/doc/80-70020-50/topic/ai-ml-sample-applications.html)
Last Published: Jan 30, 2026
[Previous Topic
Monodepth from video](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/mono-depth-from-video.md) [Next Topic
Multistream inference](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/multistream-inference.md)