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 推理系列产品(Ascend 310P处理器),该参数值的取值范围[0, 255]。 Atlas 200I/500 A2推理产品,该参数值的取值范围[0, 255]。 Atlas A2训练系列产品,该参数值的取值范围[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。 |
outPicWidth |
输入 |
解码码流最大宽度。 Atlas 200/300/500 推理产品,如果不设置解码码流最大宽度,内部默认使用1920。 Atlas 训练系列产品,如果不设置解码码流最大宽度,内部默认使用1920。 Atlas 推理系列产品(Ascend 310P处理器),如果不设置解码码流最大宽度,内部默认使用4096。 Atlas 200I/500 A2推理产品,如果不设置解码码流最大宽度,内部默认使用4096。 Atlas A2训练系列产品,如果不设置解码码流最大宽度,内部默认使用4096。 |
outPicHeight |
输入 |
解码码流最大高度。 Atlas 200/300/500 推理产品,如果不设置解码码流最大高度,内部默认使用1120。 Atlas 训练系列产品,如果不设置解码码流最大高度,内部默认使用1120。 Atlas 推理系列产品(Ascend 310P处理器),如果不设置解码码流最大高度,内部默认使用4096。 Atlas 200I/500 A2推理产品,如果不设置解码码流最大高度,内部默认使用4096。 Atlas A2训练系列产品,如果不设置解码码流最大高度,内部默认使用4096。 |
refFrameNum |
输入 |
参考帧数量,取值范围[0, 16]。 Atlas 200/300/500 推理产品,当前版本不支持用户设置该参数。 Atlas 训练系列产品,当前版本不支持用户设置该参数。 Atlas 推理系列产品(Ascend 310P处理器),如果不设置参考帧数量,内部默认使用8。 Atlas 200I/500 A2推理产品,如果不设置参考帧数量,内部默认使用8。 Atlas A2训练系列产品,如果不设置参考帧数量,内部默认使用8。 |
outMode |
输入 |
设置是否实时出帧(即发送一帧解码一帧,无需依赖后续帧的传入)。
取值范围如下:
|
bitDepth |
输入 |
设置视频位宽,默认值为10-bit。
取值范围如下:
Atlas 200/300/500 推理产品,当前版本不支持用户设置该参数。 Atlas 训练系列产品,当前版本不支持用户设置该参数。 |
返回值说明
返回0表示成功,返回其它值表示失败。