高通:
文件名:sensor_lib.h
res#:代表的是每一组不同的setting配置:
修改位置:
参考sensor log:res#
修改frame_length_lines、max_fps、以及对应RES组里面的VTS地址对应的值
MTK:
MTK里面有两个地方控制帧率。一个是寄存器文件,改法与高通相同:
文件名:android\kernel-4.14\drivers\misc\mediatek\imgsensor\src\平台\sensor#_mipi_raw\sensor#mipi_Sensor.c
另一个是hal下面的metadata文件,用来控制最终的帧率(可以用来限制帧率):
android\vendor\mediatek\proprietary\custom\mt6xxx\hal\imgsensor_metadata\ssensor#_mipi_raw\config_request_metadata__.h
在此文件中找到当前的流对应的min/max fps,并修改为自己期望的值即可。限制帧率时可以只改metadata,不用管寄存器文件。
如何计算line length、frame length、fps?
fps = vt_pclk / (line_length * frame_length)