自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 CameraProvider详解一(初始化)

在创建了CameraProvider之后,就是调用它的初始化initialize方法,首先我们知道camera实际是一个硬件device,这里camera的初始化也是会调用硬件的统一接口hw_get_module来获取到camera 在HAL的一个具体module的实现,这里的实现一般会在Camera HAL的定义,在获取了这个camera module在Camera HAL的实现之后,把这个module作为参数在外面包装一个android定义的CameraModule类,封装以便统一对上层的接口。

2024-08-21 21:31:37 820

原创 Camera Service详解一(初始化)

2.2)调用ProviderInfo对象的初始化方法initialize,而在初始化方法里会去做一系列CameraProvider相关的操作:如上面调用流程中的解析provider的name,获取CameraProvider的代理,设置CameraProvider的回调函数,设置CameraService的vendorTag,向CameraProvider获取camera的list等等,当然有些概念会有些陌生,后面我们慢慢介绍。4)最后我们会去创建Flash相关的对象,以及枚举这些对象。

2024-08-20 22:02:21 589

原创 Camera framework 详解

那基于数据流的操作都会放在这个类里实现,比如每帧的请求,这里android的接口把预览、拍照、视频录制都认为是一帧帧的图像请求,所以不管图像数据最终请求方式如何,这里我们都可以认为是一次图像请求,当然在一次图像请求里,可以包含多条stream的图像帧数据,比如一次图像请求包含一帧preview预览的图像帧数据,还包括拍照的jpeg图像帧数据,还可以再包含录制的图像的一帧图像数据,当然这些图像帧都可以有不同的分辨率、帧数、图像质量。后面会继续对framework以下进行讲解。

2024-08-10 20:05:49 423

原创 Camera APP 详解

一般在onCreate方法里会做一些app的初始化动作,比如camera app的页面布局,加载一些camera 的信息,然后就是打开camera的预览画面了。1.首先camera app会有一个默认的camera去打开,首先app这边需要调用openCamera的接口去真正打开这样一个硬件设备,具体的实现会随着camera的架构一层一层调用到kernel里,kernel层里会对camera进行一系统上电,写寄存器等操作,这里就不多做详述,在讲述到kernel部分的时候会详细介绍。

2024-08-10 20:04:58 867

原创 Camera Overview

4)还有一些开发者是基于android开发一些基于不同平台的lib,就有了所谓的NDK开发,在这一层,开发者可以开发属于他们自己的lib,并且可以不用暴露自己的源代码,可谓是是一层安全性和隐私的保护。5)再往下是HAL层,也就是硬件抽象层,这层是google为了保护一些驱动厂商的知识产权,我们知道linux是开源的,kernel的代码需要公开化,一些公司需要保护自己的原始代码,则把这部分从kernel剥离开来,单独放到HAL层,并且可以屏蔽一些硬件差异化的问题。

2024-08-10 20:02:05 488

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除