关于camera中 自动对焦的解决方案 和 框架流程,在此总结一下。

freescale平台的Android Camera很多功能都没有实现;驱动里面也是;HAL层也是;因为工作需要;添加了自动对焦和白平衡功能;测试OK;在这里把主要修改的地方写出来;希望以后遇到的朋友可以少走弯路;

首先是Android HAL层:

android/hardware/imx/mx6/libcamera/CameraModule.cpp   =>这个文件和再往上层的代码都不用修改;作为你看Camera代码的开始;android/hardware/imx/mx6/libcamera/CameraHal.cpp   =>主要修改这个文件;很多功能都是没有实现;android/hardware/imx/mx6/libcamera/CaptureDeviceInterface.cpp  =>是调用V4L2层的;所有Camera V4L2设备都继承它;要改;android/hardware/imx/mx6/libcamera/V4l2CapDeviceBase.cpp       =>这个文件是你要添加功能V4L2具体实现;要改;android/hardware/imx/mx6/libcamera/V4l2CsiDevice.cpp =>这个文件不需要修改;

Android kernel driver层:

kernel/drivers/media/video/mxc/capture/mxc_v4l2_capture.c     =>需要修改;因为V4L2协议传下来的命令首先到了这个文件;等于是Camera master设备;kernel/drivers/media/video/mxc/capture/ov5640.c =>这个文件就是具体的驱动代码;实现你接收的V4L2命令然后去控制Camera做什么;

Android camera HAL四个callback

其中包括:
camera_notify_callback

用来传递一些消息: 如快门消息,自动对焦完成消息,出错消息,拍照编码结束等

参数@msg_type可以是:

CAMERA_MSG_ERRORCAMERA_MSG_SHUTTERCAMERA_MSG_FOCUSCAMERA_MSG_ZOOMCAMERA_MSG_FOCUS_MOVE

Android Camera框架


Camera从驱动到应用


更多相关文章

  1. Android(安卓)仿写微信里的标签功能
  2. AdFreeDetector 开源了
  3. Android通过AIDL实现接听电话、挂断电话操作 | 拨打电话
  4. android第一天学习基本配置与安装过程和启动
  5. 六、ANDROID资源文件
  6. Android(安卓)DiskLruCache完全解析,硬盘缓存的最佳方案
  7. 新浪微博SDK在Eclipse引入
  8. Android自定义背景的设置方法
  9. Android中OkHttp的使用

随机推荐

  1. 求解磁盘结构损坏且无法读取咋找回???
  2. 全网最全C/C++开发工具和教程分享
  3. 互联网测试校招系列5:offer选择篇
  4. 【JS基础入门】JavaScript基础之作用域、
  5. Celery+django如何显示任务的执行进度条
  6. 如何获取Celery任务的执行结果?
  7. IntelliJ IDEA—使用Find Action 就会跳
  8. 如何为神经机器翻译任务配置编码 - 解码
  9. OLAP引擎:基于Druid组件进行数据统计分析
  10. C语言快排qsort()函数