# 软件

Source: [https://docs.qualcomm.com/doc/80-70015-20SC/topic/software.html](https://docs.qualcomm.com/doc/80-70015-20SC/topic/software.html)

视频软件模块和相应的二进制文件作为整个软件编译包的一部分在 `meta-qcom-multimedia` 镜像中提供。有关同步和编译 `meta-qcom-multimedia` 镜像的步骤的详细信息，可参见 [Qualcomm Linux 编译指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-254/introduction.html)。以下主题中介绍了有关视频软件、V4L2 编译说明和 GStreamer 插件的信息。

## 用于视频的 V4L2

以下是与源代码树、VPU 驱动程序编译说明的信息，以及帮助推送视频固件的命令。

**源代码树**

视频软件模块包括 Adreno VPU 驱动程序、视频设备树和固件二进制文件。
- Adreno VPU 驱动程序 BitBake recipe 文件。
| 芯片产品 | VPU 驱动程序 BitBake recipe 文件路径 |
    | --- | --- |
    | QCS6490 | &lt;workspace-path&gt;/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodlkm\_1.0.bb |
    | QCS9075 | &lt;workspace-path&gt;/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodlkm\_1.0.bb |
    |  |  |
- 视频设备树 BitBake recipe 文件：视频设备树节点是根设备树文件的一部分。
| 芯片产品 | 设备树 BitBake recipe 文件路径 |
    | --- | --- |
    | QCS6490 | &lt;workspace-path&gt;/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodtb\_1.0.bb |
    | QCS9075 | &lt;workspace-path&gt;/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodtb\_1.0.bb |
    |  |  |

**VPU 驱动程序编译说明**

用于 `devtool` 添加调试更改并编译 VPU 驱动程序 (`iris_vpu.ko`)。可执行下列操作来编译 VPU 驱动程序：
1. 可通过运行以下 BitBake 命令来访问 VPU 驱动程序的源代码：

        devtool modify qcom-videodlkmCopy to clipboard
2. 在以下位置对 VPU 驱动程序代码进行所需的调试更改：&lt;workspace-path&gt;/build-qcom-wayland/workspace/sources/videodlkm.进行调试更改后，使用以下命令编译 VPU：

        devtool build qcom-videodlkmCopy to clipboard
3. 编译完成后，将在以下位置提供相应的 `iris_vpu.ko` ：&lt;workspace-path&gt;/build-qcom-wayland/workspace/sources/videodlkm/iris\_vpu.ko.
4. 进入 SSH shell 后，使用以下命令将编译后的库推送到设备：
Note: 在运行 SSH 命令之前，确保启用 SSH。有关说明，可参见 [SSH 使用指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-254/how_to.html#use-ssh)。

        mount -o rw,remount /Copy to clipboard
5. 根据您的 &lt;workspace-path&gt; 和 &lt;IP address of the device&gt; 更改以下命令并在主机上运行该命令：

        scp <workspace-path>/build-qcom-wayland/workspace/sources/videodlkm/iris_vpu.ko root@<IP address of the device>/lib/modules/6.6.38-02695-g9d53679ea3d3/updates/Copy to clipboard

Note: 当系统提示输入密码时，输入 `oelinux123`。
6. 若要查看更新的调试更改，关闭设备电源，然后再打开设备电源。

**视频设备树**

视频设备树节点是根设备树文件的一部分。可执行下列操作来访问 VPU 设备树：

1. 可使用以下 BitBake 命令来访问 VPU 设备树的源代码：

        devtool modify qcom-videodtbCopy to clipboard
2. 在以下位置对 VPU 驱动程序代码进行所需的调试更改：&lt;workspace-path&gt;/build-qcom-wayland/workspace/sources/videodlkm.进行调试更改后，使用以下命令编译 VPU：

        devtool build qcom-videodlkmCopy to clipboard

VPU 设备树代码可在以下位置获得： &lt;workspace-path&gt;/build-qcom-wayland/workspace/sources/videodtb

**视频固件**

视频固件二进制文件是 Qualcomm 的预编译镜像。使用以下命令将视频固件二进制文件推送到您的设备：

| 芯片产品 | 命令 |
| --- | --- |
| QCS6490 | cd <workspace-path>/build-qcom-wayland/tmp-glibc/work/qcs6490_rb3gen2_vision_kit-qcom-linux/qcom-multimedia-image/1.0-r0/rootfs/lib/firmware/qcom/vpu-2.0Copy to clipboard<br><br><br>                                    <br><br>    scp vpu20_1v.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-2.0/Copy to clipboard<br><br><br>                                    <br><br>    scp vpu20_1v_unsigned.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-2.0/Copy to clipboard |
| QCS9075 | cd <workspace-path>/build-qcom-wayland/tmp-glibc/work/qcs9100_ride_sx-qcom-linux/qcom-multimedia-image/1.0-r0/rootfs/lib/firmware/qcom/vpu-3.0Copy to clipboard<br><br><br>                                    <br><br>    scp vpu30_4v.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-3.0/Copy to clipboard<br><br><br>                                    <br><br>    scp vpu30_4v_unsigned.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-3.0/Copy to clipboard |

Note: 当系统提示输入密码时，输入 `oelinux123`。

## 用于视频的 GStreamer 插件

用于视频解码器和编码器的 Gstreamer 插件是 IM SDK 的一部分。下载 IM SDK 以使用 `v4l2h264dec`、 `v4l2h265dec`、 `v4l2h264enc`、 `v4l2h265enc`和 `v4l2vp9dec` GStreamer 插件。

下表列出了 GStreamer 插件及其相应的参考链接：

| 插件 | 说明/参考链接 |
| --- | --- |
| `v4l2h264dec` | [解码 H.264 视频流](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/v4l2h264dec.html) |
| `v4l2h265dec` | [解码 H.265 视频流](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/v4l2h265dec.html) |
| `v4l2h264enc` | [编码 H.264 视频流](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/v4l2h264enc.html) |
| `v4l2h265enc` | [编码 H.265 视频流](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/v4l2h265enc.html) |
| `v4l2vp9dec` | [解码 VP9 视频流](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/v4l2vp9dec.html) |

有关下载和编译步骤的详细信息，参见 [Qualcomm Intelligent Multimedia Product (QIMP) SDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-51/introduction.html)。

Last Published: Dec 03, 2024

[Previous Topic
接口](https://docs.qualcomm.com/bundle/publicresource/80-70015-20SC/topics/interfaces.md) [Next Topic
验证](https://docs.qualcomm.com/bundle/publicresource/80-70015-20SC/topics/bring-up.md)