# Software Source: [https://docs.qualcomm.com/doc/80-70014-20/topic/software.html](https://docs.qualcomm.com/doc/80-70014-20/topic/software.html) The video software modules are compiled as part of the entire software build package, and the corresponding binaries are available in the `meta-qcom-multimedia` image. For more information on the steps to sync and build the `meta-qcom-multimedia` image, see [Qualcomm Linux Build Guide](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-254/introduction.html). Information related to the video software, V4L2 build instructions, and the GStreamer plugins is provided here. ## V4L2 for video The following is the information related to the source tree and build instructions for the VPU driver, and the commands that help push the video firmware. **Source tree** The video software modules include the Adreno VPU driver, the video device tree, and the firmware binary. - Adreno VPU driver BitBake recipe file | Product | VPU driver BitBake recipe file path | | --- | --- | | QCS6490 | <workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/videodlkm\_1.0.bb | - Video device tree BitBake recipe file: The video device tree node is a part of the root device tree file. | Product | Device tree BitBake recipe file path | | --- | --- | | QCS6490 | <workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video
/videodtb\_1.0.bb | **VPU driver build instructions** Use `devtool` to add the debug changes and compile the VPU driver (`iris_vpu.ko`). Following are the instructions: - The source code for VPU drivers is available for access with the following BitBake command: devtool modify videodlkmCopy to clipboard You can make the required debug changes to the VPU driver code that is synced at: <workspace-path>/build-qcom-wayland/workspace/sources/videodlkm. After making the debug changes, use the following command to build the VPU driver: devtool build videodlkmCopy to clipboard - After the compilation is complete, the corresponding `iris_vpu.ko` is created at: <workspace-path>/build-qcom-wayland/workspace/sources/videodlkm/iris\_vpu.ko. - Push the compiled library to the device using the following command after you enter into the SSH shell: Note: Before an SSH command is run, ensure that you enable SSH in the Permissive mode. For instructions, see [How to SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-254/how_to.html#how-to-ssh-). mount -o rw,remount /Copy to clipboard Change the following command according to your <workspace-path> and the <IP address of the device> and run on the host: scp /build-qcom-wayland/workspace/sources/videodlkm/iris_vpu.ko root@/lib/modules/6.6.28/updates/Copy to clipboard Note: When prompted for a password, enter `oelinux123`. - After executing the preceding commands, power Off and power On the target to reflect the updated debug changes. **Video device tree** The video device tree node is a part of the root device tree file. The source code for VPU device tree is available for access with the following BitBake command: devtool modify videodtbCopy to clipboard The VPU device tree code is synced at: <workspace-path>/build-qcom-wayland/workspace/sources/videodtb **Video firmware** The video firmware binary is a prebuilt image from Qualcomm. Use the following command to push the video firmware binary to your device: | Product | Command | | --- | --- | | QCS6490 | cd /build-qcom-wayland/tmp-glibc/work/qcm6490-qcom-linux/qcom-multimedia-image/1.0-r0/rootfs/lib/firmware/qcom/vpu-2.0/Copy to clipboard




scp vpu20_1v.mbn root@/lib/firmware/qcom/vpu-2.0/Copy to clipboard




scp vpu20_1v_unsigned.mbn root@/lib/firmware/qcom/vpu-2.0/Copy to clipboard | Note: When prompted for a password, enter `oelinux123`. ## GStreamer plugins for video The GStreamer plugins for video decoder and encoder are part of the QIM SDK. Download the entire QIM SDK to use the `v4l2h264dec`, `v4l2h265dec`, `v4l2h264enc`, `v4l2h265enc`, and the `v4l2vp9dec` plugins. For more information on the steps to download and build the QIM SDK, see [Qualcomm Linux Intelligent Multimedia SDK (QIM SDK) Quick Start Guide](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-51/introduction.html). The following table lists the GStreamer plugins and their corresponding reference links: | Plug-in | Description/Reference link | | --- | --- | | `v4l2h264dec` | [Decode the H.264 video
stream](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-50/v4l2h264dec.html) | | `v4l2h265dec` | [Decode the H.265 video
stream](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-50/v4l2h265dec.html) | | `v4l2h264enc` | [Encode the H.264 video
stream](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-50/v4l2h264enc.html) | | `v4l2h265enc` | [Encode the H.265 video
stream](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-50/v4l2h265enc.html) | | `v4l2vp9dec` | [Decode the VP9 video
stream](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-50/v4l2vp9dec.html) | Last Published: Jul 12, 2024 [Previous Topic Interfaces](https://docs.qualcomm.com/bundle/publicresource/80-70014-20/topics/interfaces.md) [Next Topic Verify](https://docs.qualcomm.com/bundle/publicresource/80-70014-20/topics/bring-up.md)