嵌入式视频方案学习第十一篇——视频编码模块VENC
VENC 模块,即视频编码模块。本模块支持多路实时编码,且每路编码彼此独立,编码协议和编码profile 可以不同。本模块支持视频编码同时,调度 Region 模块对编码图像内容进行叠加和遮挡。本模块的输入源包括三类:第一类是用户态读取图像文件向编码模块发送数据;第二类是视频输入(VIU )模块采集的图像经视频处理子系统(VPSS)发送到编码模块;第三类是视频输入(VIU )模块采
码协议和编码profile 可以不同。本模块支持视频编码同时,调度 Region 模块对编码图
像内容进行叠加和遮挡。本模块的输入源包括三类:第一类是用户态读取图像文件向
编码模块发送数据;第二类是视频输入(VIU )模块采集的图像经视频处理子系统
(VPSS)发送到编码模块;第三类是视频输入(VIU )模块采集的图像直接发送到编码
模块
1、创建编码通道组
HI_S32 HI_MPI_VENC_CreateGroup(VENC_GRP VeGroup)
2、销毁编码通道组
HI_S32 HI_MPI_VENC_DestroyGroup(VENC_GRP VeGroup)
3、创建编码通道
HI_S32 HI_MPI_VENC_CreateChn(VENC_CHN VeChn, const VENC_CHN_ATTR_S
*pstAttr)
4、销毁编码通道
HI_S32 HI_MPI_VENC_DestroyChn(VENC_CHN VeChn)
5、注册编码通道到通道组
HI_S32 HI_MPI_VENC_RegisterChn(VENC_GRP VeGroup,VENC_CHN VeChn)
6、反注册编码通道到通道组
HI_S32 HI_MPI_VENC_UnRegisterChn(VENC_CHN VeChn)
7、开启编码通道接收输入图像
HI_S32 HI_MPI_VENC_StartRecvPic(VENC_CHN VeChn)
8、停止编码通道接收输入图像
HI_S32 HI_MPI_VENC_StopRecvPic(VENC_CHN VeChn)
9、查询编码通道状态
HI_S32 HI_MPI_VENC_Query(VENC_CHN VeChn, VENC_CHN_STAT_S *pstStat)
10、设置编码通道属性
HI_S32 HI_MPI_VENC_SetChnAttr(VENC_CHN VeChn, const VENC_CHN_ATTR_S*
pstAttr)
11、获取编码的码流
HI_S32 HI_MPI_VENC_GetStream(VENC_CHN VeChn, VENC_STREAM_S *pstStream,
HI_BOOL bBlockFlag)
12、释放码流缓存
HI_S32 HI_MPI_VENC_ReleaseStream(VENC_CHN VeChn, VENC_STREAM_S
*pstStream)
13、插入用户数据
HI_S32 HI_MPI_VENC_InsertUserData(VENC_CHN VeChn, HI_U8 *pu8Data, HI_U32
u32Len)
14、支持用户发送原始图像进行编码
HI_S32 HI_MPI_VENC_SendFrame(VENC_GRP VeGroup, VIDEO_FRAME_INFO_S
*pstFrame)
15、设置码流最大缓存帧数
HI_S32 HI_MPI_VENC_SetMaxStreamCnt(VENC_CHN VeChn,HI_U32 u32MaxStrmCnt)
16、获取编码通道对应的设备文件句柄
HI_S32 HI_MPI_VENC_GetFd(VENC_CHN VeChn)
更多推荐
所有评论(0)