# 软件

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

视频软件模块作为整个软件编译包的一部分进行编译，相应的二进制文件位于 `meta-qcom-multimedia` 镜像中。有关同步和编译 `meta-qcom-multimedia` 镜像的步骤的更多信息，参见 [Qualcomm Linux 编译指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-254Y/introduction.html)。此处提供了与视频软件、V4L2 编译说明和 GStreamer 插件相关的信息。

## 用于视频的 V4L2

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

**源代码树**

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

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

使用 `devtool` 添加调试更改并编译 VPU 驱动程序 (`iris_vpu.ko`)。下面是说明：
- 可通过以下 BitBake 命令访问 VPU 驱动程序的源代码：

        devtool modify videodlkmCopy to clipboard

您可以对在以下位置同步的 VPU 驱动程序代码进行所需的调试更改：&lt;workspace-path&gt;/build-qcom-wayland/workspace/sources/videodlkm。进行调试更改后，使用以下命令生成 VPU 驱动程序：

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

        mount -o rw,remount /Copy to clipboard

    根据您的 &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.28/updates/Copy to clipboard

Note: 提示输入密码时，输入 `oelinux123`。
- 执行上述命令后，关闭电源并打开目标电源以反映更新后的调试更改。

**视频设备树**

视频设备树节点是根设备树文件的一部分。可通过以下 BitBake 命令访问 VPU 设备树的源代码：

devtool modify videodtbCopy to clipboard

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

**视频固件**

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

| 产品 | 命令 |
| --- | --- |
| QCS6490 | cd <workspace-path>/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<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 |

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

## 用于视频的 GStreamer 插件

用于视频解码器和编码器的 Gstreamer 插件是 QIM SDK 的一部分。下载整个 QIM SDK 以使用 `v4l2h264dec`、`v4l2h265dec`、`v4l2h264enc`、`v4l2h265enc` 和 `v4l2vp9dec` 插件。有关下载和编译 QIM SDK 的步骤的更多信息，参见 [Qualcomm Linux Intelligent Multimedia SDK (QIM SDK) 快速入门指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70014-51Y/introduction.html)。

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

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

Last Published: Aug 22, 2024

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