#define BG_DEVNAME "/dev/fb0"
#define FG_DEVNAME "/dev/fb1"

课题5, QT界面与视频透明叠加问题:颜色透明issues已Fixed掉,而像素级的透明叠加问题尚未解决,内部有方案和上车案例(D090).

实现QT Local alpha透出fb1的多媒体视频或手机互联视频,必须同时满足QT layer显示属性设置,和以下工作:

1、控制内核Global Alpha开关,可以实现将fb0设置到fb1上层,且使能local alpha的效果:

API接口:

SetGlobalAlpha(pGlobalDevice, false, 0);

API代码如下:

int SetGlobalAlpha(const char *pFBDevice, bool bEnable, int iAlpha )

{

struct mxcfb_gbl_alpha gbl_alpha;

int fdFB = -1;

//===================// fd

fdFB = open( pFBDevice, O_RDWR, 0 );

if(fdFB < 0)

{

ERROR( "Open FrameBuffer device failed: %s !\n", pFBDevice );

return -1;

}

//===================// alpha

if( (iAlpha <= 255) && (iAlpha >= 0) )

{

gbl_alpha.alpha = iAlpha;

}

else

{

ERROR( "Invalid alpha: %d !\n", iAlpha );

return -2;

}

gbl_alpha.enable = bEnable;

ioctl( fdFB, MXCFB_SET_GBL_ALPHA, &gbl_alpha );

INFO( "%s global alpha, device: %s, alpha: %d !\n", gbl_alpha.enable?"Enable":"Disable", pFBDevice,

gbl_alpha.alpha );

close(fdFB);

return 0;

}

2、定制mfw_v4lsink插件(见附件,之前给过版本给软件部,可以尝试先不更新该库看效果,如果不行再替换成该文件),

在显示的时候不去动framebuffer的叠加层级关系,附件插件是在CN180S中使用的版本。

(替换/usr/lib/gstreamer-0.10/libmfw_gst_v4lsink.so)文件

地址:http://files.cnblogs.com/files/senior-engineer/libmfw_gst_v4lsink.zip

3、测试程序地址:

http://files.cnblogs.com/files/senior-engineer/Desktop.zip

QT解决视频透视,有阴影的方法的更多相关文章

  1. qt creator修改程序编码(解决中文乱码问题)的方法

    qt creator修改程序编码(解决中文乱码问题)的方法 qt creator修改程序编码的功能有几处. 1.edit - select encoding 选择载入(显示)编码和储存编码,其中GB2 ...

  2. Eclipse解决Ctrl+c很卡的方法

    问题如下 : 每当在eclipse中开发java项目打开jsp页面编辑的时候,按了ctrl+c就会卡死几秒的状态,一天经常这样会让人非常的烦躁. 解决方法如下: Eclipse -- Windows- ...

  3. QT点击"X"按钮,调用closeEvent()函数来实现调用特定事件(附:粗略介绍QT的信号与槽的使用方法)

    背景: QT在用户关闭窗口(直接点击"X"键)时,程序一般都需要做一些善后的事情,就我现在的程序来说,既关闭USB.如何实现? 正文: 首先,在对应窗体的".h" ...

  4. 分享一个解决MySQL写入中文乱码的方法

    分享一个解决MySQL写入中文乱码的方法 之前有发帖请教过如何解决MySQL写入中文乱码的问题.但没人会,或者是会的人不想回答.搜索网上的答案并尝试很多次无效,所以当时就因为这个乱码问题搁浅了一个软件 ...

  5. 解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the hierarchy”错的方法

    解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the ...

  6. 解决Linux文件系统变成只读的方法

    解决Linux文件系统变成只读的方法   解决方法 1.重启看是否可以修复(很多机器可以) 2.使用用 fsck – y /dev/hdc6 (/dev/hdc6指你需要修复的分区) 来修复文件系统 ...

  7. [转]Qt中定时器使用的两种方法

    Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类. 其精确度一般依赖于操作系统和硬件,但一般支持20ms.下面将分别介绍两种方法来使用定时器. 方法 ...

  8. 【转】iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法

    iOS上面对键盘的处理很不人性化,所以这些功能都需要自己来实现, 首先是点击return和屏幕隐藏键盘 这个首先引用双子座的博客 http://my.oschina.net/plumsoft/blog ...

  9. 解决Oracle用户被锁定的方法

    解决Oracle用户被锁定的方法 1,cmd控制台: 使用sqlplus 命令:sqlplus sys/密码@ip/orcl as sysdba; 2,先设置具体时间格式,以便查看具体时间 SQL&g ...

随机推荐

  1. 高级service之ipc ADIL用法

    感谢 如果你还没有看过前面一篇文章,建议先去阅读一下 Android Service完全解析,关于服务你所需知道的一切(上) ,因为本篇文章中涉及到的代码是在上篇文章的基础上进行修改的. 在上篇文章中 ...

  2. IOS内购支付服务器验证模式

    IOS 内购支付两种模式: 内置模式 服务器模式 内置模式的流程: app从app store 获取产品信息 用户选择需要购买的产品 app发送支付请求到app store app store 处理支 ...

  3. map重写比较器

    结构体作为map的key或放入set中,需要重载<运算符,如下: typedef struct tagRoadKey { int m_i32Type; int m_i32Scale; bool ...

  4. java基础---->数组的基础使用(一)

    数组是一种效率最高的存储和随机访问对象引用序列的方式,我们今天来对数组做简单的介绍.手写瑶笺被雨淋,模糊点画费探寻,纵然灭却书中字,难灭情人一片心. 数组的简单使用 一.数组的赋值 String[] ...

  5. highcharts配置的效果如下

    配置如下: function init(categoryArray,seriesData,month_first_day,month_last_day,currDay){ var chart = Hi ...

  6. Hadoop单点伪分布模式安装

    Hadoop单点伪分布模式安装 概述 单点 single-node,单节点,即一台计算机. 伪分布式模式 pseudo-distributed mode 所谓集群,表面上看是多台计算机联合完成任务:但 ...

  7. CodeForces 24A Ring road(dfs)

    A. Ring road time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  8. AJAX Form Submit Framework 原生js post json

    https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest <!doctype ht ...

  9. Again Array Queries---Lightoj1100(循环暴力)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1100 题意是给你n个数,q个询问,每次求出 a 到 b(从0开始)最小差值: 直接暴力 ...

  10. AngularJS filter:search 是如何匹配的 ng-repeat filter:search ,filter:{$:search},只取repeat的item的value 不含label

    1.  filter可以接收参数,参数用 : 进行分割,如下: {{ expression | filter:argument1:argument2:... }} 2.   filter参数是 对象 ...