昇腾社区首页
中文
注册

函数:vdec_send_skipped_frame

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas 训练系列产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

功能说明

如果不想获取某一帧的解码结果, 可以调用本接口, 将待解码的码流(输入内存)传到解码器进行解码,此时,解码结果最终不会输出,解码完成的回调函数中返回的dvpp_pic_desc为0。异步接口。

函数原型

  • C函数原型
    1
    aclError aclvdecSendSkippedFrame(aclvdecChannelDesc *channelDesc, acldvppStreamDesc *input, aclvdecFrameConfig *config, void *userData)
    
  • python函数
    1
    ret = acl.media.vdec_send_skipped_frame(vdec_channel_desc, dvpp_stream_desc, vdec_frame_config, user_data)
    

参数说明

参数名

说明

vdec_channel_desc

int,指定通道描述信息的指针地址。

与调用acl.media.dvpp_create_channel接口创建通道时指定的“dvpp_channel_desc”保持一致。

调用acl.media.vdec_set_channel_desc系列接口设置通道描述信息的属性,包括解码通道号、线程、回调函数、视频编码协议等。

说明:

对于Atlas 200/300/500 推理产品,由于软件约束,不支持调用acl.media.vdec_set_channel_desc_ref_frame_num接口设置通道描述信息的对应属性,若调用则会返回报错。

对于Atlas 训练系列产品,由于软件约束,不支持调用acl.media.vdec_set_channel_desc_ref_frame_num接口设置通道描述信息的对应属性,若调用则会返回报错。

dvpp_stream_desc

int,输入码流描述信息的指针地址,输入内存用户需提前申请。

vdec_frame_config

int,解码配置的指针地址,预留,当前可填0。

user_data

python对象,用户自定义数据的指针地址。

如果用户需要获取解码的帧序号,则可以在“user_data”参数处定义,然后解码的帧序号可以通过“user_data”参数传递给VDEC的回调函数,用于确定回调函数中处理的是第几帧数据。

返回值说明

返回值

说明

ret

int,错误码,返回0表示成功,返回其它值表示失败。

约束说明

  • 本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,acl.rt.synchronize_stream)确保任务已执行完成。
  • 发送数据前必须保证通道已经被创建,否则返回错误。

  • 发送码流时须按帧发送,一次只发送完整的一帧码流。

  • 不能发送eos为0的空码流包(码流长度为0或码流地址为空)。

  • 不可以发送eos为1的帧。

  • 由于码流异常、解码超时等原因,可能导致acl.media.vdec_send_frame接口发送帧或发送eos失败,建议用户在编写代码时,获取该接口的返回码,当该接口调用失败时,进行异常处理。
  • acl.media.vdec_send_skipped_frame接口内部封装了acl.rt.launch_callback接口,用于在Stream的任务队列中增加一个需要在Host上执行的回调函数。用户在实现VDEC功能时,无需再单独调用acl.rt.launch_callback接口。