基于Hi3559AV100 RFCN实现细节解析-(1)VGS初介绍
2024-09-08 09:29:04
下面随笔系列将对Hi3559AV100 RFCN实现细节进行解析,因为RFCN用到了VGS加框,因此本篇随笔将给出VGS视频图像子系统的具体说明,便于后面RFCN的细节实现说明。
VGS 是视频图形子系统,全称为 Video Graphics Sub-System。支持对一幅输入图像进行处理,如进行缩放、像素格式转换、视频存储格式转换、压缩/解压、打 COVER、打 OSD、画线、旋转、动态范围转换等处理。
基本概念
job
VGS 管理 task 的结构,一个 job 里可以包含多个 task,VGS 保证 task 按照添加到job 的顺序执行,并且保证一个 job 里的所 task一次性提交硬件执行。用户可以在加载 VGS ko 时设置模块参数(max_vgs_job)来设置 VGS 支持的最大 job 数。job 数取值范围为[20, 400],Linux 默认为 128, Huawei LiteOS 默认值为 64。
task
对一幅图像完成具体的一个或多个操作,比如打 OSD、缩放或像素格式转换等。用户可以在加载 VGS ko 时设置模块参数(max_vgs_task)来设置 VGS 支持的最大 task 数。task 数取值范围为[20, 800],Linux 默认为 200, Huawei LiteOS 默认值为 100。
node
VGS 硬件的最小执行单位,一个 task 对应一个或多个 node。node 中包含硬件工作需要的信息,比如源图像地址,目标图像地址,操作类型等,并按照硬件要求的形式组织。用户可以在加载 VGS ko 时设置模块参数(max_vgs_node)来设置VGS 支持的最大 node 数。node 数取值范围为[20, 800],Linux 默认为 200, Huawei LiteOS 默认值为 100。
bVgsHdrSupport
HDR 模块参数,取值范围[0, 1],0 为关闭(默认关闭 HDR),HDR 关闭时 VGS只支持 SDR8 和 SDR10。用户可以在加载 VGS ko 时设置模块参数(bVgsHdrSupport)来设置 VGS 是否支持 HDR。此模块参数仅用于Hi3559AV100。
vgs_en[VGS_IP_NUM]
VGS 硬件开关,用户可以在加载 VGS ko 时设置模块参数(vgs_en)来设置 VGSIP 开启或关闭。默认所 IP 都开启。当 VGS_IP_NUM 为 2 时,只支持开启或关闭 VGS1,插 ko 后 VGS0 始终打开;当 VGS_IP_NUM 为 1 时,该参数无效,插ko 后 VGS0 始终打开。
HANDLE
任务句柄,标识一个 job。
功能介绍
VGS 的功能主要缩放、打 OSD、打 COVER、画线、像素格式转换、视频存储格式转换、压缩/解压、旋转、低功耗策略、动态范围转换。
RFCN实现VGS涉及相关函数
在画框函数实现下:SAMPLE_COMM_SVP_NNIE_FillRect,涉及如下VGS函数。
1 //启动一个 job。
2
3 HI_MPI_VGS_BeginJob(&VgsHandle);
4
5 //往一个已经启动的 job 里添加打 COVER task。 task属性必须满足VGS的能力。
6 s32Ret = HI_MPI_VGS_AddCoverTask(VgsHandle, &stVgsTask, &stVgsAddCover);
7
8 //提交一个 job。
9 s32Ret = HI_MPI_VGS_EndJob(VgsHandle);
最新文章
- 用Kotlin创建第一个Android项目(KAD 01)
- [转]Mac下配置基于SecurID的Cisco IPSec VPN全攻略(有图)
- maven + eclipse + tomcat热部署
- 面向对象cookie增删查
- 计算字符数组长度,用strlen 与 sizeof 的原理与区别
- 30天,O2O速成攻略【8.22北京站】
- NOIP2015 普及组(Junior) 解题报告
- zoj 3785 What day is that day?
- Linux进程间通信——使用匿名管道
- GLFW库文件配置
- 有没有最好的学习Angularjs2的视频入门体验?
- HTML5 history.pushState()和history.replaceState()新增、修改历史记录用法介绍
- .htaccess使用方法介绍
- springboot 新模板 呵呵了
- Linux kernel Programming - Advanced Char Driver Operations
- 利用ss-redir加速服务器上国外服务的访问
- QQ Protect 的删除
- csu oj 1341 string and arrays
- js随机生成一个数组中的随机字符串以及更新验证码
- 控制台打印九九乘法表(for循环的使用)
热门文章
- 2020牛客暑期多校训练营(第八场)Interesting Computer Game
- POJ 1743 Musical Theme【SAM】
- HDOJ 1242
- POJ - 3693 Maximum repetition substring(重复次数最多的连续重复子串)
- 向 3D 世界迈出一小步
- 基于CentOS-7的redis下载和安装
- Nginx基础 - Nginx+Lua实现灰度发布与WAF
- NIST随机数测试软件安装与使用 &;&; igamc:UNDERFLOW
- spring-cloud-eureka-client-consumer
- Fetch API &; cancel duplicate API &; cache API