python 爬虫 做网站网页制作模板兼职
- 作者: 多梦笔记
- 时间: 2026年02月17日 20:29
当前位置: 首页 > news >正文
python 爬虫 做网站,网页制作模板兼职,wordpress快速建站教程视频,网站html有趣代码主要的解释还是看这些大牛的#xff0c;我这里只是想自己整理一遍#xff1a;海思3518E开发笔记2.5——海思VI#xff08;video input#xff09;模块详解_Spark#xff01;的博客-CSDN博客_海思wdr目录海思video input模块架构介绍海思video input模块功能介绍结构体说明… 主要的解释还是看这些大牛的我这里只是想自己整理一遍海思3518E开发笔记2.5——海思VIvideo input模块详解_Spark的博客-CSDN博客_海思wdr目录海思video input模块架构介绍海思video input模块功能介绍结构体说明函数调用关系流程分析step 1: mipi configurestep 2: configure sensor and ISPinclude WDR modestep 3: run isp threadstep 4 : config start vicap devStep 5: config start vicap chn (max 1)海思3518的sample中创建好视频缓存池及初https://blog.csdn.net/qq_28258885/article/details/118726016海思媒体处理平台VI视频输入模块 - 灰信网软件开发博客聚合https://www.freesion.com/article/5198150354/ 目录 1.VI模块架构介绍 2.结构体说明 3.函数说明 初始化参数 后面函数会引用到 1VI_STARTMIPI ① GK_ADP_COMM_VI_GetMipiLaneDivideMode(pstViConfig) ②GK_ADP_COMM_VI_SetMipiHsMode(lane_divide_mode) 2GK_ADP_COMM_VI_SetParam 参数介绍 3GK_ADP_COMM_VI_CreateVi ①GK_ADP_COMM_VI_StartDev ②GK_ADP_COMM_VI_BindPipeDev ③GK_ADP_COMM_VI_StartViPipe ④GK_ADP_COMM_VI_StartViChn 4 GK_ADP_COMM_VI_StartIsp 总的概述函数图: 1.VI模块架构介绍 摄像机通过镜头(lens)聚焦光线,将光信号投射到 sensor 的感光区域,sensor经过光电转换将 Bayer 格式的原始图像送给 ISP(Image Signal Processing 图像信号处理) 经过算法处理输出 RGB 空间域的图像给后端的视频采集单元。在这个过程中ISP 通过运行在其上的 firmware 对 lens 和 sensor 进行相应控制进而完成自动光圈、自动曝光、自动白平衡等功能。其中firmware 的运转靠视频采集单元的中断驱动。 sensor数据信号出来后通过 MIPI Rx(含 MIPI 接口、LVDS 接口和 HISPI 接口)SLVS-ECBT.1120BT.656BT.601DC 等接口接收视频数据。 MIPI移动产业处理器接口Mobile Industry Processor Interface 简称MIPI是为移动应用处理器制定的开放标准和一个规范 数据传到dev后再对视频数据进行isp处理再进行镜头畸变矫正LDC、动态对比度调节DCI、DIS消抖模块处理最后通过dev将处理好的视频丢进通道和其他模块进行交互。 2.结构体说明 typedef struct gk_VI_CONFIG_S { SAMPLE_VI_INFO_S astViInfo[VI_MAX_DEV_NUM]; //VI_MAX_DEV_NUM 1GK_S32 as32WorkingViId[VI_MAX_DEV_NUM]; //VI_MAX_DEV_NUM 1GK_S32 s32WorkingViNum; } VI_CONFIG_S;//其中 typedef struct hiSAMPLE_VI_INFO_S {SAMPLE_SENSOR_INFO_S stSnsInfo;SAMPLE_DEV_INFO_S stDevInfo;SAMPLE_PIPE_INFO_S stPipeInfo;SAMPLE_CHN_INFO_S stChnInfo;SAMPLE_SNAP_INFO_S stSnapInfo; } SAMPLE_VI_INFO_S; SAMPLE_VI_INFO_S内部参数说明 3.函数说明 初始化参数 后面函数会引用到 pstViConfig-s32WorkingViNum s32ViCnt;pstViConfig-as32WorkingViId[0] 0;pstViConfig-astViInfo[0].stSnsInfo.MipiDev GK_ADP_COMM_VI_GetComboDevBySensor(pstViConfig-astViInfo[0].stSnsInfo.enSnsType, 0);pstViConfig-astViInfo[0].stSnsInfo.s32BusId 0;pstViConfig-astViInfo[0].stDevInfo.ViDev ViDev0;pstViConfig-astViInfo[0].stDevInfo.enWDRMode enWDRMode;pstViConfig-astViInfo[0].stPipeInfo.enMastPipeMode enMastPipeMode;pstViConfig-astViInfo[0].stPipeInfo.aPipe[0] ViPipe0; //实际上就是0pstViConfig-astViInfo[0].stPipeInfo.aPipe[1] -1;pstViConfig-astViInfo[0].stChnInfo.ViChn ViChn;pstViConfig-astViInfo[0].stChnInfo.enPixFormat enPixFormat;pstViConfig-astViInfo[0].stChnInfo.enDynamicRange enDynamicRange;pstViConfig-astViInfo[0].stChnInfo.enVideoFormat enVideoFormat;pstViConfig-astViInfo[0].stChnInfo.enCompressMode enCompressMode; 1VI_STARTMIPI 这部分只有一个COMM_VI_StartMIPI函数这个函数中有一个COMM_VI_SetMipiAttr作用是设置sensor的一些属性COMM_VI_SetMipiAttr中首先打开mipi驱动加载进去后/dev底下生成的文件接着根据不同的sensor为COMM_VI_SetMipiAttr填充不同的参数最后通过ioctl将参数设置给sensor。 这里仅具体解释两个函数。 ① GK_ADP_COMM_VI_GetMipiLaneDivideMode(pstViConfig) 将lane_devide_mode赋值为0 ②GK_ADP_COMM_VI_SetMipiHsMode(lane_divide_mode) 这个函数就是设置mipi的工作模式 一些代码解释 fd open(MIPI_DEV_NODE, O_RDWR); /判断打开文件是否正确。返回的是一个整型变量如果这个值等于-1说明打开文件出现错误如果为大于0的值那么这个值代表的就是文件描述符。/ 详细看这个https://blog.csdn.net/coderder/article/details/77726897https://blog.csdn.net/coderder/article/details/77726897 s32Ret ioctl(fd, MIPI_SET_HS_MODE, enHsMode); //ioctl 是设备驱动程序中设备控制接口函数就是参数设置 linux 内核 - ioctl 函数详解_岁月斑驳7的博客-CSDN博客_ioctl 2GK_ADP_COMM_VI_SetParam 参数介绍 GK_S32 i;GK_S32 s32ViNum;GK_S32 s32Ret;VI_PIPE ViPipe;VI_VPSS_MODE_S stVIVPSSMode;SAMPLE_VI_INFO_S *pstViInfo GK_NULL;typedef struct VI_VPSS_MODE_S {VI_VPSS_MODE_E aenMode[VI_MAX_PIPE_NUM]; } VI_VPSS_MODE_S; //是一个枚举类型VI_VPSS_MODE_E如下typedef enum VI_VPSS_MODE_E {VI_OFFLINE_VPSS_OFFLINE 0,VI_OFFLINE_VPSS_ONLINE,VI_ONLINE_VPSS_OFFLINE,VI_ONLINE_VPSS_ONLINE,VI_PARALLEL_VPSS_OFFLINE,VI_PARALLEL_VPSS_PARALLEL,VI_VPSS_MODE_BUTT } VI_VPSS_MODE_E;typedef struct hiSAMPLE_VI_INFO_S {SAMPLE_SENSOR_INFO_S stSnsInfo;SAMPLE_DEV_INFO_S stDevInfo;SAMPLE_PIPE_INFO_S stPipeInfo;SAMPLE_CHN_INFO_S stChnInfo;SAMPLE_SNAP_INFO_S stSnapInfo; } SAMPLE_VI_INFO_S; GK_ADP_COMM_VI_SetParam(pstViConfig)具体实现如下功能 1 //获取 VIVPSS 的工作模式 2 s32Ret HI_MPI_SYS_GetVIVPSSMode(stVIVPSSMode); 3 //设置 VIVPSS 工作模式。 4 s32Ret HI_MPI_SYS_SetVIVPSSMode(stVIVPSSMode); 其实这里就是把之前设置好的vivpss的值设置好 for (i 0; i pstViConfig-s32WorkingViNum; i) //因为s32WorkingViNum 1 所以以下的都是pstViConfig[0]而根据之前最早的初始化 //aPIPE[0] 0, aPiPE[1] -1;所以if (ViPipe ! -1)等于没用{s32ViNum pstViConfig-as32WorkingViId[i];pstViInfo pstViConfig-astViInfo[s32ViNum];ViPipe pstViInfo-stPipeInfo.aPipe[0];stVIVPSSMode.aenMode[ViPipe] pstViInfo-stPipeInfo.enMastPipeMode;if ((pstViInfo-stPipeInfo.bMultiPipe GK_TRUE)|| (VI_OFFLINE_VPSS_ONLINE pstViInfo-stPipeInfo.enMastPipeMode)){GK_ADP_COMM_VI_UpdateVIVPSSMode(stVIVPSSMode);ViPipe pstViInfo-stPipeInfo.aPipe[1];if (ViPipe ! -1){stVIVPSSMode.aenMode[ViPipe] pstViInfo-stPipeInfo.enMastPipeMode;}}if ((pstViInfo-stSnapInfo.bSnap) (pstViInfo-stSnapInfo.bDoublePipe)){ViPipe pstViInfo-stPipeInfo.aPipe[1];if (ViPipe ! -1){stVIVPSSMode.aenMode[ViPipe] pstViInfo-stSnapInfo.enSnapPipeMode;}}}s32Ret GK_API_SYS_SetVIVPSSMode(stVIVPSSMode); 3GK_ADP_COMM_VI_CreateVi ①GK_ADP_COMM_VI_StartDev 主要就三个函数 GK_ADP_COMM_VI_GetDevAttrBySns(enSnsType, stViDevAttr) //获得dev0的属性 GK_API_VI_SetDevAttr(ViDev, stViDevAttr) /设置 VI 设备属性。基本设备属性默认了部分芯片配置满足绝大部分的 sensor 对接要 求。/ GK_API_VI_EnableDev(ViDev) //启用vi设备 ②GK_ADP_COMM_VI_BindPipeDev 设置 VI 设备与物理 PIPE 的绑定关系 GK_API_VI_SetDevBindPipe(pstViInfo-stDevInfo.ViDev, stDevBindPipe); ③GK_ADP_COMM_VI_StartViPipe GK_ADP_COMM_VI_GetPipeAttrBySns(pstViInfo-stSnsInfo.enSnsType, stPipeAttr); //获得pipe的属性 //memcpy_s(pstPipeAttr, sizeof(VI_PIPE_ATTR_S), PIPE_ATTR_4000x3000_RAW12_420_3DNR_RFR, sizeof(VI_PIPE_ATTR_S)); GK_API_VI_CreatePipe(ViPipe, stPipeAttr) 创建一个 VI PIPE。 GK_API_VI_SetPipeVCNumber(ViPipe, pstViInfo-stPipeInfo.u32VCNum[i]) C语言 memcpy_s 函数 - C语言零基础入门教程 - 猿说编程 - 博客园 (cnblogs.com) ④GK_ADP_COMM_VI_StartViChn 通道的设置和启用 4 GK_ADP_COMM_VI_StartIsp 主要是图像处理函数,这里主要看以下blog 海思3518E开发笔记2.5——海思VIvideo input模块详解_Spark的博客-CSDN博客_海思wdrhttps://blog.csdn.net/qq_28258885/article/details/118726016基于Hi3559AV100 RFCN实现细节解析-3)系统输入VI分析一 : - debugger.wiki - debugger.wikihttps://www.debugger.wiki/article/html/1614846962375332 总的概述函数图:
相关文章
-
python php网站开发用手机制作自己的网站
python php网站开发用手机制作自己的网站
- 站长
- 2026年02月17日
-
python h5网站开发天津seo排名收费
python h5网站开发天津seo排名收费
- 站长
- 2026年02月17日
-
python flask做网站网站从新建设影响收录么
python flask做网站网站从新建设影响收录么
- 站长
- 2026年02月17日
-
python 网站开发 案例多用户商城系统的效果
python 网站开发 案例多用户商城系统的效果
- 站长
- 2026年02月17日
-
python 网站开发 普及网站建设方案书0
python 网站开发 普及网站建设方案书0
- 站长
- 2026年02月17日
-
python 网站开发 视频百度电脑版网址
python 网站开发 视频百度电脑版网址
- 站长
- 2026年02月17日
