当前位置: 首页 > news >正文

Linux_24:RV1126的VI模块讲解

1.VI模块

本章节主要是介绍视觉项目的VI视频输入模块的讲解,VI视频模块是所有摄像头数据的入口。VI模块的配置在源文件rkmedia_module_function.cpp里面。

2.VI模块的思维导图

上面思维导图主要是描述VI模块设置的大致流程,首先对RV1126_VI_CONFIG结构体进行参数设置,然后调用rkmedia_vi_init对VI模块进行设置和使能,设置完成后再把VI的模块ID放到VI数组里面(vi_containers)。

3.VI模块代码的截图

下图就是整个VI模块配置的具体参数,这里使用设置的结构体是RV1126_VI_CONFIG。RV1126_VI_CONFIG里面主要包含了ID和VI_CHN_ATTR_S结构体设置。

这种分离设计主要有以下目的:

  1. 解耦:将"容器"和"实际的VI设备"分开管理,便于扩展和维护
  2. 灵活性:一个VI设备可能对应多个容器,或者一个容器可能管理多个VI设备
  3. 资源管理:通过容器来统一管理和访问VI资源

idVI模块的id号,用于初始化和使能VI模块

pcVideoNode:摄像头的视频节点,这里默认是rkispp_scale0

u32BufCnt缓冲区计数,默认是3

u32WidthVI模块分辨率宽度1920

u32HeightVI模块分辨率高度1080

enPixFmt图像格式默认是NV12,这里填的是IMAGE_TYPE_NV12

enBufTypeVI模块捕捉视频的类型,这里默认填写MMAP

enWorkModeVI工作模式,这里写的是VI_WORK_MODE_NORMAL

填写完上述的配置参数后,就会调用rkmedia_vi_init这个自己封装的函数,这个函数主要是实现VI模块的初始化和使能的具体操作,具体看下图

rkmedia_vi_init这个自定义函数里面,关键是对VI进行初始化和使能,它分别调用了RK_MPI_VI_SetChnAttr的API对VI模块的属性进行初始化,然后再调用RK_MPI_VI_EnableChn对其使能。

设置完VI模块后,就要把VI模块的ID号设置到容器里面,调用自己封装的函数是set_vi_container

  • id:VI容器的标识符,用于区分不同的容器实例
  • vi_id:关联到前面初始化的VI设备ID(值就是之前设置的0)

set_vi_container的具体实现是:

在这个自定义的函数里面,最主要是把VI的ID号存放在VI模块数组里面(vi_containers),具体结构如下图:

RV1126_ALL_CONTAINER结构体里面包含了四个模块的数组存储分别是VI模块(vi_contaianers)、AI模块(ai_containers)、VENC模块(venc_containers)、AENC模块(aenc_containers)。这四个模块容器就是分别存储,四个模块的ID号,让其能够更加方便的管理起来。

http://www.jsqmd.com/news/794409/

相关文章:

  • 揭秘PlayIntegrityFix核心原理:系统属性欺骗与KeyStore注入技术
  • CANN/ops-math平方差算子
  • 在「唯」与「阿」之间安放计算之道,老子这句话给 SAP HANA 开发的一层提醒
  • CANN/Ascend C Mull乘法API
  • 【AI原生产品规划终极指南】:2026奇点大会PM必修的7大认知跃迁与3个落地陷阱规避法
  • CANN/Ascend C SetDilation API文档
  • 如何每天节省25分钟:淘宝淘金币自动化脚本的终极指南
  • CANN/ops-nn自适应平均池化3D反向计算
  • 如何设计有效的评估提示:HuggingFace evaluation-guidebook提示工程指南
  • CANN/ops-nn AddRmsNormDynamicQuant算子
  • 市面上比较好的水质稳定剂厂家哪家好2026年参考 - 品牌排行榜
  • 从脚本运维到AI自治运维,全链路可观测性重构,SITS 2026标准下9类典型故障自动根因定位率突破91.7%
  • 6G AI原生RAN的算力挑战与TensorPool架构解析
  • 终极指南:使用TCC-G15开源温度控制软件彻底解决Dell G15笔记本散热问题
  • 术语俗话 --- 什么是同步和异步
  • 【信息科学与工程学】计算机科学与自动化 第一百三十篇 GPU芯片设计核心框架与公式03
  • 3分钟掌握百度网盘提取码智能获取技巧:baidupankey工具全解析
  • 情绪总在“亢奋”与“绝望”间横跳?在青岛,如何找对心灵的“避风港”? - 品牌排行榜
  • 如何免费解密网易云音乐NCM文件:终极指南释放你的音乐自由
  • 华为CANN异或求和算子
  • 2026年浙江PH调节剂厂家有哪些?行业相关企业梳理 - 品牌排行榜
  • 【信息科学与工程学】【物理/化学科学和工程技术】知识体系04 缺陷化学 第二部分 总纲
  • 手机号定位神器:3秒查询陌生来电归属地,地图精准定位位置
  • Notify.js性能优化指南:提升通知系统的响应速度
  • 从格罗滕迪克到罗巴切夫斯基:逆境中的创造与几何的突破 —— 数学思想如何在质疑中前行
  • XUnity.AutoTranslator完整指南:让Unity游戏告别语言障碍的终极解决方案
  • 2026浙江PH调节剂厂家推荐榜 - 品牌排行榜
  • 【信息科学与工程学】【人工智能】【数字孪生】【游戏科学】主要数学模型-第八篇 计算血液学
  • CANN/asc-devkit make_int2向量构造函数
  • Flutter 跨平台实战:OpenHarmony 健康管理应用 Day6|首页读取本地存储并卡片展示个人健康信息