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

dairyman000 2012-03-14 10:19:16
我的板子采用的是18位的LCD,现在的问题是, 界面的颜色显示好像有缺失.有几个问题一直没有搞清楚,这里请教一下.
1.应用层是固定用32bit,还是查询/dev/fb0的属性,然后确定颜色的位数.
2.如果应用层采用固定的32bit,那么将32bit颜色值转成RGB666的过程是在哪里实现的?
3.还有就是存在frame buffer中的颜色值是32bit的呢, 还是18bit的?
...全文
128 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dairyman000 2012-03-21
  • 打赏
  • 举报
回复
这几天正好仔细研究了一下.我使用的处理器是MT6573. 在驱动中本来预先设定了为16位颜色,但是在之后加载的另外一个模块中, 通过调用fb_set_var修改了frame buffer的depth(修改为32位).因为之前没有看到这个修改,所以我对从fb_set查出的信息是32位,感到迷惑.
现在可以确认,在frame buffer中存贮的颜色数据是32位的. 这也好理解. 因为在应用层中,是通过mmap来读写frame buffer的, 所以frame buffer必须跟应用层保持一致.
那么frame buffer是32位, 怎么通过18根数据,传输到lcd panel上去呢.MT6573的LCD控制器具备转换的功能,采用dither的方式.
creatorwu 2012-03-20
  • 打赏
  • 举报
回复
我也正想了解,不过应该是和普通linux类似吧.
我的lcd是4bit的,只有16色,不知道移植的话,工作量如何/

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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