aclvencChannelDescParamType

Atlas 训练系列产品,不支持该枚举值。

Atlas A2训练系列产品,不支持该枚举值。

enum aclvencChannelDescParamType {
    ACL_VENC_THREAD_ID_UINT64 = 0,      //回调线程ID,该属性类型对应的值为uint64_t类型
    ACL_VENC_CALLBACK_PTR,              //回调函数,该属性类型对应的值是内存指针
    ACL_VENC_PIXEL_FORMAT_UINT32,       //输入图像格式,该属性类型对应的值为uint32_t类型
    ACL_VENC_ENCODE_TYPE_UINT32,        //视频编码协议,该属性类型对应的值为uint32_t类型
    ACL_VENC_PIC_WIDTH_UINT32,          //输入图片宽度,该属性类型对应的值为uint32_t类型
    ACL_VENC_PIC_HEIGHT_UINT32,         //输入图片高度,该属性类型对应的值为uint32_t类型
    ACL_VENC_KEY_FRAME_INTERVAL_UINT32, //关键帧间隔,该属性类型对应的值为uint32_t类型
    ACL_VENC_BUF_ADDR_PTR,              //编码输出缓存地址
    ACL_VENC_BUF_SIZE_UINT32,           //编码输出缓存大小,该属性类型对应的值为uint32_t类型
    ACL_VENC_RC_MODE_UINT32,            //码率控制模式,该属性类型对应的值为uint32_t类型
    ACL_VENC_SRC_RATE_UINT32,           //输入码流帧率,该属性类型对应的值为uint32_t类型
    ACL_VENC_MAX_BITRATE_UINT32,        //输出码率,该属性类型对应的值为uint32_t类型
    ACL_VENC_MAX_IP_PROP_UINT32         //一个GOP内单个I帧bit数和单个P帧bit数的比例,该属性类型对应的值为uint32_t类型
}
表1 属性配置

属性类型

取值说明

ACL_VENC_THREAD_ID_UINT64

回调线程ID。
说明:

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

ACL_VENC_CALLBACK_PTR

编码回调函数。

ACL_VENC_PIXEL_FORMAT_UINT32

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

ACL_VENC_ENCODE_TYPE_UINT32

视频编码协议。

参见acldvppStreamFormat

ACL_VENC_PIC_WIDTH_UINT32

图片宽度。

ACL_VENC_PIC_HEIGHT_UINT32

图片高度。

ACL_VENC_KEY_FRAME_INTERVAL_UINT32

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

ACL_VENC_BUF_ADDR_PTR

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

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

当前版本获取该参数的值为无效值,不支持获取该参数值。

ACL_VENC_BUF_SIZE_UINT32

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

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

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

当前版本获取该参数的值为无效值,不支持获取该参数值。

ACL_VENC_RC_MODE_UINT32

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

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

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

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

ACL_VENC_SRC_RATE_UINT32

输入码流帧率,单位fps。

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

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

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

ACL_VENC_MAX_BITRATE_UINT32

输出码率,单位kbps。

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

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

ACL_VENC_MAX_IP_PROP_UINT32

一个GOP内单个I帧bit数和单个P帧bit数的比例,取值范围0或[1,100] 。如果不设置该参数,VBR模式下此值默认为80,CBR模式下此值默认为70;如果设置为0,表示使用默认值,即VBR模式下此值默认为80,CBR模式下此值默认为70。