CreateVenc
函数原型 |
int32_t CreateVenc(struct VencConfig* vencConfig) |
---|---|
功能 |
获取VENC编码实例,相当于获取VENC执行器句柄。调用方可以使用申请到的VENC编码实例调用RunVenc接口进行图片编码。 |
输入说明 |
输入为结构体VencConfig类型指针,VencConfig参见说明入参:入参:VencConfig。其中需要配置回调函数,用于处理编码结果。 |
输出说明 |
无输出。 |
返回值说明 |
|
使用说明 |
调用方创建VencConfig对象指针,调用CreateVenc接口将VencConfig对象指针传入。如果申请成功,CreateVenc接口会返回VENC编码实例句柄号,否则返回-1。调用方需要对返回值进行校验。 |
使用约束 |
调用方负责VENC编码实例的生命周期,即申请与释放,申请使用CreateVenc接口,释放使用DestroyVenc接口。 |
入参:VencConfig
该入参是初始化VENC模块时使用,结构体所有成员变量必须初始化后再使用。
成员变量 |
说明 |
取值范围 |
---|---|---|
uint32_t width |
图像宽度。 |
128~1920,且为偶数。 |
uint32_t height |
图像高度。 |
128~1920,且为偶数。 |
uint32_t codingType |
视频编码协议H265-main level(0)、H264-baseline level(1)、H264-main level(2)、H264-high level(3) |
0~3
|
uint32_t yuvStoreType |
YUV图像存储格式。 |
0或者1
|
uint32_t keyFrameInterval |
I帧间隔 |
大于0小于65535 |
VencOutMsgCallBack vencOutMsgCallBack |
回调函数,用于处理编码结果。 DVPP(VENC模块)处理每一路图片数据的编码时,对于首帧图片数据,会调用两次回调函数,第一次调用回调函数处理文件头信息,第二次调用回调函数处理本帧的图片数据 |
typedef void (*VencOutMsgCallBack)(struct VencOutMsg* vencOutMsg, void* userData);不可为空 |
void* userData |
用户记录想要传递的信息,随回调函数返回给用户 |
可以为NULL |