更新时间:2021-03-18 GMT+08:00
分享

CreateVenc

函数原型

int32_t CreateVenc(struct VencConfig* vencConfig)

功能

获取VENC编码实例,相当于获取VENC执行器句柄。调用方可以使用申请到的VENC编码实例调用RunVenc接口进行图片编码。

输入说明

输入为结构体VencConfig类型指针,VencConfig参见说明入参:入参:VencConfig。其中需要配置回调函数,用于处理编码结果。

输出说明

无输出。

返回值说明

  • 返回值非负数代表创建VENC编码实例成功
  • 返回值“-1”代表创建VENC编码实例失败。

使用说明

调用方创建VencConfig对象指针,调用CreateVenc接口将VencConfig对象指针传入。如果申请成功,CreateVenc接口会返回VENC编码实例句柄号,否则返回-1。调用方需要对返回值进行校验。

使用约束

调用方负责VENC编码实例的生命周期,即申请与释放,申请使用CreateVenc接口,释放使用DestroyVenc接口

入参:VencConfig

该入参是初始化VENC模块时使用,结构体所有成员变量必须初始化后再使用。

表1 入参VencConfig

成员变量

说明

取值范围

uint32_t width

图像宽度。

128~1920,且为偶数。

uint32_t height

图像高度。

128~1920,且为偶数。

uint32_t codingType

视频编码协议H265-main level0)、H264-baseline level1)、H264-main level(2)H264-high level3

0~3

  • 0H265 main level(仅支持Slice码流)
  • 1H264 baseline level
  • 2H264 main level
  • 3H264 high level

uint32_t yuvStoreType

YUV图像存储格式。

0或者1

  • 0YUV420 semi-planner(nv12)
  • 1YVU420 semi-planner(nv21)

uint32_t keyFrameInterval

I帧间隔

大于0小于65535

VencOutMsgCallBack vencOutMsgCallBack

回调函数,用于处理编码结果

DVPP(VENC模块)处理每一路图片数据的编码时,对于首帧图片数据,会调用两次回调函数,第一次调用回调函数处理文件头信息,第二次调用回调函数处理本帧的图片数据

typedef void (*VencOutMsgCallBack)(struct VencOutMsg* vencOutMsg, void* userData);不可为空

void* userData

用户记录想要传递的信息,随回调函数返回给用户

可以为NULL

分享:

    相关文档

    相关产品