- 论坛徽章:
- 0
|
回复 #2 connet 的帖子
这个我知道,你说的调色板上的颜色值。我说的是fb_cmap这个结构里的数据。
struct fb_cmap {
__u32 start; /* First entry */
__u32 len; /* Number of entries */
__u16 *red; /* Red values */
__u16 *green;
__u16 *blue;
__u16 *transp; /* transparency, can be NULL */
};
我说的是这个结构里red,green,blue地址对应的数据。这三个数据经过整合才得到调色板上的值。这三个数都是16位的,但565模式时,有效位是5位或6位。我的问题是:这三个数的有效位是在高位开始的吗?因为fb_setcolreg()函数里有这么一段代码:
val = (red >> 0) & 0xf800;
val |= (green >> 5) & 0x07e0;
val |= (blue >> 11) & 0x001f;
writel(val, regs + S3C2410_TFTPAL(regno));
其中val是调色板上的数值。就这段代码看来似乎只有认为这三个数有效位都在高位才说的过去,不知是也不是? |
|