转:http://blog.csdn.net/kickxxx/article/details/6862506
配置
mx51支持cvbs输出UI和VIDEO
1. 编译tvout模块
2. 修改uboot的kernel启动参数,uboot中配置为
tvout输出PAL制式cvbs信号
set bootargs_base 'setenv bootargs console=ttymxc0,115200 di0_primary video=mxcdi1fb:YUV444,TV-PAL tve'
tvout输出NTSC制式cvbs信号
set bootargs_base 'setenv bootargs console=ttymxc0,115200 di0_primary video=mxcdi1fb:YUV444,TV-NTST tve'
测试
启动后, 在LCD看到正确的UI和VIDEO,执行命令:
setprop rw.SECOND_DISPLAY_CONNECTED 1
即可以在LCD和cvbs上都看到UI,进入video player播放一个video,此时应该可以在LCD上看到UI,看不到video;在cvbs上可以看到UI和video
想切换回LCD,可以执行 setprop rw.SECOND_DISPLAY_CONNECTED 0
再切换回cvbs,可以执行 setprop rw.SECOND_DISPLAY_CONNECTED 1
video双屏问题:
当前freescale的实现,还不能支持在两个屏上都显示video,freescale的说法是带宽不够,我没有验证过,但是如果需要在两个屏上都显示video数据
理论上是可行的,如果能把发送给fb2的video数据,复制一份并按照fb0的尺寸做缩放(cpu或者ipu做)后,和fb0上的UI数据合成,就应该实现了video的双屏,当然这是理论上的,有两个难题需要解决:1 复杂的处理代码; 2 IPU是否能承受这种负载。
透明问题
tvout背景显示video时,对UI的支持不好,至少在我的项目中是这样,原因是hardware/mx5x/framebuffer.cpp中的代码有问题。
透明和bpp32和bpp16是有关联的,需要弄清 透明和bpp,global_alpha,local_alpha以及color key之间的关系,仔细观察两个图层的合并关系。
切换延迟问题
在使用setprop rw.SECOND_DISPLAY_CONNECTED value进行切换时,会发现切换有延迟是正常的,因为这个命令要发生作用,必须有界面刷新使得fb_post被调用。
点一下触屏让界面刷新即可。