Android Frame buffer 18bit, 如何实现应用层到驱动depth转换的.

dairyman000 2012-03-14 10:18:15
我的板子采用的是18位的LCD,现在的问题是, 界面的颜色显示好像有缺失.有几个问题一直没有搞清楚,这里请教一下.
1.应用层是固定用32bit,还是查询/dev/fb0的属性,然后确定颜色的位数.
2.如果应用层采用固定的32bit,那么将32bit颜色值转成RGB666的过程是在哪里实现的?
3.还有就是存在frame buffer中的颜色值是32bit的呢, 还是18bit的?
...全文
76 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dairyman000 2012-03-19
  • 打赏
  • 举报
回复
原来是在另外一个模块中调用了fb_set_var -
dairyman000 2012-03-17
  • 打赏
  • 举报
回复
查看代码,本来驱动是初始化成16位的,但是fbmem.c中的fb_set_var不知道被哪里调用了,把bit_per_pixel设置成了32位。 搜索了全部代码,所有能看到调用的地方都加了log,但是就是找不到实际调用的地方。
念茜 2012-03-15
  • 打赏
  • 举报
回复
1. struct fb_var_screeninfo 中有个bits_per_pixel,来制定色位,硬件会来参考这个数值。
2. struct fb_var_screeninfo中有4个struct fb_bitfield 分别是RGB 和transp,用来做转化
3. 如果你写入32位的那就应该是32位的

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