![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Camera HAL
文章平均质量分 78
Caroline_cheng
Android Camera 工程师
展开
-
展锐A13 Camera Hal dispatch模块流程 --- 上
4月份就知道展锐A13的Camera Hal有大的变动,但是最近一直在做一个MTK的项目,没去看这个新增部分的流程。最近有时间,就把A13上Camera Hal新增的部分流程捋 了一下,过程是痛苦的,但是坚持一遍遍去读代码,在结合展锐的官方文档,思路就慢慢清晰了。整个hal总共新增了两个模块,dispatch 和 lwp,我们先看dispatch模块,在看lwp模块,最后就可以将两个模块的流程串起来。原创 2023-08-25 17:29:01 · 486 阅读 · 2 评论 -
美颜预览卡顿问题跟踪
美颜预览卡顿问题分析原创 2022-12-01 14:38:19 · 1053 阅读 · 1 评论 -
camera预览流程 --- 从HAL到OEM
camera 预览流程 --- 从HAL 到 OEM下发预览请求处理预览帧数据log跟踪原创 2022-08-09 14:13:32 · 1462 阅读 · 1 评论 -
Camera HAL 下的SprdCamera3HWI.cpp 内容介绍
Camera HAL 下的SprdCamera3HWI.cpp 内容介绍openCamera、configureStream、processCaptureRequestCameraApp从桌面起来的流程原创 2022-08-06 16:50:14 · 1036 阅读 · 0 评论 -
Camera Hal OEM模块 ---- cmr_snapshot.c
Camera Hal OEM模块 ---- cmr_snapshot.ccamera 拍照数据的处理原创 2022-08-01 15:27:20 · 538 阅读 · 0 评论 -
Camera Hal OEM模块 ---- cmr_preview.c
Camera Hal OEM模块 ---- cmr_preview.c这个文件虽然叫cmr_preview,但是其内容却包含了preivew、caprure、video、channel系列的管理配置原创 2022-07-28 16:04:16 · 1281 阅读 · 0 评论 -
Camera Hal OEM模块 ---- cmr_grab.c
Camera Hal OEM模块 ---- cmr_grab.c ,最开始接收帧数据的地方原创 2022-07-23 20:04:08 · 1070 阅读 · 1 评论 -
Camera Hal OEM模块 ---- hdr算法流程
Camera Hal oem模块 ,hdr 算法流程原创 2022-07-11 15:00:33 · 1100 阅读 · 0 评论 -
Camera Hal OEM模块 ---- 3dnr算法流程
展锐 oem2v6 多帧降噪算法 cmr_3dnr_sw.c原创 2022-07-08 17:27:24 · 4930 阅读 · 2 评论 -
展锐S 上微距模式不识别问题跟进 --- sensor_config的解析
sensor_config.xml原创 2022-07-05 18:47:39 · 979 阅读 · 0 评论 -
Hal3_2v6模块介绍---人像模式的流程
人像模式流程介绍原创 2022-06-17 18:23:02 · 1016 阅读 · 0 评论 -
Hal3_2v6模块介绍---普通Photo模式configureStreams及processCaptureRequest流程
configureStream、processCaptureCapture原创 2022-06-14 17:56:41 · 2058 阅读 · 0 评论 -
Hal3_2v6模块介绍---普通Photo模式openCamera流程
openCamera、cmr_oem原创 2022-06-13 18:37:20 · 750 阅读 · 0 评论 -
Hal3_2v6模块介绍---整体流程
Hal3_2v6模块介绍原创 2022-06-13 11:17:41 · 1081 阅读 · 2 评论 -
Gralloc模块总结
Android系统在硬件抽象层提供了一个Grallo模块,封装了对帧缓冲区的所有操作。上层应用使用帧缓冲区的流程如下:原创 2022-02-08 14:05:38 · 1193 阅读 · 0 评论 -
openCamera的 hal 端流程
本文从流程、代码、log三个方面介绍openCamera 0的hal端流程。一,流程图二,代码逻辑从SprdCamera3Factory开始int SprdCamera3Factory::open(const struct hw_module_t *module, const char *id, struct hw_device_t **hw_device) { HAL_LOGD("E"); return gSprdCame原创 2021-11-16 16:37:42 · 2656 阅读 · 0 评论 -
Camera HAL 下的SprdCamera3Channel.cpp 内容介绍
展锐平台下的SprdCamera3Channel.cpp文件路径如下:vendor\sprd\modules\libcamera\hal3_2v6\SprdCamera3Channel.cpp该文件内容不是很多,并且结构很清晰,包括如下四个channelSprdCamera3ChannelSprdCamera3RegularChannelSprdCamera3PicChannelSprdCamera3MetadataChannel其中SprdCamera3Channel里面只有一个 isF原创 2021-09-06 17:18:43 · 572 阅读 · 0 评论 -
Camera HAL下的SprdCamera3Stream.cpp 内容介绍
展锐平台hal下的SprdCamera3Stream.cpp文件路径如下:vendor\sprd\modules\libcamera\hal3_2v6\SprdCamera3Stream.cpp该文件内容不多,主要是维护如下几个成员变量camera_stream_type_t mStreamType;int32_t mWidth;int32_t mHeight;Vector<hal_buff_list_t *> mBufferList;mMemory = new SprdCamer原创 2021-09-06 15:27:01 · 551 阅读 · 0 评论 -
Camera HAL下的SprdCamera3OEMIf.cpp 介绍
vendor\sprd\modules\libcamera\hal3_2v6\SprdCamera3OEMIf.cpp 是我们追踪camera流程到hal会经常关注的cpp文件,今天我们就以打开camera、点击拍照这个流程,从SprdCamera3OEMIf.cpp 的log中来看下它的流程。首先,我们先介绍一下SprdCamera3OEMIf.cpp大致内容(该文件1.3w行,没错,是我见过的最长的文件。。)可分为三个部分:参数管理 SetCameraParaTagMemory管理帧数据管理(原创 2021-09-04 15:06:36 · 872 阅读 · 0 评论 -
Camera HAL 参数传递流程 ---- 以ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION为例追踪
CameraApp里面用户操作的设置项分为两类:一类由App自行处理,比如照片保存路径、绘制九宫格参照线、拍照声音等等一类需要经由framework下发到hal,然后进一步流转到相应的算法库中去处理本题我们以用户设置AE补偿参数为例,来跟踪第二种情况下的参数设置流程。代码路径:vendor\sprd\modules\libcamerahal3_2v6下:一,hal中第一步接受参数的地方就是SprdCamera3Settings.cpp,我们在之前的文章中有介绍这个类,SprdCamera3S原创 2021-08-14 13:49:21 · 1935 阅读 · 2 评论 -
Camera HAL中参数管理 --- SprdCamera3Setting.cpp
在一次拍照请求中,CameraApp会设置一些参数下来,如果只看App,就会以为这就是Camera拍照需要的所有参数了。但其实hal管理着比App下发参数多得多的参数集合,并且提供构建一个默认CameraMetadata对象的方法。定义一个代表所有参数集合的structtypedef struct { struct img_size preview_size; struct img_size picture_size; struct img_size video_size;原创 2021-08-07 14:43:24 · 634 阅读 · 0 评论 -
Camera Hal 数据类型定义
Hal中常见的数据类型缩写定义如下:typedef unsigned long cmr_uint;typedef long cmr_int;typedef uint64_t cmr_u64;typedef int64_t cmr_s64;typedef unsigned int cmr_u32;typedef int cmr_s32;typedef unsigned short cmr_u16;typedef short cmr_s16;typedef unsigned char cmr_原创 2021-08-07 09:44:36 · 696 阅读 · 0 评论