Android overlay系统

视频输出系统在android中体现为overlay,overlay的意思为 :覆盖铺在…上面,既然覆盖我们要考虑主要是覆盖在什么之上,在linux显示系统中用于界面显示的一般使用帧缓存(framebuffer),framebuffer是linux系统为显示设备提供一个接口,他将显示缓冲区抽象,屏蔽图像硬件的底层差异,帧缓冲设备为标准的字符设备,主设备号为29,对应/dev/fbn设备文件,帧缓冲在linux中作为显示设备驱动程序,当应用程序需要显示东西,将显示的东西按照一定的格式放入帧缓存中,

Overlay在linux中也相当于一个帧缓存,从名字我们可以了解Overlay显示是覆盖在FB之上的,如图:

 Android overlay系统_第1张图片

 

Overlay与FB的区别如下:

 

(1)      FB可以显示视频数据,将视频数据(YUV)转化成RGB在FB显示

(2)      Overlay始终显示在FB之上

(3)      FB刷新不会影响Overlay的显示

(4)      Overlay显示的数据为(YUV)加速视频数据的显示

(5)      FB与Overlay使用单独的显示内存

(6)      FB与Overlay叠加不需要软件关心


你可能感兴趣的:(Android overlay系统)