下面随笔系列将对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);

最新文章

  1. 用Kotlin创建第一个Android项目(KAD 01)
  2. [转]Mac下配置基于SecurID的Cisco IPSec VPN全攻略(有图)
  3. maven + eclipse + tomcat热部署
  4. 面向对象cookie增删查
  5. 计算字符数组长度,用strlen 与 sizeof 的原理与区别
  6. 30天,O2O速成攻略【8.22北京站】
  7. NOIP2015 普及组(Junior) 解题报告
  8. zoj 3785 What day is that day?
  9. Linux进程间通信——使用匿名管道
  10. GLFW库文件配置
  11. 有没有最好的学习Angularjs2的视频入门体验?
  12. HTML5 history.pushState()和history.replaceState()新增、修改历史记录用法介绍
  13. .htaccess使用方法介绍
  14. springboot 新模板 呵呵了
  15. Linux kernel Programming - Advanced Char Driver Operations
  16. 利用ss-redir加速服务器上国外服务的访问
  17. QQ Protect 的删除
  18. csu oj 1341 string and arrays
  19. js随机生成一个数组中的随机字符串以及更新验证码
  20. 控制台打印九九乘法表(for循环的使用)

热门文章

  1. 2020牛客暑期多校训练营(第八场)Interesting Computer Game
  2. POJ 1743 Musical Theme【SAM】
  3. HDOJ 1242
  4. POJ - 3693 Maximum repetition substring(重复次数最多的连续重复子串)
  5. 向 3D 世界迈出一小步
  6. 基于CentOS-7的redis下载和安装
  7. Nginx基础 - Nginx+Lua实现灰度发布与WAF
  8. NIST随机数测试软件安装与使用 && igamc:UNDERFLOW
  9. spring-cloud-eureka-client-consumer
  10. Fetch API & cancel duplicate API & cache API