海思芯片图形层的开发指南与方案

海思开发指南:

1:图形层界面的开发:图形二维加速器(TDE),硬件对图形图像的处理

    HiFB用于管理叠加图形层:Hisilicon Framebuffer在framebuffer的基础上增加层间colorkey,层间Alpha等扩展功能。

可以支持2路高清显示设备(HD0~HD1)和5个图形层(G0~G5)(G3,G4为鼠标层)):

fb设备文件有5个/dev/fb0~/dev/fb4(显示设备)

Hi3536的设备文件/dev/fb0(G0图形层)(表示可支持驱动HD0设备上显示)

/dev/fb3(G3鼠标层)设备显示叠加层的最高层,

*注意:如果HD0上有视频层:从下往上的层次为:视频层,G0层,G3层

2:图形层的开发方案:设备的用户界面包括(图形层的实现):

1:后端OSD:显示画面分割线,通道号,时间等信息,用以界定多画面显示布局。

2:GUI界面:包括各种菜单,进度条等元素,通过操作GUI界面进行配置

3:鼠标

3:但图层用户界面方案:

a:1个图形层完成本设备的后端OSD,GUI和鼠标的显示。

b:每个输出设备使用1个图形层完成本设备的后端OSD,GUI:GUI画在独立的缓冲中去,OSD直接画在FB显存中去,在通过TDE进行ALpha混合,

这样每个图形层对应的FB显存中绘制分割布局,通道号时间等参数。

使用独立的缓存绘制GUI画布,当GUI变更时进行局部更新

将GUI画布整体搬移至FB缓存中,在此过程中可以利用TDE实现GUi和OSD的叠加透明效果,每次GUi或OSD有变动时,由于是对画布和OSD整体做叠加,故不需要局部信息计算GUI和OSD的叠加区域。

注意::::

c:为了防止FB缓冲边绘制边显示导致绘制过程可见,推荐使用fb双缓冲机制,fb分配2块大小相同的缓冲作为显存交换绘制和显示。如VO正在显示缓冲2,则本次绘制的对象为缓冲1,然后对于FB 标准模式可通过FB 的PAN_DISPLAY或
FBIOFLIP_SURFACE 调用通知VO显示缓冲1,而对于FB 扩展模式可通过FB 的

FBIO_REFRESH调用通知VO显示缓冲1。

如果采用同样的GUI界面时搬移至SD0设备时,只对TDE做整体搬移操作即可,利用TDE整体进行缩放至和SD0绑定的图形层对应的FB显存中去。

TDE和alpha配置。(见下个笔记)。


猜你喜欢

转载自blog.csdn.net/zuodenghuakai/article/details/79412244