如图,说明图像分辨率,显示分辨率,设备分辨率关系

1. 如何实现分屏显示

海思支持的显示分屏枚举量如下;

typedef enum{VO_MODE_1MUX  ,VO_MODE_2MUX  ,VO_MODE_4MUX  ,VO_MODE_8MUX  ,VO_MODE_9MUX  ,VO_MODE_16MUX ,VO_MODE_25MUX ,VO_MODE_36MUX ,VO_MODE_49MUX ,VO_MODE_64MUX ,VO_MODE_2X4   ,
}VO_MODE_E;

 SDK中的代码片段:

VO_CHN_ATTR_S         stChnAttr;... //根据枚举量确定各个矩形的大小for (i = 0; i < u32WndNum; i++)
{stChnAttr.stRect.s32X       = HI_ALIGN_DOWN((u32Width / u32Square) * (i % u32Square), 2);stChnAttr.stRect.s32Y       = HI_ALIGN_DOWN((u32Height / u32Square) * (i / u32Square), 2);stChnAttr.stRect.u32Width   = HI_ALIGN_DOWN(u32Width / u32Square, 2);stChnAttr.stRect.u32Height  = HI_ALIGN_DOWN(u32Height / u32Square, 2);stChnAttr.u32Priority       = 0; //优先级stChnAttr.bDeflicker        = HI_TRUE;//是否开启抗闪烁;HI_MPI_VO_SetChnAttr(VoLayer, i, &stChnAttr);HI_MPI_VO_EnableChn(VoLayer, i);...
}

(1) 其中 HI_MPI_VO_SetChnAttr 参数1为视频层号; 参数2为通道号; 其中视频层和通道号最大个数随着芯片不同而不同; 这两个参数决定着能最大支持的分屏数量;

注: 本次实验设备视频层号最大为1, 通道号最大为4;所以最大支持VO_MODE_4MUX;

(2) 关于优先级;SINGLE 模式下,当多个通道有重叠的显示区域时,优先级高的通道图像将覆盖优先级低的通道。优先级相同的各通道有重叠时,默认通道号大的图像将覆盖通道号小的通道图像;

(3) 图像(视频源)分辨率(stImageSize)可以不一样;

(4) 显示分辨率(stDispRect)可以不一样;

=>既然图像分辨率和显示分辨率不一样,就存在可能被缩放或裁剪情况; 具体支持和芯片相关;

(5) stImageSize 和 stDispRect 要求 2 对齐;

(6) 设备分辨率和硬件驱动相关,一般默认固定;

2. 视频源如何对接到视频层上

答案就是系统绑定!

MPP_CHN_S stSrcChn;
MPP_CHN_S stDestChn;stSrcChn.enModId   = HI_ID_VPSS;
stSrcChn.s32DevId  = VpssGrp;
stSrcChn.s32ChnId  = VpssChn;stDestChn.enModId  = HI_ID_VO;
stDestChn.s32DevId = VoLayer;
stDestChn.s32ChnId = VoChn;CHECK_RET(HI_MPI_SYS_Bind(&stSrcChn, &stDestChn), "HI_MPI_SYS_Bind(VPSS-VO)");

VpssGrp的VpssChn通道视频绑定 VoLayer视频层的VoChn通道;

3. 补充

(1) 视频画边框

VO_BORDER_S pstBorder;
HI_MPI_VO_GetChnBorder(VoLayer, i, &pstBorder);pstBorder.bBorderEn = HI_TRUE;
pstBorder.stBorder.u32TopWidth      = 2;
pstBorder.stBorder.u32LeftWidth     = 2;
pstBorder.stBorder.u32BottomWidth   = 2;
pstBorder.stBorder.u32RightWidth    = 2;
pstBorder.stBorder.u32Color         = 0xffffff;HI_MPI_VO_SetChnBorder(VoLayer, VoChn, &pstBorder);

(2) 不显示的区域背景颜色如何修改

VO_PUB_ATTR_S          stVoPubAttr    = {0};...
stVoPubAttr.u32BgColor  = COLOR_RGB_BLACK;
...HI_MPI_VO_SetPubAttr(VoDev, pstPubAttr);

