IPC网络摄像头媒体视屏流MI_VPE模块结构体

2024-03-25 17:52

本文主要是介绍IPC网络摄像头媒体视屏流MI_VPE模块结构体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VPE模块相关数据类型定义如下:

VPE模块错误码如下:

=======================

MI_VPE_CHANNEL 结构体


函数说明
定义:MI_VPE_CHANNEL类型。
定义; typedef MI_S32 MI_VPE_CHANNEL
注意事项:无
相关数据类型及接口:无

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

MI_VPE_PORT 结构体


函数说明
定义:MI_VPE_PORT类型。
定义:typedef MI_S32 MI_VPE_PORT
注意事项:无
相关数据类型及接口:无

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

MI_VPE_RunningMode_e 结构体

定义VPE工作在某种模式下

typedef enum
{E_MI_VPE_RUN_INVALID = 0x00,E_MI_VPE_RUN_DVR_MODE = 0x01,E_MI_VPE_RUN_CAM_TOP_MODE = 0x02,E_MI_VPE_RUN_CAM_BOTTOM_MODE = 0x04,E_MI_VPE_RUN_CAM_MODE =E_MI_VPE_RUN_CAM_TOP_MODE|E_MI_VPE_RUN_CAM_BOTTOM_MODE,E_MI_VPE_RUN_REALTIME_TOP_MODE = 0x08,E_MI_VPE_RUN_REALTIME_BOTTOM_MODE = 0x10,E_MI_VPE_RUN_REALTIME_MODE =E_MI_VPE_RUN_REALTIME_TOP_MODE | E_MI_VPE_RUN_REALTIME_BOTTOM_MODE,E_MI_VPE_RUNNING_MODE_MAX,
} MI_VPE_RunningMode_e;

使用注意:

E_MI_VPE_RUN_DVR_MODE:当输入是YUV 格式时,ISP bypass, 不经过ISP 处理。

E_MI_VPE_RUN_CAM_MODE:当输入是Bayer 格式时,且数据来自DRAM, ISP 支持分时复用,例如多sensor
场景。

E_MI_VPE_RUN_REALTIME_MODE:当输入是Bayer 格式,VIF 和ISP 之间硬件直连,ISP 不支持分时复用,
只支持一个通道,例如单sensor 场景。

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

MI_VPE_SensorChannel_e 结构体
typedef enum
{E_MI_VPE_SENSOR_INVALID = 0,E_MI_VPE_SENSOR0,E_MI_VPE_SENSOR1,E_MI_VPE_SENSOR2,E_MI_VPE_SENSOR3,E_MI_VPE_SENSOR_MAX
}MI_VPE_SensorChannel_e;

使用注意:

与硬件上sensor Pad0/1/2/3 对应,当vpe前端不接sensor的时候使用E_MI_VPE_SENSOR_INVALID。

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

MI_VPE_ChnPortMode_e 结构体

定义VPE channel中每一个port的输出效果模式。

typedef enum
{E_MI_VPE_ZOOM_LDC_NULL,E_MI_VPE_ZOOM_LDC_PORT0 = 0X01,E_MI_VPE_ZOOM_LDC_PORT1 = 0X02,E_MI_VPE_ZOOM_LDC_PORT2 = 0X04,E_MI_VPE_ZOOM_LDC_MAX = E_MI_VPE_ZOOM_LDC_PORT0|E_MI_VPE_ZOOM_LDC_PORT1|E_MI_VPE_ZOOM_LDC_PORT2,
}MI_VPE_ChnPortMode_e;
port0,1,2 输出包含zoom/ldc 效果。

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

MI_VPE_IspApiHeader_t 结构体


定义VPE传给ISP 的数据信息。

typedef struct MI_VPE_IspApiHeader_s
{MI_U32 u32HeadSize; //Size of MIIspApiHeader_tMI_U32 u32DataLen; //Data length;MI_U32 u32CtrlID; //Function IDMI_U32 u32Channel; //Isp channel numberMI_S32 s32Ret; //Isp api retuen value
} MI_VPE_IspApiHeader_t;

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

MI_VPE_ChannelAttr_t 结构体

定义 VPE channel静态属性

typedef struct MI_VPE_ChannelAttr_s
{MI_U16 u16MaxW;MI_U16 u16MaxH;MI_SYS_PixelFormat_e ePixFmt;MI_VPE_SensorChannel_e eSensorBindId;MI_BOOL bNrEn;MI_BOOL bEdgeEn;MI_BOOL bEsEn;MI_BOOL bContrastEn;MI_BOOL bUvInvert;MI_BOOL bRotation;MI_VPE_RunningMode_e eRunningMode;MI_VPE_IspInitPara_t tIspInitPara;MI_BOOL bEnLdc;MI_U32 u32ChnPortMode;
}MI_VPE_ChannelAttr_t;

