嵌入式视频方案学习第十一篇——视频编码模块VENC

来源:互联网 发布:ubuntu 设置密码 编辑:程序博客网 时间:2024/06/07 03:51
VENC 模块,即视频编码模块。本模块支持多路实时编码,且每路编码彼此独立,编
码协议和编码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 0
原创粉丝点击