Display overlay framework
Rotator用来加速旋转、翻转2D图片。由于rotator需要时tile-based引擎,而MDP4.1是line-based的,所以rotator需要另外提供。在送数据到MDP之前就需要完成好翻转。
再看看overlay framework:
左边是video处理通道,右边是UI处理通道。
Android(up to Froyo)只能显示单个设备,而高通在Froyo上执行双显示,两个显示内容都是被mirrored的。第二个surface不直接作为surface view提供。
我们这里以HDMI举例。
1. Dual display on android - UI mirroring
- Dual display on android - video mirroring
对于HDMI输出,我们截断内部overlay HAL输入源然后将其发送到secondary overlay engine然后所方程最佳比例。
对于UI和video mirroring,我们有独立的用户设置来控制输出的开关。
当视频回放完成,surface flinger销毁video overlay和 overlay HAL然后返回UI overlay用于HDMI mirroring。
代码布局
下面是display部分相关源代码存放路径及文件说明。