没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Android's camera 模块代码分析
内容目录
Android's camera 模块代码分析..................................................................................................1
1 Android's camera 模块概述..........................................................................................................2
2 camera 模块调试方式..................................................................................................................2
3 camera 对视频处理流程..............................................................................................................2
4 代码分析......................................................................................................................................4
1 Android's camera
模块概述
Camera 模块是 android 系统中用于处理视频输入的模块。Android 将 camera 定义为一个
framework, 这样客户可以使用 camera's framework 支持不同的硬件,只需客户实现 camera 的
framework 。本文主要介绍 camera framework 和如何实现 camera framework。
2 camera
模块调试方式
• 生成 avd.
android create avd -t 1 -n myavd // 生成 avd , -t 制定 typeid, -n 指定生成 avd 的名字
mksdcard -l sdcard 512M /sdcard.img // 生成虚拟的 sdcard, 512m 指定大小, sdcard.img 指
定 sdcard 的名字。
• 启动 android 模拟器(包括虚拟的 sdcard)
emulator -sdcard /sdcard.img
• 通过 adb logcat 获取启动 log.
• 分析启动 log 是否正常,是否正常启动了 sdcard.
• 使用模拟器进行拍照,并查看 log.
以上是基于 android 提供的虚拟机来实现的模拟。在没有硬件的环境里面,可以通过这个环
境进行配置和测试。
3 camera
对视频处理流程
简单的流程控制。
简单的数据流程:
4
代码初步描述
下图为 camera 调用流程,为 android 提供的 camera 框架。
以上的框架已经由 android 实现,在移植新的硬件的时候,我们无需修改以上对应的 code.
需要实现的 code 为 CameraHardwareInterface 这一层。
1. CameraHardwareInterface 链接 camera server 和 vedio4linux(也可能是其他的驱动),
通过实现 CameraHardwareInterface 可以屏蔽不同的 driver 对之前实现的 code 的冲击,
这样无论使用何种驱动程序,camera hal 几乎不需要进行任何的修改。
CameraHardwareInterface 接口定义于文件
frameworks/base/include/ui/CameraHardwareInterface.h 中。
Class CameraHardwareInterface : public virtual RefBase
{
virtual status_t startRecording(...) = 0;
virtual boid stopRecording() = 0;
virtual status_t autoFocus(...) = 0;
virtual status_t takePicture(....) = 0;
…
};
类中定义了 拍照 录像 等 api,当需要支援新的硬件时就需要继承于类 Class
CameraHardwareInterface ,支援 拍照录像等功能。
换句话讲每一个 CameraHardwareInterface 实例对应一个硬件。(不知道这样说
对不对)
2. CameraService 是 Camera 框架的中间层,用于链接 CameraHardwareInterface 和
Client.
定义于文件 frameworks/base/camera/libcameraservice/CameraService.h
剩余20页未读,继续阅读
资源评论
- struggleklaudlit2014-02-27很好的入门级资料,现在框架已经变化了
- lsqdata2012-04-11该资料给人清晰明了的感觉,对新人确实有一定的帮助,希望继续努力
leino11121
- 粉丝: 39
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 555springboot + vue 线上教学平台.zip(可运行源码+数据库文件+文档)
- 554springcloud + vue 房产销售平台.zip(可运行源码+数据库文件+文档)
- 小霸王坦克游戏源码.7z
- 蓝桥杯单片机基础学习项目(LED,数码管,蜂鸣器,继电器,按键控制)
- 553springboot + vue 某银行OA系统.zip(可运行源码+数据库文件+文档)
- DatabaseWatermarkingBasedonTextFormat
- yolov8常用二维码检测检测+数据集
- -移动通信-网络课程设计与研究
- 基于Python的PCA人脸识别算法的原理及实现代码+文档详解.zip
- 甘肃移动全业务工程建设项目管理流程优化研究
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功