aclvdecSendSkippedFrame
产品支持情况
产品  | 
是否支持  | 
|---|---|
√  | 
|
√  | 
|
√  | 
|
√  | 
|
√  | 
|
√  | 
功能说明
如果不想获取某一帧的解码结果,可以调用本接口,将待解码的码流(输入内存)传到解码器进行解码,此时,解码结果最终不会输出,解码完成的回调函数中返回的output为nullptr。
本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,aclrtSynchronizeStream)确保任务已执行完成,否则可能会导致训练或推理等业务异常、Device断链掉卡等未知情况。
函数原型
aclError aclvdecSendSkippedFrame(aclvdecChannelDesc *channelDesc, acldvppStreamDesc *input, aclvdecFrameConfig *config, void *userData)
参数说明
参数名  | 
输入/输出  | 
说明  | 
|---|---|---|
channelDesc  | 
输入  | 
通道描述信息的指针。 与调用aclvdecCreateChannel接口创建通道时指定的channelDesc保持一致。 调用aclvdecSetChannelDesc系列接口设置通道描述信息的属性,包括解码通道号、线程、回调函数、视频编码协议等。  说明:  
仅在  | 
input  | 
输入  | 
输入码流描述信息的指针,输入内存用户需提前申请。 
  | 
config  | 
输入  | 
解码配置的指针,预留,当前可填NULL。  | 
userData  | 
输入  | 
用户自定义数据的指针。 如果用户需要获取解码的帧序号,则可以在userData参数处定义,然后解码的帧序号可以通过userData参数传递给VDEC的回调函数,用于确定回调函数中处理的是第几帧数据。  | 
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
约束说明
- 发送数据前必须保证通道已经被创建,否则返回错误。
 - 发送码流时须按帧发送,一次只发送完整的一帧码流。
 - 不能发送eos为0的空码流包(码流长度为0或码流地址为空)。
 - 不可以发送eos为1的帧。
 - 由于码流异常、解码超时等原因,可能导致aclvdecSendFrame接口发送帧或发送eos失败,建议用户在编写代码时,获取该接口的返回码,当该接口调用失败时,进行异常处理。
 - aclvdecSendSkippedFrame接口内部封装了aclrtLaunchCallback接口,用于在Stream的任务队列中增加一个需要执行的回调函数。用户在实现VDEC功能时,无需再单独调用aclrtLaunchCallback接口。