aclvencSetChannelDesc系列接口

函数功能

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

Atlas 训练系列产品,不支持该接口。

Atlas A2训练系列产品,不支持该接口。

函数原型

aclError aclvencSetChannelDescThreadId(aclvencChannelDesc *channelDesc, uint64_t threadId);

aclError aclvencSetChannelDescCallback(aclvencChannelDesc *channelDesc, aclvencCallback callback);

aclError aclvencSetChannelDescEnType(aclvencChannelDesc *channelDesc, acldvppStreamFormat enType);

aclError aclvencSetChannelDescPicFormat(aclvencChannelDesc *channelDesc, acldvppPixelFormat picFormat);

aclError aclvencSetChannelDescPicWidth(aclvencChannelDesc *channelDesc, uint32_t picWidth);

aclError aclvencSetChannelDescPicHeight(aclvencChannelDesc *channelDesc, uint32_t picHeight);

aclError aclvencSetChannelDescKeyFrameInterval(aclvencChannelDesc *channelDesc, uint32_t keyFrameInterval);

aclError aclvencSetChannelDescBufAddr(aclvencChannelDesc *channelDesc, void *bufAddr);

aclError aclvencSetChannelDescBufSize(aclvencChannelDesc *channelDesc, uint32_t bufSize);

aclError aclvencSetChannelDescRcMode(aclvencChannelDesc *channelDesc, uint32_t rcMode);

aclError aclvencSetChannelDescSrcRate(aclvencChannelDesc *channelDesc, uint32_t srcRate);

aclError aclvencSetChannelDescMaxBitRate(aclvencChannelDesc *channelDesc, uint32_t maxBitRate)

参数说明

参数名

输入/输出

说明

channelDesc

输出

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

需提前调用aclvencCreateChannelDesc接口创建aclvencChannelDesc类型的数据。

threadId

输入

回调线程ID。
说明:

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

callback

输入

编码回调函数。

enType

输入

视频编码协议。

picFormat

输入

输入图像格式,支持如下格式:
  • PIXEL_FORMAT_YUV_SEMIPLANAR_420
  • PIXEL_FORMAT_YVU_SEMIPLANAR_420

picWidth

输入

图片宽度。

picHeight

输入

图片高度。

keyFrameInterval

输入

关键帧间隔,取值范围[1,65536]。

bufAddr

输入

编码输出缓存指针。
说明:

Atlas 200/300/500 推理产品上,当前版本不支持用户设置该参数,由VENC内部管理该缓存地址。

bufSize

输入

编码输出缓存大小,单位为Byte。
说明:

Atlas 200/300/500 推理产品上,当前版本不支持用户设置该参数,内部默认使用3686400 Byte。

Atlas 推理系列产品上,如果不设置该参数,参数值默认为8M;如果设置该参数,参数值最小为5M。

rcMode

输入

指定码率控制模式。
  • 0表示使用默认值
  • 1表示变码率VBR模式
  • 2表示定码率CBR模式
说明:

如果不设置该参数,则采用默认值0。

Atlas 200/300/500 推理产品,默认值0表示CBR模式。

Atlas 推理系列产品,默认值0表示VBR模式。

srcRate

输入

输入码流帧率,单位fps。

Atlas 200/300/500 推理产品,取值范围0或者[1,120]。

Atlas 推理系列产品,取值范围0或者[1,240]。

如果不设置该参数,默认为30;如果设置为0,表示使用默认值,即30。如果该值和实际输入码流帧率相差太大,会影响输出码率。

maxBitRate

输入

输出码率,单位kbps。

Atlas 200/300/500 推理产品,取值范围0或[10,30000]。如果不设置该参数,默认为300;如果设置为0,表示使用默认值,即300。

Atlas 推理系列产品,取值范围[2,614400],如果不设置该参数,默认为2000;如果设置为0,表示使用默认值,即2000。

返回值说明

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