# aclvencSetChannelDesc系列接口

#### 函数功能

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


#### 函数原型

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 | 输入 | 编码输出缓存指针。 |
| bufSize | 输入 | 编码输出缓存大小，单位为Byte。 说明： Atlas 200/500 A2推理产品，如果不设置该参数，参数值默认为8M；如果设置该参数，参数值最小为5M。 |
| rcMode | 输入 | 指定码率控制模式。 0表示使用默认值 1表示变码率VBR模式 2表示定码率CBR模式 说明： 如果不设置该参数，则采用默认值0。 Atlas 200/500 A2推理产品，默认值0表示VBR模式。 |
| srcRate | 输入 | 输入码流帧率，单位fps。 Atlas 200/500 A2推理产品，取值范围0或者[1,240]。 如果不设置该参数，默认为30；如果设置为0，表示使用默认值，即30。如果该值和实际输入码流帧率相差太大，会影响输出码率。 |
| maxBitRate | 输入 | 输出码率，单位kbps。 Atlas 200/500 A2推理产品，取值范围[2,614400]，如果不设置该参数，默认为2000；如果设置为0，表示使用默认值，即2000。 |


#### 返回值说明

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