IPC网络摄像头媒体视屏流MI_VIF结构体

 一个典型的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 layout */
    MI_VIF_SyncAttr_t stSyncAttr;
} MI_VIF_DevAttr_t;

成员包括:

---------------------------------------------

MI_VIF_ChnPortAttr_t结构体

MI_VIF_ChnPortAttr_t定义 VIF 通道Port属性。

typedef struct MI_VIF_ChnPortAttr_s{
    MI_SYS_WindowRect_t stCapRect;
    MI_SYS_WindowRect_t stDestSize;
    MI_SYS_FieldType_e enCapSel;
    MI_SYS_FrameScanMode_e nScanMode;
    MI_SYS_PixelFormat_e ePixFormat;
    MI_VI_FrameRate_e eFrameRate;
    MI_U32 u32FrameModeLineCount
} MI_VIF_ChnPortAttr_t;

成员包括:

Port仅仅支持设置stDestSize,enDstFrameRate,其他属性会被忽略

------------------------------------------------

MI_VIF_ChnPortStat_t结构体

MI_VIF_ChnPortStat_t 定义VIF 通道信息结构体。

typedef struct MI_VIF_ChnStat_s
{
     MI_BOOL bEnable; /* Whether this channel is enabled */
     MI_U32 u32IntCnt; /* The VIFdeo frame interrupt count */
     MI_U32 u32FrmRate; /* current frame rate */
     MI_U32 u32LostInt; /* The interrupt is received but nobody care */
     MI_U32 u32VbFail; /* video buffer malloc failure */
     MI_U32 u32PicWidth;/* curren pic width */
     MI_U32 u32PicHeight;/* current pic height */
} MI_VIF_ChnPortStat_t;

成员包括:

  • 结构体的中断计数,可用于无中断检测。
  • 该结构体的帧率是每 10 秒钟的平均帧率,即 VIF 会每隔十秒统计一次平均帧率, 该值并不精确。
  • 如果查询到该结构体的中断丢失计数一直在增加,说明 VIF 工作出现异常。

-------------------------------------------------

MI_VIF_SNRPad_e结构体

MI_VIF_SNRPad_e定义SensorPad Id。

typedef enum
{
   E_MI_VIF_SNRPAD_NULL,
   E_MI_VIF_SNRPADID0,
   E_MI_VIF_SNRPADID1,
   E_MI_VIF_SNRPADID2,
   E_MI_VIF_SNRPADID3,
   E_MI_VIF_SNRPAD_NUM
}MI_VIF_SNRPad_e;

成员包括:

在默认情况下是VIF Dev0 对应Sensor0, Dev2 对应Sensor1。

参考下图:

------------------------------------------

MI_VIF_Dev2SnrPadMuxCfg_t 结构体

MI_VIF_Dev2SnrPadMuxCfg_t 定义VIF 设备和SensorPad 绑定关系

typedef struct MI_VIF_VIFDev2SnrPadMuxConf_s
{
          MI_VIF_SNRPad_e eSensorPadID; //sensor Pad id
          MI_U32 u32PlaneID; //For HDR, 1 is short exposure, 0 is long exposure,
} MI_VIF_Dev2SnrPadMuxCfg_t;

成员包括:

在默认情况下是VIF Dev0 对应Sensor0, Dev2 对应Sensor1.默认不调用该接口。

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在使用pandas计算VIF(Variance Inflation Factor)时,需要导入pandas库和statsmodels库中的variance_inflation_factor函数。首先,通过pd.read_csv或pd.read_excel函数读取数据文件,然后创建一个空的DataFrame对象data_vif,用于存储计算出来的VIF值。接下来,使用variance_inflation_factor函数计算每个变量的VIF值,将结果存储在data_vif中。中的示例中,可以看到如何使用pandas和statsmodels库来进行多重共线性的诊断和消除。首先,读取数据,并将因变量和自变量分开,然后对自变量进行处理。通过递归的方式,利用variance_inflation_factor函数计算每个自变量的VIF值,并根据阈值进行判断和处理。如果最大的VIF值大于等于10,则删除对应的自变量,并再次进行递归处理。最后,使用OLS函数进行回归分析,并输出模型的摘要信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [VIF系数](https://blog.csdn.net/qq_38124658/article/details/120384202)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [用 VIF 方法消除多维数据中的多重共线性](https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/108877945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖爱Kun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值