使用Atlas 推理系列产品时,VENC创建通道失败
2024/12/18
34
问题信息
问题来源 | 产品大类 | 关键字 |
---|---|---|
官方 | 模型推理 | VENC、创建通道失败、hi_mpi_venc_create_chn |
问题现象描述
- 业务场景:DVPP
- 适用处理器:Atlas 推理系列产品
- 处理器形态:EP、RC
原因分析
可能原因导致创建通道失败可能原因有以下:
用户传入的通道ID超出了规定的合法范围,VENC规定通道ID在[0,127]总共128个通道。
用户传入的通道属性参数不在规定的合理范围内或设置了暂不支持的参数。
用户试图创建已经存在的通道,比如开始创建了通道号为0的通道,在这个通道还没销毁的情况下,又去创建通道号为0的通道。
解决措施
针对分析的可能原因,请参考以下方法处理:
- 确定hi_mpi_venc_create_chn接口失败时返回的错误码是多少。
- 如果是0xa0088002,则说明用户传入的通道ID超出了规定的合法范围,需要用户修改通道ID在[0,127]内。
- 如果是0xa0088003或0xa0088008,则说明用户传入的通道属性参数不在规定的合理范围内或设置了暂不支持的参数,具体是哪个参数传入有问题可以进一步查看内核日志打印,如下所示,是传入的分辨率不正确。
[Venc]:venc_drv_check_resolution [Line]:342 max picture width (0) err! should in [128,4096]!
常见原因:
1.入参的结构体没有进行memset初始化,导致有些参数如果没有主动设置就会是一些随机值;
2.头文件不匹配,导致枚举类型传入和预期不符合;
3.参数支持范围不了解,各个参数的支持范围可以详细查看DVPP对外接口文档。
- 如果是0xa0088004,则说明用户试图创建已经存在的通道,比如开始创建了通道号为0的通道,在这个通道还没销毁的情况下,又去创建通道号为0的通道
[Venc]:venc_create_chn [Line]:2449 device:0 chnl:0 had been created!
这种情况建议用户排查下通道号管理是否存在问题。
本页内容