关于QT在linux下显示层次的有关问题

关于QT在linux下显示层次的问题
都说linux下OSD一般分为5层,分别是VID0、VID1、OSD0、OSD1、cursor层。看到有人说QT是显示在OSD层上的,那按我的理解OSD层应该显示在VID层之上,而视频则显示在VID层上,这样一来QT不是应该覆盖在视频上显示么?

可我现在的qt程序是被视频覆盖着的,莫非我的理解是错误的?还是qt不是显示在OSD层上的。

现在想明确这么几个问题:

]问题1:osd层是不是应该显示在vid层之上?

问题2:qt究竟是显示在那层上的呢?

问题3:我现在是想让qt的一些控件叠加显示在视频之上,例如文字、简单的线条等。我的思路是让qt覆盖视频显示,然后将qt程序背景设置成透明的,这样控件便可覆盖在视频上显示而又不遮挡视频的其他部分。那么我应该怎么做呢?是在qt程序中进行相关设置呢,还是通过修改linux下一些关于OSD的属性设置呢?如果要改应该改哪里呢?


希望高手多多指点,说的越详细越好,如果方便的话最好留个联系方式,我好当面请教。
先谢谢了,小弟毕业设计啊,卡在这里了,希望大家给予帮助,谢谢~~~


------解决方案--------------------
强烈关注此贴,现在我想做个视频监控的界面,但视频层和图像层遮挡问题一直卡住了,刚入门,还没楼主这深度,顶上去
------解决方案--------------------
路过,osd没有研究,按我的理解来说,你的需求肯定改的是内核和fb1 fb3配置和使用,靠qt貌似搞不定这件事的样子。记忆中以前6446的说法是层本身是固化的不能改的,至于6446和3730是不是一样我就不懂了,友情帮顶下吧。感觉上这个例子应该属davinci系列的常见用法,你可以到e2e.ti社区去问问看。或者在ti官网找找看有没有实例。
------解决方案--------------------
VID0、VID1、OSD0、OSD1、cursor这写层是相对与有类似X11窗口管理器的系统来说的,最简单的分层应该就是看dev下的fb*,有几个fb就分几层。普通的ARM11应该有3到5层得能力,qt库如果是使用-linuxFB选项编译出的,他在启动时会读取环境变量QWSDISPLAY,用这个来指定qws输出到那个fb上去。
几个fb之间的关系和通透性就需要分析芯片手册了。