Android8.0 高通PDAF 调试 - actuator sensitivity
Android8.0 高通PDAF 调试 - actuator sensitivity
有一说一
遇到的问题点
调试过程中发现进不来pdaf流程 log显示如下:
01-01 08:08:54.425 2414 6352 D mm-camera: <STATS_AF >< LOW> 3994: af_port_handle_module_event: Handle AF module event of type: 0
01-01 08:08:54.425 2414 6352 D mm-camera: <STATS_AF >< LOW> 3158: af_port_handle_sensor_update: Sensor Res width: 4208 height: 3120 FocalLength: 3.460000 and FNum: 2.200000
01-01 08:08:54.425 2414 6352 E mm-camera: <STATS_AF ><ERROR> 3167: af_port_handle_sensor_update: Depth_Err: actuator sensitivity: 0.000000 is invalid
01-01 08:08:54.425 2414 6352 D mm-camera: <STATS_AF >< LOW> 3173: af_port_handle_sensor_update: Depth_Err: pdaf cal data from sensor supported 1 pdaf_ptr 0xef1e401001-01 08:08:54.701 2414 6370 D mm-camera: <STATS_AF >< LOW> 4216: af_port_handle_module_event: Received PDAF stats: frame_id: 3, buf_idx: 0
01-01 08:08:54.701 2414 6370 D mm-camera: <STATS_AF >< HIGH> 3831: af_port_handle_pdaf_stats: Depth_Err Pdaf not supported. Shouldn't get PDAF stats
问题分析:
Review 代码发现逻辑如下:
/* update depth service cal data */af_port->ds_input.cal_data.eff_focal_length = sensor_info->actuator_info.focal_length;af_port->ds_input.cal_data.f_num = sensor_info->actuator_info.af_f_num;af_port->ds_input.cal_data.pixel_size = sensor_info->actuator_info.af_f_pix;af_port->ds_input.cal_data.is_pdaf_supported = sensor_update->is_pdaf_supported;af_port->ds_input.cal_data.actuator_sensitivity = sensor_update->actuator_sensitivity;if(sensor_update->actuator_sensitivity <= 0) {AF_ERR("Depth_Err: actuator sensitivity: %f is invalid",sensor_update->actuator_sensitivity);rc = FALSE;}if(sensor_update->is_pdaf_supported && FALSE == rc) {AF_LOW("Depth_Err: pdaf cal data from sensor supported %d pdaf_ptr %p",sensor_update->is_pdaf_supported, sensor_update->pdaf_data);af_port->ds_input.cal_data.is_pdaf_supported = 0;}
actuator_sensitivity invalid时, 无法启用pdaf support
那么这个问题是哪里来的呢?
sensor初始化的时候 我们可以发现 计算actuator_sensitivity的过程
boolean module_sensor_actuator_init_calibrate(module_sensor_bundle_info_t *s_bundle)
{/* calcualte actuator sensitivityassuming total_steps is tuned to number of um */s_bundle->actuator_sensitivity =(float)af_driver_ptr->actuator_tuned_params.region_params[0].qvalue /af_driver_ptr->actuator_tuned_params.region_params[0].code_per_step;}/* protect the qvalue */else {af_driver_ptr->actuator_tuned_params.region_params[0].qvalue = 1;}
}
这个时候 需要马达的qvuale值,经过对比
发现马达驱动没有此设置
遂改之
.actuator_tuned_params ={.scenario_size ={2, /* MOVE_NEAR */3, /* MOVE_FAR */},.ringing_scenario ={/* MOVE_NEAR */{36,243,},/* MOVE_FAR */{72,198,243,},},.initial_code = 136,.region_size = 1,.region_params ={{.step_bound ={243, /* Macro step boundary*/0, /* Infinity step boundary*/},.code_per_step = 1,.qvalue = 1,},},
Android8.0 高通PDAF 调试 - actuator sensitivity相关推荐
- 高通摄像头调试(OV8856)
http://blog.chinaunix.net/uid-7213935-id-5749314.html 一.硬件分析 在调试的时候,一定要拿到电路图,模组规格书,SENSOR IC datashe ...
- 高通安卓调试LCD几方面总结
来公司上班现在已经整整一个月了,蔽人不才,能力有限,学习进度缓慢,不过也是有一点点的收获与心得,在这里写出来与大家分享,养成良好的记录习惯也免得后忘记. 不啰嗦了,开入正题.来公司一个月左右的时间,主 ...
- 高通 wlan 调试总结随笔
高通 wlan 调试总结随笔 1. 进入ftm模式 2. 抓取wifi log 2.1 抓取 Android log 2.1.1 How to enable wifi verbose log? 2.1 ...
- 高通camera调试
高通camera驱动分析 ./qcom/proprietary/mm-still/codec_v1/omx/jpeg_encoder/Android.mk:15:CHROMATIX_VERSION : ...
- 高通快速调试命令集合---持续更新
scp拷贝文件 scp -P xxxx -r chenqw@xxx.xxx.xxx.xxx:/home/zhangx/.ssh/chenqw@ubuntu208.pub . 高通Android9.0查 ...
- Android6.0 高通平台 is 32-bit instead of 64-bit 问题
做高通项目时碰高一个问题:有些apk在32位平台上运行没问题,但是在64位平台上出现crash,出错信息如下: java.lang.UnsatisfiedLinkError: dlopen faile ...
- android 6.0 高通平台sensor 工作机制及流程(原创)
最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Se ...
- android 6.0 高通平台sensor 工作机制及流程
最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Se ...
- 保姆级高通AEC9调试指南(看完可解决80%AE相关问题)
Initial Tuning 默认ISO 100相当于1倍gain,有的2倍,可自行设置. Exposure table Vertical Blanking Time=1/max_fps/FrameL ...
最新文章
- 【图论专题】欧拉路径和欧拉回路
- 在线作图|如何绘制一张好看的点棒图
- centos 安装 openfire
- 【Spark-core学习之九】 Spark案例
- vue一级分类和耳机分类_【Vue+DRF生鲜电商】10.商品分类层级获取,Vue跨域请求商品分类...
- CG CTF WEB /x00
- no signatures that match those in shared user android.uid.system; ignoring!
- 常见的两个面试题以及面试的心态
- Python+OpenCV:图像快速角点检测算法(FAST Algorithm for Corner Detection)
- MongoDB:MapReduce基础及实例
- 【Anaconda】Anaconda 环境操作(新建/激活/退出/删除/克隆/重命名)
- BG2RHE - Arduino控制TM1640芯片LED流水灯测试
- RadioGroup 全部取消选中 和选中某个按钮
- 前端javaScript模板引擎之ArtTemplate
- 用文本挖掘回顾2017年的一些人与事
- 【智能车竞赛】第18届比赛规则整理以及往届对比
- Canvas学习:绘制箭头
- 解决:-bash redis-server 未找到命令
- 【收藏】eos是什么币?如何购买和储存eos币 —— 教科书式操作
- AHB2APB桥接器设计(1)——基本原理