海思vo 分屏显示总结相关推荐

  1. 海思3516D闪屏问题-修复

    海思3516D闪屏问题-修复 结论: 闪屏原因: 以前使用错误: 相机还存在问题: ISP调试问题总结 问题:在室内开灯场景下,屏幕闪烁. 问题:图像从暗到亮的时间过长 问题:人脸图像过暗 问题:图像 ...

  2. pycharm 如何将同一项目中不同模块代码分屏显示

    如图,想把这两个模块代码分屏显示 直接拖动其中一个代码的标签到另一个屏幕上 点击全屏显示

  3. c语言文件分屏显示,通用子目录文件显示方法

    通用子目录文件显示方法 在用CHKDS/V对磁盘子目录及子目录文件进行查找时,由于输出显示信息没有分屏显示,很容易错过需要的信息,并且显示信息没有标记出隐藏的子目录名及子目录文件名,这样就对进一步的子 ...

  4. Intellij IDEA中分屏显示方法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 今天才发现IDEA中还有split view的功能,上网查的时候查到了很多莫名其妙的东西. 实际上对 ...

  5. Altium AD20分屏显示,交叉选择模式使用,原理图和PCB器件的同步选择

    AD20可以使用 分屏显示 和 交叉选择,实现对元件快速定位.分类.布局的功能,提高设计效率. 原理图.PCB分屏显示 图纸页 - 右键 - 垂直分割.就会变为分屏显示,搭配双屏使用更加舒适. 交叉选 ...

  6. c# Winform 开发分屏显示应用程序

    c# Winform 开发分屏显示应用程序 原文 http://blog.csdn.net/soft2buy/article/details/7082668 分屏显示即可把一台主机内运行的多个程序分别 ...

  7. Android分屏显示(多窗口支持) 开发总结

    最近公司有分屏显示需求,遇到几点问题 ,在此记录,以做备忘. 我所谓的分屏显示,是在同一个界面内,分屏显示两个app的界面 或者是 注意点1: 系统好像没有获取应用显示的左右或者上下位置的方法,所以我 ...

  8. Android分屏显示

    1,定义 Android N以上系统支持的模式,可上下,左右分屏显示,画中画,多窗口模式 2,方式 要是全局分屏,可在application里设置标签resizeableActivity为true & ...

  9. android分屏模式_Android分屏显示总结

    1. 基础原理 1.1 ActivityRecord.TaskRecord.ActivityStack关系 一个ActivityRecord对应着一个Activity,而一个Activity可能对应着 ...

  10. java如何控制分屏显示,intellij idea 分屏设置 与快捷键

    1.找到分屏功能 File -> setting -> keymap,搜索(注意大小写): Split Vertically 水平分屏 Split Horizontally 垂直分屏 2. ...

最新文章

  1. python出现中文乱码 RuntimeWarning: Glyph 24180 missing from current font.解决方法
  2. jquery 在div追加文本_前端技术--JQuery
  3. [VB.NET]文件观察对象FileSystemWatcher
  4. 【算法】欧拉图,欧拉回路,Eular Circuit,随机生成欧拉图,搜索欧拉回路
  5. epoch、 iteration和batchsize的区别
  6. D02-R语言基础学习
  7. java程序员中英文简历_Java程序员英文简历范文
  8. 电子邮件群发工资条的方法
  9. 2.4G ISM CC2500设计
  10. 腾讯应用宝正式开启 比赛进行到第手游渠道
  11. MySQL存储引擎MyISAM和InnoDB的区别
  12. iphone13配什么充电宝?最适合iphone13的无线充电宝推荐
  13. python数据库选择
  14. 设计师想法_设计师阻止了想法一旦出现时该怎么办
  15. Android设备用指令查看设备mac地址的两种方法
  16. CSS 行内元素设置高度
  17. 铂德发布换弹型电子烟新琥珀,3.5ml超大容量创行业纪录
  18. THU.文本处理三剑客
  19. 人大金仓数据库的归档日志
  20. c语言枚举法课程设计报告,枚举法的程序实现及优化

热门文章

  1. VB.NET创建/修复/压缩/备份/恢复ACCESS数据库
  2. 不会比这更详细的前端工程化的入门教程了
  3. 最近羊毛小更新 青龙面板 薅羊毛 22/6/6更新
  4. 怎么样恢复移动硬盘格式化的数据呢?
  5. 未能启动apache服务器,教你apache服务无法启动一直失败怎么办
  6. 全球及中国毫米波人体安检仪行业竞争格局分析与投资战略规划研究报告2022-2028年
  7. 云服务器流量是什么东西_云服务器带宽与流量都有什么关系?不限制流量服务器...
  8. 初谈证券交易系统开发核心
  9. 锚点实现回到顶部的操作
  10. TensorRT - 扩展TensorRT C++API的模型输入维度,增加Dims5,Dims6,Dims7,Dims8