函数:vdec_send_skipped_frame

C函数原型

aclError aclvdecSendSkippedFrame(aclvdecChannelDesc *channelDesc, acldvppStreamDesc *input, aclvdecFrameConfig *config, void *userData)

Python函数

ret = acl.media.vdec_send_skipped_frame(vdec_channel_desc, dvpp_stream_desc, vdec_frame_config, user_data)

函数功能

  • 如果不想获取某一帧的解码结果, 可以调用本接口, 将待解码的码流(输入内存)传到解码器进行解码,此时,解码结果最终不会输出,解码完成的回调函数中返回的dvpp_pic_desc为0。异步接口。
  • acl.media.vdec_send_skipped_frame接口内部封装了acl.rt.launch_callback接口,用于在Stream的任务队列中增加一个需要在Host上执行的回调函数。
  • 用户在实现VDEC功能时,无需再单独调用acl.rt.launch_callback接口。

输入说明

vdec_channel_desc:int,指定通道描述信息,与调用acl.media.dvpp_create_channel接口创建通道时指定的dvpp_channel_desc保持一致。调用aclvdecSetChannelDesc系列接口设置通道描述信息的属性,包括解码通道号、线程、回调函数、视频编码协议等。

说明:

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

dvpp_stream_desc:int,输入码流描述信息,输入内存用户需提前申请。
  • 调用acl.media.dvpp_create_stream_desc接口创建码流描述信息。
  • 调用acl.media.dvpp_set_stream_desc系列接口设置视频码流信息的属性(例如,码流格式)。
  • 输入视频码流的分辨率、视频格式的要求,请参见功能及约束说明

vdec_frame_config:int,解码配置,预留,当前可填0。

user_data:python对象,用户自定义数据。

返回值说明

ret:int,错误码。

  • 返回0表示成功。
  • 返回其它值表示失败。

约束说明

  • 发送数据前必须保证通道已经被创建,否则返回错误。

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

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

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

  • 不支持解码B帧的视频码流。

注意事项

Device的内存,支持调用acl.rt.malloc接口/acl.rt.free接口申请/释放内存,也支持调用acl.media.dvpp_malloc/acl.media.dvpp_free接口申请/释放内存。