- 验证 VPU 驱动程序是否成功加载
- 验证解码/编码是否成功卸载到 VPU
- 调试 VPU 驱动程序、固件和 GStreamer 视频插件
图:验证 VPU 驱动程序的工作流程
- 启动驱动程序以开始启动过程并初始化 VPU 驱动程序。
- 验证 VPU 驱动程序是否已成功加载到视频系统中。
- 验证视频解码和编码任务是否由 VPU 正确处理。
- 运行用例以验证 VPU 功能。
验证 VPU 驱动程序是否已在 qcom-multimedia-proprietary-image 上加载
内核镜像会加载 VPU 驱动程序。您可以使用lsmod 或 udevadm 命令检查 VPU 驱动程序是否在 qcom-multimedia-proprietary-image 上成功加载。
使用 lsmod 命令验证
- 在设备 shell 上运行
lsmod命令: - 要验证 VPU 驱动程序是否成功加载,请查看示例输出,确保 Module 列下存在
iris_vpu条目:
使用 udevadm 命令验证
- 在设备 shell 上运行
udevadm命令: - 要验证 VPU 是否成功加载,请查看以下示例输出中
ID_V4L_PRODUCT标签对应显示msm_vidc_decoder和msm_vidc_encoder:
注意:
要识别设备节点,请检查 DEVNAME 标签。在前面的示例中,/dev/video32 对应 VPU 解码器节点,/dev/video33 对应 VPU 编码器节点。
验证 VPU 驱动程序是否已在 qcom-multimedia-image 上加载
内核镜像会加载 VPU 驱动程序。您可以使用lsmod 和 udevadm 命令检查 VPU 驱动程序是否在 qcom-multimedia-image 上成功加载。
使用 lsmod 命令验证
- 针对 Dragonwing IQ-8275、Dragonwing IQ-9075、QCS6490,在设备 shell 上运行以下
lsmod命令: - 要验证 VPU 驱动程序是否成功加载,请查看示例输出,确保 Module 列下存在
qcom_iris条目: - 针对 QCS615,在设备 shell 上运行以下
lsmod命令: - 要验证 VPU 驱动程序是否成功加载,请查看示例输出,确保 Module 列下存在
venus条目:
使用 udevadm 命令验证
- 在设备 shell 上运行
udevadm命令:注意:
请在所有可用的视频节点上运行
udevadm info -a -n /dev/video<0 to Max available video nodes>命令。 - 要验证 Dragonwing IQ-8275/Dragonwing IQ-9075/QCS6490 上的 VPU 是否成功加载,请查看示例输出中可用视频设备对应显示
qcom-iris-decoder和qcom-iris-encoder: - 要验证 QCS615 上的 VPU 是否成功加载,请查看示例输出中可用视频设备对应显示
qcom-venus-decoder和qcom-venus-encoder:
验证解码和编码是否已在 qcom-multimedia-proprietary-image 上卸载
要确认视频解码或编码是否成功卸载到 VPU:- 循环运行以下命令:
示例输出:
- 验证在解码或编码用例运行期间,任意 CPU 上来自
msm-vidc的中断计数是否增加。
验证解码/编码是否已在 qcom-multimedia-image 上卸载
要确认视频解码或编码是否成功卸载到 VPU:- 针对 Dragonwing IQ-8275/Dragonwing IQ-9075/QCS6490,循环运行以下命令:
示例输出:
- 验证在解码或编码用例运行期间,任意 CPU 上来自
iris的中断计数是否增加。 - 针对 QCS615,循环运行以下命令:
示例输出:
- 验证在解码或编码用例运行期间,任意 CPU 上来自
venus的中断计数是否增加。
调试视频
如果您在运行视频解码或编码用例时遇到问题,调试有助于找出根本原因。调试 VPU 驱动程序
本节提供有助于调试 VPU 驱动程序和固件的命令、调试日志级别以及日志值信息。 以下工作流程图展示了调试 VPU 驱动程序和固件的顺序:图:调试 VPU 工作流程
- 挂载调试文件系统以开始调试过程。
- 选择首选的日志级别。
- 根据需要为 VPU 驱动程序和/或固件配置日志级别。
- 使用
debugfs节点应用所选的日志级别。 - 开始捕获 VPU 驱动程序和固件的日志。
- 使用以下命令挂载
debugfs节点: - 按下表所列选择 VPU 驱动程序调试日志级别和调试日志值。您也可以通过调试日志值的位掩码选择多个调试日志级别。
注意: VPU 驱动程序将默认调试级别设置为
VIDC_ERR,并将调试日志限制在错误场景。 - 将 VPU 驱动程序调试日志值设置到
/sys/module/iris_vpu/parameters/msm_vidc_debug节点。激活所有消息级别的示例命令: - 按下表所列选择 VPU 固件调试日志级别和调试日志值。您也可以通过调试日志值的位掩码选择多个调试日志级别。
注意: VPU 固件调试日志仅限于错误和致命场景,默认调试级别设置为 `FW_ERROR | FW_FATAL`。
- 将 VPU 固件调试日志值设置到
/sys/module/iris_vpu/parameters/msm_fw_debug节点。激活所有消息级别的示例命令: - 在设备 shell 中使用以下命令开始捕获 VPU 驱动程序和固件的内核消息,并运行用例:
注意:
- 本节提供的视频调试说明仅适用于
qcom-multimedia-prop-image。 - Adreno VPU 驱动程序的
qcom-multimedia-image中不提供调试日志。 - 要在
qcom-multimedia-image上调试 Adreno 视频驱动程序,请在驱动程序源代码中添加dev_err日志并构建qcom-multimedia-image。 - 有关更多信息,请参阅 qcom-multimedia-image 的 VPU 驱动程序构建说明。

