Android Camera
文章平均质量分 87
主要介绍android系统平台camera开发相关知识,从app到驱动,也会介绍其它Linux平台的camera相关
ZZH的Android
与大家分享android系统开发的方方面面,包括framework、hal、kernel。同时也会涉及系统中的多个功能模块,比如camera、audio、binder等等,每个功能模块都会单开专栏。期待大家的关注,我们一起学习和成长!
展开
-
[Android Camera精讲]CameraServer启动流程
为什么要讲启动流程呢,因为启动过程中初始化了很多东西,如果这部分略过不看的话, 在看Camera打开、预览等流程时就会很懵,有很多东西不知道哪里来的,其实就是开 机时,进程启动过程初始化的,所以这个很重要。原创 2024-01-08 08:00:00 · 1621 阅读 · 3 评论 -
Android 13 CameraMetadata详解1 (内存分布以及增删改查)
初识camera metadata是不容易理解的,最起码笔者是这样。但是不理解又是不行的,所以只能硬着头皮去看源码,去归纳总结。简单来说,camera metadata就是一块用来存储camera相关参数的内存。比如拍照时的闪光灯,是打开还是关闭还是自动,这个参数就是存储在这块内存当中的。当然,camera的参数有很多,其类型有很多。camera metadata以一定的规则将这些信息全部存储起来,然后再用相同的规则取出。我们先给一张内存分布图,大家在看代码解析时,可以参考这张图来看。原创 2023-09-19 11:04:28 · 971 阅读 · 2 评论 -
Android 13 Camera预览流程详解
环境说明硬件设备AOSP版本Camera HAL So库Google提供的参考实现 camera.v4l2以上环境看起来似乎有些奇怪,因为Android 13的时候其实已经不再用camera.provider@2.4了,我们之所以拿这个来分析,是因为目前很多公司使用的AOSP版本并不是最新的,这个2.4版本使用的是比较多的。当然,我们分析完2.4后,后面也会分析最新的基于AIDL实现的camera.provider进程。原创 2023-09-11 21:03:42 · 1822 阅读 · 0 评论 -
Android 13 openCamera流程详解
Android从5.0开始已经引入了Camera API2,所以我们后面的流程都是Camera API2调用流程。原创 2023-07-18 08:00:00 · 1225 阅读 · 2 评论 -
Android 13 cameraserver启动流程
我们会发现CameraService里没有instantiate函数,但是它继承了BinderService,而BinderService里是有instantiate函数实现的。binder相关的我们这里就不详细介绍了,主要介绍Camera相关的业务流程。前面的两篇文章我们已经介绍了CameraProvider进程(Camera HAL)的启动流程,今天我们开始讲cameraserver进程的启动流程。接下来看下CameraService的构造函数,因为上面addService的时候执行了new操作。原创 2023-06-25 06:58:25 · 708 阅读 · 0 评论 -
Android 13 Camera HAL启动流程(2)
好的,本节主要讲了hw_get_module的函数实现,Camera HAL的启动流程我们就先讲到这里,当然还没结束,具体So库的地方也是简单介绍了一下。对于具体厂商So库的实现,我们只把关键的地方介绍一下(以Google默认实现为例),不会做深入的分析,后续有机会的话会把几个大平台的Camera HAL实现大概介绍一下(以网上公开资料讲解),或者尝试自己去写一个完整的Camera HAL实现,这就是后话了。第一个参数为CAMERA_HARDWARE_MODULE_ID ,定义的地方为。原创 2023-06-04 23:21:52 · 1034 阅读 · 0 评论 -
Android 13 Camera HAL启动流程(1)
Android Camera系统开发的开篇,先介绍Camera HAL启动流程原创 2023-05-30 23:22:34 · 2240 阅读 · 0 评论 -
Android Camera2 openCamera流程详解(1)
本文用Android 11 的代码进行梳理。Android Camera2 open Camera的接口为CameraManager的openCamera函数,如下:frameworks/base/core/java/android/hardware/camera2/CameraManager.java648 @RequiresPermission(android.Manifest.permission.CAMERA)649 public void openCamera(@Non原创 2022-05-19 23:02:35 · 1682 阅读 · 0 评论 -
Android 8.1 Camera2架构解析(1) CameraService和CameraProvider服务启动流程
Android 8.1 Camera2架构解析<一>CameraService和CameraProvider服务启动流程层级架构概览CameraService和CameraProvider服务启动流程CameraService和CameraProvider服务启动流程)层级架构概览CameraService和CameraProvider服务启动流程我们对Markdown编辑...原创 2019-03-17 15:35:23 · 3077 阅读 · 0 评论