一个典型的IPC数据流
下图是一个典型的IPC数据流模型,流动过程如下:
1. 建立Vif->Vpe->Venc的绑定关系;
2. Sensor 将数据送入vif处理;
3. Vif 将处理后的数据写入Output Port申请的内存,送入下一级;
4. Vpe接收数据,分别送入Pass0(ISP/SCL0)、Pass1(LDC)、Pass2(SCL1)进行处理,将处理的数据写入Output Port申请的内存,送入下一级;
5. Venc接收数据,送入编码器进行编码处理,将编码后的数据写入RingPool内存区;
6. 用户调用Venc的接口取流,送入用户业务层App。
------------------------------
视频输入(VIF)实现启用视频输入设备、视频输入通道、绑定视频输入通道等功能。
==================================
视频输入(VIF)模块结构体如下:
MI_VIF_DevAttr_t结构体
MI_VIF_DevAttr_t定义视频输入设备的属性。
MI_VIF_DevAttr_t
定义视频输入设备的属性。
typedef struct MI_VIF_DevAttr_s
{
MI_VIF_IntfMode_e eIntfMode;
MI_VIF_WorkMode_e eWorkMode;
MI_VIF_HDRType_e eHDRType;
MI_VIF_ClkEdge_e eClkEdge;
MI_VIF_DataYuvSeq_e eDataSeq;
MI_VIF_BitOrder_e eBitOrder;
/* adjust bit order