成员包括:

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

MI_VPE_PqParam_t 结构体

定义 VPE channel属性参数

typedef struct MI_VPE_ChannelPara_s
{MI_U8 u8NrcSfStr; //0 ~ 255;MI_U8 u8NrcTfStr; //0 ~ 255MI_U8 u8NrySfStr; //0 ~ 255MI_U8 u8NryTfStr; //0 ~ 255MI_U8 u8NryBlendMotionTh; //0 ~ 15MI_U8 u8NryBlendStillTh; //0 ~ 15MI_U8 u8NryBlendMotionWei; //0 ~ 31MI_U8 u8NryBlendOtherWei; //0 ~ 31MI_U8 u8NryBlendStillWei; //0 ~ 31MI_U8 u8EdgeGain[6];//0~255MI_U8 u8Contrast;//0~255
} MI_VPE_ChannelPara_t;

成员包括:

使用注意:

BLEND_WEI 数值愈大空间域去噪点强度愈强,建议针对画面动态区设较强的值可达到较好的去噪点效果;针对静止区设定较弱的值,可保留较多细节

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

MI_VPE_HDRType_e 结构体

定义VPE是否开HDR,开HDR是使用哪种方式

typedef enum
{E_MI_VPE_HDR_TYPE_OFF,E_MI_VPE_HDR_TYPE_VC, //virtual channel mode HDR,vc0->long, vc1->shortE_MI_VPE_HDR_TYPE_DOL,E_MI_VPE_HDR_TYPE_EMBEDDED, //compressed HDR modeE_MI_VPE_HDR_TYPE_LI, //Line interlace HDRE_MI_VPE_HDR_TYPE_MAX
} MI_VPE_HDRType_e

使用注意:

具体使用哪一种HDR Type 可以通过MI_SNR_GetPadInfo 接口获取。

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

MI_VPE_3DNR_Level_e 结构体

定义VPE开启3DNR 等级

typedef enu
{E_MI_VPE_3DNR_LEVEL_OFF,E_MI_VPE_3DNR_LEVEL1,E_MI_VPE_3DNR_LEVEL2,E_MI_VPE_3DNR_LEVEL3,E_MI_VPE_3DNR_LEVEL4,E_MI_VPE_3DNR_LEVEL5,E_MI_VPE_3DNR_LEVEL6,E_MI_VPE_3DNR_LEVEL7,E_MI_VPE_3DNR_TYPE_NUM
} MI_VPE_3DNR_Level_e;

使用注意:

Create channel 后设置,为静态属性只能设置一次。
有关3DNR等级,会导致部分3DNR API参数(NR3D_PARAM_t)无法使用,请参考下表

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

MI_VPE_ChannelPara_t 结构体
typedef struct MI_VPE_ChannelPara_s
{MI_VPE_PqParam_t stPqParam; // only dvr useMI_VPE_HDRType_e eHDRType;MI_VPE_3DNR_Level_e e3DNRLevel;MI_BOOL bMirror;MI_BOOL bFlip;MI_BOOL bWdrEn; //Wdr on/offMI_BOOL bEnLdc;
} MI_VPE_ChannelPara_t;

成员包括:

使用注意:

  • 不同chip 支持的最大3dnr level如上表, 设置超过MAX, 内部自动采用MAX Level,Level越高3DNR 强度越强,消耗的buffer也会多一点。
  • 支持的eHDRType 可以通过MI_SNR_GetPadInfo 查询。
  • stPqParam 仅DVR mode 可用。
  • bMirror/ bFlip 支持芯片系列如上表, 预防某些Sensor不支持翻转。

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

MI_VPE_RegionInfo_t 结构体

定义VPE通道区域统计信息

typedef struct MI_VPE_RegionInfo_s
{MI_VPE_Region_t *pstRegion; // region attributeMI_U32 u32RegionNum; // count of the region
} MI_VPE_RegionInfo_t;

成员包括:

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

MI_VPE_PortMode_t 结构体

定义 VPE 端口模式

typedef struct MI_VPE_PortMode_s
{MI_U32 u32Width; // Width of target imageMI_U32 u32Height; // Height of target imageMI_SYS_PixelFormat_e ePixelFormat; // Pixel format of target imageMI_SYS_CompressMode_e eCompressMode; // Compression mode of the output
}MI_VPE_PortMode_t;

成员包括:

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

MI_VPE_IspInitPara_t 结构

定义VPE ISP初始参数Buffer

typedef struct MI_VPE_IspInitPara_s
{MI_U32 u32Revision;MI_U32 u32Size;MI_U8 u8Data[64];
}MI_VPE_IspInitPara_t;

成员包括:

这篇关于IPC网络摄像头媒体视屏流MI_VPE模块结构体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/845780

相关文章

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp