Skip to main content

fb_cmap

fb_var_screeninfo

说明

定义HIFB的可变屏幕信息,此为Linux FrameBuffer原生结构体。

定义

struct fb_var_screeninfo {
__u32 xres; /* visible resolution */
__u32 yres;
__u32 xres_virtual; /* virtual resolution */
__u32 yres_virtual;
__u32 xoffset; /* offset from virtual to visible */
__u32 yoffset; /* resolution */
__u32 bits_per_pixel;
__u32 grayscale; /* 0 = color, 1 = grayscale, */
/* >1 = FOURCC */
struct fb_bitfield red; /* bitfield in fb mem if true color, */
struct fb_bitfield green; /* else only length is significant */
struct fb_bitfield blue;
struct fb_bitfield transp; /* transparency */
__u32 nonstd; /* != 0 Non standard pixel format */
__u32 activate; /* see FB_ACTIVATE_* */
__u32 height; /* height of picture in mm */
__u32 width; /* width of picture in mm */
__u32 accel_flags; /* (OBSOLETE) see fb_info.flags */

/* Timing: All values in pixclocks, except pixclock (of course) */
__u32 pixclock; /* pixel clock in ps (pico seconds) */
__u32 left_margin; /* time from sync to picture */
__u32 right_margin; /* time from picture to sync */
__u32 upper_margin; /* time from sync to picture */
__u32 lower_margin;
__u32 hsync_len; /* length of horizontal sync */
__u32 vsync_len; /* length of vertical sync */
__u32 sync; /* see FB_SYNC_* */
__u32 vmode; /* see FB_VMODE_* */
__u32 rotate; /* angle we rotate counter clockwise */
__u32 colorspace; /* colorspace for FOURCC-based modes */
__u32 reserved[4]; /* Reserved for future compatibility */
};

成员

G0、G1图层,下表中的Gx_min、Gy_min为32;G2、G3、G4图层,下表中的Gx_min、Gy_min为8。Gx_min表示当前图层支持的最小宽度,Gy_min表示当前图层支持的最小高度。

成员名称描述
xres可见屏幕宽度(像素数),需要为偶数。 取值范围:[Gx_min, xres_virtual]。
yres可见屏幕高度(像素数),需要为偶数。 取值范围:[Gy_min, yres_virtual]。
xres_virtual虚拟屏幕宽度(显存中图像宽度)。 取值范围:大于或等于Gx_min。
yres_virtual虚拟屏幕高度(显存中图像高度)。 取值范围:大于或等于Gy_min。
xoffset在x方向上的偏移像素数。 取值范围:[0, xres_virtual - xres]。
yoffset在y方向上的偏移像素数。 取值范围:[0, yres_virtual - yres]
bits_per_pixel每个像素所占的比特数。 取值范围:32/16/4/2 注:4和2分别对应CLUT4和CLUT2模式,需要使能CMAP功能。
red颜色分量中红色的位域信息。
green颜色分量中绿色的位域信息。
blue颜色分量中蓝色的位域信息。
transp颜色分量中alpha分量的位域信息。
grayscale颜色模式,当前版本不支持。
nonstd是否为标准像素格式,当前版本不支持。
- 0:是
- 1:否
activate设置生效的时刻,当前版本不支持。
height屏幕高,单位为mm,当前版本不支持。
width屏幕宽,单位为mm,当前版本不支持。
accel_flags加速标志,当前版本不支持。
pixclock显示一个点需要的时间,单位为ns,当前版本不支持。
left_margin左消隐信号,当前版本不支持。
right_margin右消隐信号,当前版本不支持。
upper_margin上消隐信号,当前版本不支持。
lower_margin下消隐信号,当前版本不支持。
hsync_len水平同步时长,当前版本不支持。
vsync_len垂直同步时长,当前版本不支持。
sync同步信号方式,当前版本不支持。
vmode扫描模式,当前版本不支持。
rotate顺时针旋转的角度,当前版本不支持。
colorspaceFOURCC模式的色彩空间, 当前版本不支持。
reserved[4]预留参数,当前版本不支持。

父主题: HIFB叠加图形层管理

fb_fix_screeninfo

说明

定义HIFB的固定屏幕信息,此为Linux FrameBuffer原生结构体。

定义

struct fb_fix_screeninfo {
char id[16]; /* identification string eg "TT Builtin" */
unsigned long smem_start; /* Start of frame buffer mem */
/* (physical address) */
__u32 smem_len; /* Length of frame buffer mem */
__u32 type; /* see FB_TYPE_* */
__u32 type_aux; /* Interleave for interleaved Planes */
__u32 visual; /* see FB_VISUAL_* */
__u16 xpanstep; /* zero if no hardware panning */
__u16 ypanstep; /* zero if no hardware panning */
__u16 ywrapstep; /* zero if no hardware ywrap */
__u32 line_length; /* length of a line in bytes */
unsigned long mmio_start; /* Start of Memory Mapped I/O */
/* (physical address) */
__u32 mmio_len; /* Length of Memory Mapped I/O */
__u32 accel; /* Indicate to driver which */
/* specific chip/card we have */
__u16 capabilities; /* see FB_CAP_* */
__u16 reserved[2]; /* Reserved for future compatibility */
};

成员

成员名称描述
id[16]设备驱动名称。
smem_start显存起始内核态虚拟地址。
smem_len显存大小,单位:字节。
type显存类型,当前版本不支持。
type_aux附加类型,当前版本不支持。
visual色彩模式,当前版本不支持。
xpanstep支持水平方向上的PAN显示:
- 0:不支持。
- 非0:支持,此时该值用于表示在水平方向上每步进的像素值。
当前版本不支持。
ypanstep支持垂直方向上的PAN显示:
- 0:不支持。
- 非0:支持,此时该值用于表示在垂直方向上每步进的像素值。
当前版本不支持。
ywrapstep类似于ypanstep,不同之处在于:当起显示当底部时,能回到显存的开始处进行显示。 当前版本不支持。
line_length每行字节数,当前版本不支持。
mmio_start显存起始用户态虚拟地址。
mmio_len显存大小,单位:字节。
accel显示所支持的硬件加速设备,当前版本不支持。
capabilities预留参数,当前版本不支持。
reserved[2]预留参数,当前版本不支持。

父主题: HIFB叠加图形层管理

fb_cmap

说明

定义HIFB的颜色表信息,此为Linux FrameBuffer原生结构体。

定义

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 */
};

成员

成员名称描述
start颜色表入口索引。
len颜色表长度(单分量颜色表数量)。 最大长度为256。
red红色分量表。
green绿色分量表。
blue蓝色分量表。
transpAlpha分量表。

父主题: HIFB叠加图形层管理

hi_fb_point

说明

定义HIFB的起始坐标信息。

定义

typedef struct {
hi_s32 x_pos;
hi_s32 y_pos;
} hi_fb_point;

成员

成员名称描述
x_pos起始点水平坐标。
y_pos起始点垂直坐标。

父主题: HIFB叠加图形层管理

hi_fb_alpha

说明

定义HIFB Alpha结构体。

定义

typedef struct {
hi_bool alpha_en;
hi_bool alpha_chn_en;
hi_u8 alpha0;
hi_u8 alpha1;
hi_u8 global_alpha;
hi_u8 reserved;
} hi_fb_alpha;

成员

成员名称描述
alpha_enAlpha叠加使能。
alpha_chn_enAlpha通道叠加使能。
alpha0Alpha通道为0时选取的Alpha值,当前版本不支持。
alpha1Alpha通道为1时选取的Alpha值,当前版本不支持。
global_alpha全局Alpha值,范围为0~255,默认为255。在Alpha通道使能时起作用。
reserved预留参数,当前版本不支持。

父主题: HIFB叠加图形层管理

在线提单