昇腾故障案例详情页

使用昇腾310P AI处理器时,VENC送入待编码图像帧失败

更新时间: 2022/11/02

暂无评分

问题信息

问题来源产品大类产品子类关键字
官方模型推理应用开发AscendCLVENC、编码、图像帧、失败、hi_mpi_venc_send_frame

问题现象描述

  • 业务场景:DVPP
  • 适用处理器:昇腾310P AI处理器
  • 处理器形态:EP、RC
  • 问题现象:

    调用VENC发送帧的接口hi_mpi_venc_send_frame返回值非0,发送失败。

原因分析

导致发送帧失败可能原因有以下:

  • 用户传入的图像帧参数不在规定的合理范围内或设置了暂不支持的参数。
  • 用户送帧的频率太快,大于了性能的规格。

解决措施

针对分析的可能原因,请参考以下方法处理:

  • 如果是0xa0088003或0xa0088008,则说明用户传入的图像帧参数不在规定的合理范围内或设置了暂不支持的参数,具体是哪个参数传入有问题可以进一步查看内核日志打印,如下所示,是传入的YUV格式不正确。
    [Venc]:hevc_check_pixel_format [Line]:1110 H.265 don't support format 5,should be NV12(1) or NV21(2)

    常见原因:

    1.入参的结构体没有进行memset初始化,导致有些参数如果没有主动设置就会是一些随机值;

    2.头文件不匹配,导致枚举类型传入和预期不符合;

    3.参数支持范围不了解,各个参数的支持范围可以详细查看DVPP对外接口文档。

  • 如果是0xa008800d,则说明VENC的输入空闲队列已满,此时无法再继续往内部送入数据帧,这种问题一般是由于用户送帧的频率太快,大于了芯片处理的速度,导致输入队列堆积,VENC的输入空闲队列长度为6帧,只要堆积到了6帧再继续往里送就会出现这个报错。这种情况建议用户控制调用hi_mpi_venc_send_frame的时间间隔,比如编码帧率30fps,调用的间隔可以控制在33ms一帧。

本页内容

该页面对您有帮助吗?
我要评分