完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-5-29 11:53 编辑
ti的工程师们,你们好: 我在开发dm368的时候遇到一个问题,如图: 我在LCD上把VIDEO0层和OSD1层都显示出来了,VIDEO0层铺满全屏,屏幕下方的绿色区域是OSD1层,这时由于OSD1的优先级较 高,会把video层盖住一部分;OSD1层上我跑了一个QT程序,并且把QT的背景设置成了透明的,但是透明的区域并没有显示出底层的video视频, 而是绿色的,请问怎么把OSD1 上的透明区域显示出video图像呢? 我在VPBE手册中也找到了设置OSD层的寄存器的位置,但是修改之后,没有什么效果。 0x01C7:0200 OSD VPBE – On Screen Display Offset Register Description Section 200h MODE OSD Mode Register Section 6.3.1 204h VIDWINMD Video Window Mode Setup Register Section 6.3.2 208h OSDWIN0MD OSD Window Mode Setup Register Section 6.3.3 20Ch OSDWIN1MD OSD Window 1 Mode Setup Register Section 6.3.4 (when used as a second OSD window) |
|
相关推荐
8个回答
|
|
你好,
运行QT的OSD1使用的是RGB888么? 如果是,能否尝试使能transparent并且配置下面的寄存器? TRANSPVALL.RGBL Transparency value (RGB565) for RGB565 data, or lower 16-bit of transparency value (GB) for RGB888. TRANSPVALU.RGBU Transparency value upper byte (R) for RGB888. |
|
|
|
您好: 我的OSD0是PIXFMT_RGB565, OSD1是PIXFMT_OSD_ATTR;按照您的回答我设置了相应的寄存器,但是QT界面的绿色背景依旧存在! 根据您的回答,我分别设置了 OSDWIN0MD.TE0=1(Transparency enable for OSD window 0) OSDWIN1MD.TE1=1 (Transparency enable for OSD window 1) TRANSPVALL.RGBL=0x5555 TRANSPVALU.RGBH=0x4444 然后用regrw.out工具看了里面的值,也都写进去了: OSD0和OSD1: root@DM368_IPNC:/opt/ipnc# ./regrw.out 1c71c08 0x01c71c08: 0000303d 000030fc 00000000 00000000 TRANSPVALL和TRANSPVALU: root@DM368_IPNC:/opt/ipnc# ./regrw.out 1c71cf4 0x01c71cf4: 00005555 00004444 00000000 00000000 |
|
|
|
uweuewyfydsf 发表于 2018-5-28 07:54 你好, 你之前的帖子说QT是在OSD window1上的,但从寄存器看OSD window1没有使能,但0使能了。 我的想法是让绿色部分的QT内容完全不显示,而显示视频。其他颜色的QT内容保留。 OSDWIN0MD.BLND1你的配置是7,但这表示OSD完全显示,video窗口不显示,我认为应该配置为0. 由于OSDWIN0MD.BMP0MD=1, 所以只需要配置TRANSPVALL.RGBL。而TRANSPVALL.RGBL的值应是你需要让OSD透明的值,如果是绿色,这个值我认为可能是0x7E0,请你读取一下QT界面里面绿色地方的值来确保正确。 |
|
|
|
物是人非aaa 发表于 2018-5-28 08:13 您好: 感谢您的回答; 按照您的说法,我重新配置了寄存器,可还会显示绿色的背景; 我重新阐述一下我的需求:我想在video层显示视频数据的时候,OSD层也能显示图片,但是这时,OSD层上的QT程序会把video层遮住,所以我想使QT上的某一区域透明化,能够显示出底层的video视频,所以我在QT上贴了一张透明的图片,但是在启动QT程序时,发现背景为绿色的,我不清楚这个绿色的背景是从哪儿出来的? 我想在情况是: 1.开机显示linux的LOGO, video层铺满全屏,osd层的位置我做了向下偏移,这时候也都正常 root@DM368_IPNC:~# ./regrw.out 01c71c08 0x01c71c08: 00003005 000030fc 00000000 00000000 2.使OSD层透明:. /regrw.out -w 01c71cf4 15 (不清楚为什么是15,这个我一个一个试出来的) LCD显示就变成了: root@DM368_IPNC:~# ./regrw.out 01c71cf4 0x01c71cf4: 00000015 00000000 000000ff 00000000 3.启动QT程序后,绿色的不透明背景又出现了! 这时候,配置./regrw.out -w 01c71cf4 7e0 也不行,我不清楚0x7e0这个值是怎么来的?是参考“ROM0/ROM1 Color Look-Up Table”的颜色表吗? |
|
|
|
物是人非aaa 发表于 2018-5-28 08:13 Hi,Chris Meng: 谢谢您,问题解决了,我起先没明白,后来明白了:需要TRANSPVALL.RGBL的值与QT需要透明部分的颜色一致才行! |
|
|
|
我也想问下这个TRANSPVALL.RGBL 里面的值要写什么!!!!!! |
|
|
|
uweuewyfydsf 发表于 2018-5-28 08:46 您好,请问您的解决方法能告诉我么,我也遇到这样的问题,困惑好久了没解决 |
|
|
|
您好,你的qt在osd上完全透明显示的问题解决了么 |
|
|
|
只有小组成员才能发言,加入小组>>
272 浏览 1 评论
1012 浏览 0 评论
612 浏览 1 评论
458 浏览 1 评论
650 浏览 2 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
243浏览 29评论
1210浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
349浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
324浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
180浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-24 11:03 , Processed in 0.960210 second(s), Total 56, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191