
android camera
文章平均质量分 90
sadamoo
这个作者很懒,什么都没留下…
展开
-
Camera2 OpenCamera流程
Camera操作过程中最重要的四个步骤:CameraManager–>openCamera —> 打开相机CameraDeviceImpl–>createCaptureSession —> 创建捕获会话CameraCaptureSession–>setRepeatingRequest —> 设置预览界面CameraDeviceImpl–>capture —> 开始捕获图片。转载 2023-01-30 14:22:54 · 1251 阅读 · 0 评论 -
android camera HAL v3.0详细介绍(二)
3.Startup and expected operation sequence这段描述了使用camera API的详细步骤。其中涉及到的结构体和函数请参考文件:platform/hardware/libhardware/include/hardware/camera3.h1. Framework层调用函数camera_module_t->common.open(),将返回一转载 2015-12-21 11:11:17 · 7804 阅读 · 1 评论 -
android camera接口介绍
1.CameraAndroid的camera硬件抽象层(HAL)将更高层次的android.hardware中的camera框架层API与底层的camera驱动和camera硬件模块连接了起来。Camera子系统包括camera流水线上各个组件的实现,而camera HAL提供了这些组件的使用接口。注:camera HAL起着承上启下的作用。在camera HAL层实现中,芯片厂商一般转载 2015-12-25 20:28:30 · 2303 阅读 · 0 评论 -
Android Camera API2中采用CameraMetadata用于从APP到HAL的参数交互
前沿:在全新的Camera API2架构下,常常会有人疑问再也看不到熟悉的SetParameter/Paramters等相关的身影,取而代之的是一种全新的CameraMetadata结构的出现,他不仅很早就出现在Camera API1/API2结构下的Camera2Device、Camera3Device中用于和HAL3的数据交互,而现在在API2的驱使下都取代了Parameter,实现了转载 2016-03-03 11:39:54 · 1753 阅读 · 0 评论 -
Android Camera HAL V3 Vendor Tag及V1,V3参数转换
转眼一看,上一次发博文都快是三年之前了,惭愧 ! 主要是三年前找的这份工作,虽然是世界500强的技术大牛公司,但是工作可一点都不高大上,非常的忙,一天不但要处理各种camera的bug,还要开发camera的各种feature和sensor驱动,还要和内部、外部的人各种扯皮,你懂的。忙的三年了才有闲心来发表这片博文。 牢骚已完,言归正传。 在Android转载 2016-03-03 11:40:28 · 1401 阅读 · 0 评论 -
Android Camera API2.0下全新的Camera FW/HAL架构简述
前沿:前面博文大多少总结的是Camera HAL1到HAL3的系统架构,但这些架构对于Camera APP开发来说依旧还是处于Camera API1.0的标准。而随着Camera3、HAL3.0等的不断更新,Google先是在Framework中更改了整个架构从而去匹配Camera API1.0的处理逻辑,随着时间的推移,Google直接对Camera API进行了全新的升级,去除了原先的转载 2016-03-03 12:00:34 · 2179 阅读 · 0 评论 -
Android Camera HAL3中预览preview模式下的数据流
前沿:为了更好的梳理preview下buffer数据流的操作过程,前一文中对surface下的buffer相关的操作架构进行了描述。本文主要以此为基础,重点分析再Camera2Client和Camera3Device下是如何维护并读写这些视频帧缓存的。 1. Camera3Device::convertMetadataListToRequestListLocked函数转载 2016-03-01 11:08:29 · 7918 阅读 · 3 评论 -
Android Camera HAL3中拍照Capture模式下多模块间的交互与帧Result与帧数据回调
前沿: 前面博文大多少总结的是Camera HAL1到HAL3的系统架构,但这些架构对于Camera APP开发来说依旧还是处于Camera API1.0的标准。而随着Camera3、HAL3.0等的不断更新,Google先是在Framework中更改了整个架构从而去匹配Camera API1.0的处理逻辑,随着时间的推移,Google直接对Camera API进行了全新转载 2016-06-02 20:33:08 · 2414 阅读 · 0 评论 -
Android Camera API2中采用CameraMetadata用于从APP到HAL的参数交互
前沿:在全新的Camera API2架构下,常常会有人疑问再也看不到熟悉的SetParameter/Paramters等相关的身影,取而代之的是一种全新的CameraMetadata结构的出现,他不仅很早就出现在Camera API1/API2结构下的Camera2Device、Camera3Device中用于和HAL3的数据交互,而现在在API2的驱使下都取代了Parameter,实转载 2016-06-02 20:49:35 · 2931 阅读 · 0 评论 -
Android5.1中surface和CpuConsumer下生产者和消费者间的处理框架简述
前沿:前面博文大多少总结的是Camera HAL1到HAL3的系统架构,但这些架构对于Camera APP开发来说依旧还是处于Camera API1.0的标准。而随着Camera3、HAL3.0等的不断更新,Google先是在Framework中更改了整个架构从而去匹配Camera API1.0的处理逻辑,随着时间的推移,Google直接对Camera API进行了全新的升级,去除了原先的Ca转载 2016-06-01 21:24:13 · 1264 阅读 · 0 评论 -
Android Camera HAL3中预览preview模式下的控制流
Camera3研读前沿: 当初在研读Camera1.0相关的内容时,主要围绕着CameraClient、CameraHardwareInterface等方面进行工作的开展,无论是数据流还是控制流看起来都很简单、明了,一系列的流程化操作使得整个框架学起来特别的容易。因为没有Camera2.0相关的基础,所以这次直接看3.0相关的源码时,显得十分的吃紧,再加上底层高通HAL3.0实现的过转载 2016-06-02 20:52:26 · 4434 阅读 · 0 评论 -
Android Camera从Camera HAL1到Camera HAL3的过渡(已更新到Android6.0 HAL3.3)
1. Android系统中Camera模块版本号的历史演变进度[cpp] view plain copy /** * All module versions * as CAMERA_MODULE_API_VERSION_1_0 */ #define CAMERA_MODULE_API_VERSION_1_0 HARDWARE_MODULE_API_VE转载 2016-06-02 20:54:05 · 5828 阅读 · 0 评论 -
Android4.2.2 Camer系统架构图(HAL和回调处理)
转载 2016-06-03 11:05:29 · 1003 阅读 · 0 评论 -
使用Camera2 替代过时的Camera API
概要从5.0开始(API Level 21),可以完全控制安卓设备相机的新api Camera2(android.hardware.Camera2)被引入了进来。在以前的Camera api(android.hardware.Camera)中,对相机的手动控制需要更改系统才能实现,而且api也不友好。不过老的Camera API在5.0上已经过时,在未来的app开发中推荐的是Camera2转载 2016-06-09 10:23:00 · 3242 阅读 · 0 评论 -
android camera HAL v3.0详细介绍(一)
1. RequestsApplication framework层向camera子系统发出一系列捕获数据的请求。一个请求对应于结果中的一个单元。请求封装了这些结果关于捕获数据和处理数据的所有配置信息。这些信息包括:分辨率,像素格式,sensor调整,镜头和闪光灯控制,3A操作模式,RAW转YUV处理,统计信息产生,等等。这里考虑了很多关于对结果数据的输出和处理的控制。多个请求可以转载 2015-12-21 11:10:29 · 11454 阅读 · 1 评论 -
android camera系统3A模式及其状态转换(二)
5. AF state machines mode = AF_MODE_OFF or AF_MODE_EDOF StateTransformation causeNew stateNotesINACTIVE AF is disabledmode = AF_MODE_AUTO or AF_转载 2015-12-21 11:09:21 · 2071 阅读 · 0 评论 -
Android camera系统开发之IPC (一)
Android使用Binder机制来实现IPC, Binder通信是借助linux的binder driver来实现的,两个进程间IPC感觉就象是一个进程进入另一个进程执行代码一样,而且在本地能返回远端函数的返回结果。Binder的用户空间为每一个进程维护着一个可用的线程池,线程池用来处理到来的调用请求的消息,包括请求的消息,和远端响应的消息。Android中的Binder通信是基于Ser转载 2012-09-11 13:53:09 · 627 阅读 · 0 评论 -
从Camera来看Binder IPC机制
Camera App通过framework中Camera java类进入jni部分,在android_hardware_Camera.cpp中:android_hardware_Camera_native_setup(){ sp camera = Camera::connect();}这里调用Camera类的connect函数,返回一个Came转载 2012-09-11 11:48:23 · 672 阅读 · 0 评论 -
Android camera系统开发之总括
最近在从事有关Android Camera开发相关的工作,发现这一块还是比较复杂,从网络上也得到很多相关资料,但是都比较分散,对于出现的问题很难有个全面地了解与定位。 根据我自己的习惯,我比较喜欢把整个框架先大概了解一下,再针对某个部件进行认真分析,这样在出现问题的时候就可以做到有的放矢。 发现系统无法上传我的图片,可能是我本地加密的原因 ,只能这样凑合了转载 2012-09-11 13:55:21 · 730 阅读 · 0 评论 -
Android Camera 架构
第一部分 Camera概述 Android的Camera包含取景器(viewfinder)和拍摄照片的功能。目前Android发布版的Camera程序虽然功能比较简单,但是其程序的架构分成客户端和服务器两个部分,它们建立在Android的进程间通讯Binder的结构上。 以开源的Android为例,Camera的代码主要在以下的目录中: Camera的JAVA程序的路转载 2012-09-11 16:04:15 · 772 阅读 · 0 评论 -
Android Camera Framework Stream(一)
现在我们尝试从最开始的启动流程来熟悉android camera的整体framework流程:首先从上图的各个步骤来逐一分析流程,后续会根据具体的一些点进行内容的添加和扩充: ? Camera.javapackages/apps/camera/src/com/android/最上层的应用就是从这个文件开始。该文件集中了整个android上层应用的所有相关内容,当然更多的则为转载 2012-09-11 16:09:48 · 806 阅读 · 0 评论 -
Android camera系统开发之IPC (二)
一 系统服务管理器启动 参考Android init 详细过程分析 ,我们知道系统在INIT进程中会分析INIT.RC我们从init.rc中能看到如下代码@init.rc…service servicemanager /system/bin/servicemanager user system critical onrestar转载 2012-09-11 13:57:13 · 531 阅读 · 0 评论 -
Android camera系统开发之IPC (三)
二,CameraSerivce服务的注册同样在init.rc中能看到如下语句 service media /system/bin/mediaserver user mediagroup system audio camera graphics inet net_bt net_bt_admin这个服务的入口是Main_mediaservice.c中的main()函数。而转载 2012-09-11 13:58:19 · 799 阅读 · 0 评论 -
Android camera系统开发之IPC (四)
三 获取一个CameraService服务代理 获取服务接口的唯一方法就是通过IServiceManager::getService()函数。假设Camera preview需要获取一个ICameraService。 @camera.cppconst sp& Camera::getCameraService(){ Mutex::Autolock _l(mLock)转载 2012-09-11 14:00:44 · 772 阅读 · 0 评论 -
Android camera系统开发之IPC (五)
四 连接建立后的client和Service的通信过程:这里以CameraService::connect()为例进行说明。 @Camera.cppsp Camera::connect(){ LOGV("connect"); sp c = new Camera(); const sp& cs = getCameraService(); //转载 2012-09-11 14:02:30 · 544 阅读 · 0 评论 -
Android Camera系统
1. Overview1.1 物理架构1.2 Android架构2. CameraService3. HAL4. Overlay5. Video for Linux1. Overview 本文以Freescale IMX为例剖析camera摄像头的系统架构。 1.1 物理架构 硬件方面,camera系统分为主控制器和摄像头设备,功能上主要有previ转载 2012-11-06 16:04:34 · 744 阅读 · 0 评论 -
android camera接口介绍
1.CameraAndroid的camera硬件抽象层(HAL)将更高层次的android.hardware中的camera框架层API与底层的camera驱动和camera硬件模块连接了起来。Camera子系统包括camera流水线上各个组件的实现,而camera HAL提供了这些组件的使用接口。注:camera HAL起着承上启下的作用。在camera HAL层实现中,芯片厂商一般转载 2015-12-21 10:58:29 · 1785 阅读 · 0 评论 -
android camera HAL v3.0中元数据及其控制
1. Metadata supportAndroid framework层为了支持保存raw图像文件,增加了大量关于sensor特性的元数据。这些元数据包括大量信息,例如颜色空间和lens shading。在camera子系统中,大多数元数据信息都是以静态属性的方式存在,因此在配置输出流水线或者提交请求之前获取这些元数据。在新的camera API中,通过getCam转载 2015-12-21 11:07:37 · 1232 阅读 · 0 评论 -
android camera系统3A模式及其状态转换(一)
虽然HAL层负责实现3A算法,但HAL interface定义了一个高层次的状态机描述,允许HAL层设备和framework层交流3A当前状态和3A事件的触发情况。当设备被打开时,所有3A状态都应该是STATE_INACTIVE。码流配置不需重置3A。例如,需要通过调用configure()来修改固定焦点。要触发3A行为,需要为下一个请求简单地设置相关触发器实体,以引导触发器的启动。例转载 2015-12-21 11:08:28 · 14174 阅读 · 0 评论