C函数原型 |
aclError aclvdecSendFrame(aclvdecChannelDesc *channelDesc, acldvppStreamDesc *input, acldvppPicDesc *output, aclvdecFrameConfig *config, void* userData) |
---|---|
Python函数 |
ret = acl.media.vdec_send_frame(vdec_channel_desc, dvpp_stream_desc, dvpp_pic_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,输入码流描述信息的指针地址,输入内存用户需提前申请。
dvpp_pic_desc:int,输出图片描述信息的指针地址,输出内存用户需提前申请。 “dvpp_pic_desc”参数作为输入时,需要用户调用如下接口:
“dvpp_pic_desc”参数作为输出时,用户需在回调函数中调用acl.media.dvpp_get_pic_desc系列接口获取解码后的输出图片数据。隔行码流场景下,隔行码流每帧发送两场,解码时其中一场无图像输出,属于正常现象,会返回ERR_DECODE_NOPIC = 0x20000错误码;隔行码流的解码输出数据都在奇数场对应的输出Buffer中。 vdec_frame_config:int,解码配置的指针地址,预留,当前可填0。 user_data:python对象,用户自定义数据的指针地址。 如果用户需要获取解码的帧序号,则可以在“user_data”参数处定义,然后解码的帧序号可以通过“user_data”参数传递给VDEC的回调函数,用于确定回调函数中处理的是第几帧数据。 |
返回值说明 |
ret:int,错误码。
|
约束说明 |
|
参考资源 |
接口调用流程及示例,参见VDEC视频解码。 |