# 软件

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

## 用于视频的 GStreamer 插件

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

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

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

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

## 用于视频的 V4L2

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

**源代码树**

视频软件模块包括 Adreno VPU 驱动程序、视频设备树和固件二进制文件。

- Adreno VPU 驱动程序 BitBake 配方文件。

    | 芯片产品 | VPU 驱动程序 BitBake 配方文件路径 |
    | --- | --- |
    | QCS6490 | `<workspacepace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodlkm_1.0.bb` |
    | QCS9075/QCS8275 | `<workspacepace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodlkm_1.0.bb` |
    |  |  |
- 视频设备树 BitBake 配方文件：视频设备树节点是根设备树文件的一部分。

    | 芯片产品 | 设备树 BitBake 配方文件路径 |
    | --- | --- |
    | QCS6490 | `<workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodtb_1.0.bb` |
    | QCS9075/QCS8275 | `<workspace-path>/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-videodlkm
        Copy to clipboard
2. 在以下位置对 VPU 驱动程序代码进行所需的调试更改：`<workspace-path>/build-qcom-wayland/workspace/sources/videodlkm` 进行调试更改后，使用以下命令编译 VPU：

devtool build qcom-videodlkm
        Copy to clipboard
3. 编译后，对应的 `iris_vpu.ko` 将在 `<workspace-path>/build-qcom-wayland/workspace/sources/videodlkm/iris_vpu.ko` 处可用。
4. 进入 SSH shell 后，使用以下命令将编译后的库推送到设备：

Note

您必须启用 SSH 才能访问您的 Linux 主机。相关说明，可参见 [SSH 使用指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-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; 更改以下命令并在Linux主机上运行该命令：

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-videodtb
        Copy to clipboard
2. 在以下位置对 VPU 驱动程序代码进行所需的调试更改：`<workspace-path>/build-qcom-wayland/workspace/sources/videodlkm` 进行调试更改后，使用以下命令编译 VPU：

devtool build qcom-videodlkm
        Copy to clipboard

VPU 设备树代码可在以下位置获得：`<workspace-path>/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.0<br>    Copy to clipboard<br><br><br>scp vpu20_1v.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-2.0/<br>    Copy to clipboard<br><br><br>scp vpu20_1v_unsigned.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-2.0/<br>    Copy to clipboard |
| QCS9075/QCS8275 | 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.0<br>    Copy to clipboard<br><br><br>scp vpu30_4v.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-3.0/<br>    Copy to clipboard<br><br><br>scp vpu30_4v_unsigned.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-3.0/<br>    Copy to clipboard |

Note

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

Last Published: Jan 24, 2025

[Previous Topic
API 和示例应用程序](https://docs.qualcomm.com/bundle/publicresource/80-70017-20SC/topics/interfaces.md) [Next Topic
验证和调试](https://docs.qualcomm.com/bundle/publicresource/80-70017-20SC/topics/bring-up.md)

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