Chinaunix首页 | 论坛 | 博客
  • 博客访问: 303757
  • 博文数量: 71
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 564
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-20 18:15
个人简介

用编程改变大众。。。

文章分类

全部博文(71)

文章存档

2016年(7)

2015年(54)

2014年(10)

我的朋友

分类: 嵌入式

2015-02-04 10:09:15

Hi3520A视频是在视频层显示的,而QT是运行在图形层,但是QT运行后会遮挡视频层的视频,因此,需要某种方法将QT视频区域隐藏然后显示后面的视频

如:QT的label背景设置为紫色,然后通过硬件透色了图形层上面的紫色,那么该区域就是透明的了就可以显示出后面的视频

海思芯片该透色的功能叫做:colorkey,即关键色,如上,将关键色配置成为紫色那么就可以透色了

调试过程中,依然是看framebuffer的配置信息,如下所示

配置colorkey需要注意一下一点:

color format格式是ARGB1555还是ARGB8888,如此处是ARGB1555,那么紫色就是0x7c1f

代码如下


[plain] view plaincopy
  1. HIFB_COLORKEY_S colorkey;  
  2. colorkey.bKeyEnable = HI_TRUE;  
  3. colorkey.u32Key = 0x1f|(0x1f<<10);   
  4. if (ioctl(s32Fd, FBIOPUT_COLORKEY_HIFB, &colorkey) < 0)  
  5.    {  
  6.         printf("Put colorkey failed!\n");  
  7.        goto FB_PROCESS_ERROR1;  
  8.    }  
阅读(2038) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~