Android Camera HAL3.0
Posted
官网文档在此
简单来说,3.0的设计初衷就是 – 提供per-frame操作的灵活性。
更多细节在官网上写的很清楚了,这里就不再赘述。
罗列一些点,跨度比较大,想到哪说到哪。
######Camera 接口 首先接口本身的设计存在缺陷:
例如setPreviewSize和setPreviewFrameRate是无关的。(但其实这很有关系)
对于ISP这种pipeline来说,类比水管,最大出水量是恒定的;所以理论上,单帧size越大,那帧率(fps)也就越低。
所以size和fps是应该有明确的对应关系的。但这个接口把这个关系打破了。
那是否就无法获取这种对应关系了那?
并不是。Camera提供了CameraCharacteristics来获取更具体的信息,但是要麻烦一些;
可以参考cts测试中,getAvailableMinFrameDurationsForFormatChecked
的做法;通过StreamConfigurationMap
来算出fps和width/height的关系。
######CTS CTS的加强; 5.0以来,camera的CTS测试case从3x项增加到了3xx项。。。通过cts更加困难。 初衷是好的,会改善android目前不容乐观的rom兼容性。 但真相是,这套测试更像是一张考卷,上有政策下有对策的大有人在。
(不断补充ing)