aclvdecSetChannelDesc系列接口

函数功能

设置视频解码处理通道描述信息的属性值。同步接口。

函数原型

aclError aclvdecSetChannelDescChannelId(aclvdecChannelDesc *channelDesc, uint32_t channelId);

aclError aclvdecSetChannelDescThreadId(aclvdecChannelDesc *channelDesc, uint64_t threadId);

aclError aclvdecSetChannelDescCallback(aclvdecChannelDesc *channelDesc, aclvdecCallback callback);

aclError aclvdecSetChannelDescEnType(aclvdecChannelDesc *channelDesc, acldvppStreamFormat enType);

aclError aclvdecSetChannelDescOutPicFormat(aclvdecChannelDesc *channelDesc, acldvppPixelFormat outPicFormat);

aclError aclvdecSetChannelDescOutPicWidth(aclvdecChannelDesc *channelDesc, uint32_t outPicWidth);

aclError aclvdecSetChannelDescOutPicHeight(aclvdecChannelDesc *channelDesc, uint32_t outPicHeight);

aclError aclvdecSetChannelDescRefFrameNum(aclvdecChannelDesc *channelDesc, uint32_t refFrameNum);

aclError aclvdecSetChannelDescOutMode(aclvdecChannelDesc *channelDesc, uint32_t outMode)

aclError aclvdecSetChannelDescBitDepth(aclvdecChannelDesc *channelDesc, uint32_t bitDepth)

参数说明

参数名

输入/输出

说明

channelDesc

输出

视频解码处理通道描述信息的指针。

需提前调用aclvdecCreateChannelDesc接口创建aclvdecChannelDesc类型的数据。

channelId

输入

通道ID。

Atlas 200/300/500 推理产品,该参数值的取值范围[0, 31]。

Atlas 训练系列产品,该参数值的取值范围[0, 31]。

Atlas A2训练系列产品,该参数值的取值范围[0, 255]。

Atlas 推理系列产品,该参数值的取值范围[0, 255]。

threadId

输入

回调线程ID。

说明:

同一个进程内,在不同的Device上注册VDEC解码回调函数的线程时,不能指定同一个线程ID。

同一个Device上,多路VDEC解码可以指定同一个线程ID,但相比一个线程处理一路VDEC解码任务来说,一个线程内串行处理多路VDEC解码任务时,VDEC解码性能可能下降。

callback

输入

解码回调函数。

请参见aclvdecCallback

enType

输入

视频编码协议H265-main level(0)、H264-baseline level(1)、H264-main level(2)、H264-high level(3)。

outPicFormat

输入

YUV图像存储格式,支持如下格式:
  • YUV420SP NV12
  • YUV420SP NV21
  • RGB888,Atlas 200/300/500 推理产品不支持该格式,Atlas 训练系列产品不支持该格式
  • BGR888,Atlas 200/300/500 推理产品不支持该格式,Atlas 训练系列产品不支持该格式

如果不设置输出格式,默认使用YUV420SP NV12。

outPicWidth

输入

解码码流最大宽度。

Atlas 200/300/500 推理产品,如果不设置解码码流最大宽度,内部默认使用1920。

Atlas 训练系列产品,如果不设置解码码流最大宽度,内部默认使用1920。

Atlas A2训练系列产品,如果不设置解码码流最大宽度,内部默认使用4096。

Atlas 推理系列产品,如果不设置解码码流最大宽度,内部默认使用4096。

outPicHeight

输入

解码码流最大高度。

Atlas 200/300/500 推理产品,如果不设置解码码流最大高度,内部默认使用1120。

Atlas 训练系列产品,如果不设置解码码流最大高度,内部默认使用1120。

Atlas A2训练系列产品,如果不设置解码码流最大高度,内部默认使用4096。

Atlas 推理系列产品,如果不设置解码码流最大高度,内部默认使用4096。

refFrameNum

输入

参考帧数量,取值范围[0, 16]。

Atlas 200/300/500 推理产品,当前版本不支持用户设置该参数。

Atlas 训练系列产品,当前版本不支持用户设置该参数。

Atlas A2训练系列产品,如果不设置参考帧数量,内部默认使用8。

Atlas 推理系列产品,如果不设置参考帧数量,内部默认使用8。

outMode

输入

设置是否实时出帧(即发送一帧解码一帧,无需依赖后续帧的传入)。

取值范围如下:
  • 0:默认出帧模式,由于解码过程中存在缓存帧,无法实时输出,因此VDEC需要在收到码流中的多帧数据后,才开始输出解码结果。
  • 1:快速出帧模式,VDEC获取码流中的一帧数据后,就开始实时输出解码结果。只支持简单参考关系的H264/H265标准码流(无长期参考帧,无B帧)。

bitDepth

输入

设置视频位宽,默认值为10-bit。

取值范围如下:
  • 0:8-bit
  • 1: 10-bit(默认值)

Atlas 200/300/500 推理产品,当前版本不支持用户设置该参数。

Atlas 训练系列产品,当前版本不支持用户设置该参数。

返回值说明

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