下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

venc_query_status

c函数原型

hi_s32 hi_mpi_venc_query_status(hi_venc_chn chn, hi_venc_chn_status *status);

Python函数

status, ret = acl.himpi.venc_query_status(chn)

函数功能

查询编码通道状态。

Atlas 200/300/500 推理产品,当前版本不支持该接口。

Atlas 训练系列产品,当前版本不支持该接口。

输入说明

chn:int,编码通道号。

  • Atlas 推理系列产品,编码通道号的取值范围:[0, 256),JPEGE功能和VENC功能共用通道,且通道总数最多256。
  • Atlas A2训练系列产品/Atlas 800I A2推理产品,编码通道号的取值范围:[0, 256),JPEGE功能通道总数最多256。
  • Atlas 200I/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。

返回值说明

ret:int,错误码。

status:dict,编码通道的状态hi_venc_chn_status

约束说明

  • 如果通道未创建,则返回失败。
  • 此接口用于查询此函数调用时刻的编码器状态,“status”包含以下信息:
    • 在编码通道状态字典中,“left_pics”表示待编码的帧个数。在复位通道前,可以通过查询是否还有图像待编码来决定复位时机,防止复位时将可能需要编码的帧清理出去。
    • 在编码通道状态字典中,“left_stream_bytes”表示码流Buffer中剩余的Byte数目。

      在复位通道前,可以通过查询是否还有码流没有被处理来决定复位时机,防止复位时将可能需要的码流清理出去。

    • 在编码通道状态字典中,“left_stream_frames”表示码流Buffer中剩余的帧数目。

      在复位通道前,可以通过查询是否还有图像的码流没有被取走来决定复位时机,防止复位时将可能需要的码流清理出去。

    • 在编码通道状态字典中,“cur_packs”表示当前帧的码流包个数。在调用acl.himpi.venc_get_stream之前应确保“cur_packs”大于 0。

      在按包获取时当前帧可能不是一个完整帧(被取走一部分),按帧获取时表示当前一个完整帧的包个数(如果没有一帧数据则为 0)。用户在需要按帧获取码流时,需要查询一个完整帧的包个数,在这种情况下,通常可以在select成功后执行query操作,此时“cur_packs”是当前完整帧中包的个数。

    • 在编码通道状态字典中,“left_recv_pics”表示调用acl.himpi.venc_start_chn接口后剩余等待接收的帧数目。
    • 在编码通道状态字典中,“left_enc_pics”表示调用acl.himpi.venc_start_chn接口后剩余等待编码的帧数目。
    • 如果调用acl.himpi.venc_start_chn但没有指定接收帧数,“left_recv_pics”“left_enc_pics”数目始终为0。

参考资源

接口调用流程,参见JPEGE图片编码VENC视频编码

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词