调试前的工作:
1.OTP文件的检查(Macro&Infinity Dac;left_gainmap):caf/pd/multi(指OTP文件中有其他更多距离的dac)
获取OTP文件:
step1:camxoverridesettings.txt文件中加入dumpSensorEEPROMData=TRUE vendor/etc/camera
step2:将data/vendor/camera下的otp文件导出(只看autofocus和pdaf)
2.caf:FV curve,including face,low_light,spotlight,normal
3.vcm:posture/margin
margin:指autofocus_OTP文件中的Macro margin和Infinity margin,会根据margin等比增加马达移动的dac范围,而这个可移动的dac范围将映射成马达的逻辑位置
增加的dac大小=(macro Dac -infinity Dac)*Macro margin +
|(macro Dac -infinity Dac)*infinity margin |,由于马达移动范围有限,比如说马达移动范围在0-1023 dac,如果margin过大,可能导致在马达的可移动逻辑位置中对应的dac已经超过0-1023,而超过范围的,马达实际并不会移动
4.pd:linerity/confidence/driver/offset log搜索PDAFEnabled看为
5.gyro&face_detection
baf检查:人脸\低亮\正常亮度\
1.Progress: 25->75->87->100 :走的CAF
25-100:走的PD
25->87->100:走的PD+fine search
log里搜索关键词"af_default_mixer_process_search CID"可得到progress
2.图片信息中的AF ConveragePDData中的PD History Data下的index是每一帧的信息,
与AF Info中的History data有一一对应的index。
5.Current Position: 311, Next Position: 311, Output Position: 291
Current Position:PD算出来的马达逻辑位置;Output Position:马达实际的逻辑位置,由于向上拍摄和向下拍摄马达会受重力影响。
计算时由水平无限远测出的马达逻辑位置与向上/下拍摄时实际的马达逻辑位置的差值。
6.OTP中的DCC计算公式:DCC=1/斜率 * 2^(Q factor)
7.noise gain=20* log(Sensorgain)(3A信息中可得到)
8.is_flat_curve log中判断是否为平坦场景
9.关于BAF Configures中包含的AF Default,AF Lowlight,AF Face,AF Spotlight四组参数,在调用时只会调用一套参数。
开始状态为:AF defaul参数使能,其他参数不使能,接着如果检测到相应环境,如点光源,那么点光源将被使能,而AF default变为不使能,
如果检测到多种环境,则按照以下优先级选择调用哪套参数
spotlight>lowlight>face>default
比如说:当同时检测到Lowlight和Face时,调用lowlight参数
查看哪套参数生效用关键词configure type,Low-light
input roi :type 1 人脸
type 0 中心对焦
no face counter:没人脸的帧数
af_single_hj_get_pre_scan_result_with_3frames: 关于CAF的寻找焦点的参数。
Input ROI: type: 0, coord: [0 0 0 0] 分别对应对焦区的起始坐标的xy,以及对焦区域的高度,宽度。