Android_Camera
文章平均质量分 81
基于MTK/QCOM等常用Android平台下的Camera流程学习
上电失败
个人学习笔记
展开
-
Andoid Camera Service 获取previewbuffer
将dump出来的数据,从Chromtix工具打开,填写stride,可以看到解析出图像,但是为什么不是色彩的?看起来黑白的像是Raw图,msgType是CAMERA_MSG_PREVIEW_FRAME(0x0010),callback回来的看msgType也并非是CAMERA_MSG_RAW_IMAGE(0x0080)所对应的Raw图,看请求的是YCbCr_420_SP对应(NV21) format,于是使用YuvViewer使用NV21的格式进行解析后图片颜色正常,是个钥匙串小老鼠。原创 2022-10-24 15:32:47 · 255 阅读 · 0 评论 -
Android Qcom Camera V4L2 Device
video0 crm作为v4l2_device,管理所有的subdevice,同理所有subdevice指向crm(sd->v4l2_dev = g_dev->v4l2_dev),video1同样也是v4l2_device,但是它对应的没有subdevice,以上为什么会有相同类型的注册多次,原因还是device和driver匹配的时候probe了多次。解决睡眠给的问题后,发现问题点二:高通对g_dev.open_cnt 做了限制,所以要想打开dev/video0两次则需要修改。原创 2022-10-24 15:32:15 · 977 阅读 · 0 评论 -
Android Qcom Display学习(八)
该系列文章总目录链接与各部分简介:基于Android12实现简单的Surface测试程序,部分类内的接口发生了变化,但大体上没啥问题。主要实现两类功能(1)实现显示RGB图的红绿切换,这个主要来源于上面链接中的显示系统[1],以此为基础在Android S上实现(2)实现Camera Preview的实时预览,基于Camera api1,源码从Camera的测试程序中剥离出的一些操作接口来实现(3)待补充:实现Camera Preview的方式采用api2和v4l2,后续再看单独拿出来研究原创 2022-10-24 15:29:12 · 732 阅读 · 0 评论 -
Android Camera驱动相关参数学习
http://www.360doc.com/content/20/1105/13/67063969_944236154.shtmlhttps://www.freesion.com/article/4029747962/sensor曝光分为逐行曝光和全局曝光。逐行曝光的sensor 技术难度较全局曝光sensor 低,价格便宜,且分辨率较大,对于一些静态图像拍摄是不错的选择。sensor逐行曝光基本原理sensor逐行曝光从第一行开始曝光,一个行周期结束之后第二行才开始曝光。依次类推,经过N-1 行原创 2021-09-06 19:39:02 · 3060 阅读 · 2 评论 -
Android Camera的基础理论和工作原理
Camera工作原理光线→镜头Lens→IR Filter过滤红外光→sensor将光信号转化为电信号(材质有CMOS和CCD两种)→ADC转为数字信号→DSP处理→RGB/YUV格数输出镜头: 常用的镜头结构有1P、2P、1G1P、1G2P、。。5G等,透镜越多,成本越高,相对成像效果越好。红外滤光片IR Filter 人眼无法看到红外光,但是sensor能感受到,所以需过滤掉红外光,使得图像更接近人眼所看到的效果。传感器Sensor CCD(电荷耦合)原件:将光线转化为电荷,模数转原创 2020-08-20 20:00:58 · 2631 阅读 · 1 评论 -
Android Qcom Camx CHI 架构
Camx-CHI架构介绍一、概览二、基本组件概念1.Usecase2. Feature3. Session4. Pipeline5. Node6. Link7. Port三、组件结构关系四、关键流程详解1. Camera Provider 启动初始化2. 打开相机设备/初始化相机设备a) openb) initialize3. 配置相机设备数据流a) 选择UsecaseIdb) 创建Usecase4. 处理拍照请求a) Session::StreamOnb) Session::ProcessCaptureR转载 2020-12-31 16:46:39 · 8854 阅读 · 0 评论 -
Android Qcom Camera流程分析
https://www.jianshu.com/p/33fa6b466cca CAM-CHI架构简介https://blog.csdn.net/shangbolei/article/details/86681728 Camera Server与Camera Provider的调用https://blog.csdn.net/u013904227/article/details/80718831原创 2020-12-31 16:08:30 · 2682 阅读 · 9 评论 -
Android MTK PDAF流程
static struct SET_PD_BLOCK_INFO_T imgsensor_pd_info_1920_1080 ={ .i4OffsetX = 16, // x offset of PD area .i4OffsetY = 12, // y offset of PD area .i4PitchX = 16, // x pitch/width of a PD block .i4PitchY = 16, // y pitch/height of a PD block .i原创 2021-04-10 17:50:20 · 6497 阅读 · 6 评论 -
Android MTK Camera启动流程
Android MTK Camera启动流程(1)总体架构Android Camera架构从整体上看是一个Client/Service架构,主要有两个进程1.Client进程:主要是Java、native C/C++代码2.Service进程:是native C/C++代码,主要负责与linux kernel中的camera driver交互Client和Service进程通过Binder机制通信,Client通过调用Serivice实现具体功能 (2)CameraService服务注册al原创 2020-12-25 11:24:18 · 1773 阅读 · 0 评论 -
Android MTK三方算法集成学习
MTK官方资料/优秀学习博客分享MTK HAL算法集成之单帧算法MTK HAL算法集成之双摄算法3rd Party ALGO Integrate Capture 3rd ALGOHAL三方算法集成1.三方算法类型 超级夜景首先是集成在拍照上的即需要挂载到CaptureNode,其次类似超夜,HDR都需要多帧EV- EV0 EV+多帧处理,因此还需要挂载到MultiFrame中,以下可以仿照FID_AIHDR进行添加vendo原创 2021-07-08 15:03:50 · 3479 阅读 · 0 评论 -
Android MTK Camera HAL3学习
Mtk Camera MtkCam3架构学习站在巨人的肩膀上,补充学习!!!MTK HAL3各部件功能1.MtkCam3中对接Android的接口:ICameraProvider, ICameraDevice, ICameraDeviceSession,ICameraDeviceCallback (1)ICameraProvider的实现类CameraProviderImpl只是一个 adapter包在 C原创 2022-01-20 15:18:21 · 7791 阅读 · 5 评论 -
Android MTK Metadata Configuration
MTK Metadata Configuration(1) Camera_metadata Introduction(2) Loading Static metadata(3) How to config metadata(1) COMMON_COMMON(2) COMMON_SENSOR(3) PLATFORM_COMMON(4) PLATFORM_SENSOR慢动作(Slow Motion)(4) How to add a vendor tag(1) Camera_metadata Introduct原创 2021-02-01 15:51:30 · 3354 阅读 · 1 评论 -
Android Camera 调试分析方法
MTK 平台 调试实用小技巧1 查看当前走的是那种模式logcat | grep "check_config"2 查看当前模式的帧率logcat | grep "P2.*fps""3 查看camera app使用内存(可测试三方算法占用内存情况 TOTAL PASS)ps -A | grep cameraadb shell dumpsys meminfo pid >> meminfo_total_.txt4 循环拍照脚本for /l %%I in (1,1,50) do原创 2021-04-19 17:55:23 · 1679 阅读 · 0 评论 -
Android MTK Camera File node(dev/proc/sys)
linux dev目录:这个目录中包含了所有Linux系统中使用的外部设备。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。Linux的风格一切都是文件kd_camera_hw是camera注册的字符设备,c代表字符设备 (d 代表directory目录,l代表link链接,b代表block块设备,p代表pipe管道,s代表sock通信),其次对应的权限是owner group other的读写执行权限(chmod),第2个字段代表链接原创 2022-01-20 15:10:18 · 779 阅读 · 0 评论 -
Android Camera API和HAL版本对应关系
Android Camera API和HAL版本对应关系前言 Android在版本更新和迭代过程中,Camera相关代码也经历了几个版本的更新,主要表现为Camera HAL版本更新(HAL1 -> HAL2 -> HAL3),Camera API版本更新(Camera API1 -> Camera API2),由于Android版本是向后兼容的,所以为了解决兼容问题,势必要做一些特殊的处理来保证不同版本调用问题,本文主要说明 Camera HAL1,Camera HAL3,A转载 2020-11-05 09:35:43 · 1055 阅读 · 0 评论 -
Android MTK Camera博客分享
MTK Camera博客分享MTK Camera OTP调用过程MTK Camera Flashlight调用过程MTK Camera 应用层到底层过程MTK Camera HAL层分析深入浅出Android相机体系结构摄像头模组的基础知识Linux Device Driver 专业名称FV: Focus Value:用来衡量图像AF的清晰度。DOF: Deep Of Field:景深,表示物距清晰的范围,景深越长表示物距前后清晰的范围越大。AF step :阶数越多,其精度越高,但是原创 2020-10-23 10:51:31 · 831 阅读 · 0 评论 -
Android MTK Camera驱动代码分析
imgsensor起到承上启下的作用,在系统起来时会创建整个camera驱动运行的环境,其中主要的文件和函数如下框图所示,先设备挂载时会调用注册platform设备platform_driver_register,在匹配成功后会调用probe函数进行初始相关的设备:其中camera的三路电压的上电方式可以通过GPIO来控制,也可以通过PMIC(REGULATOR)的方式来进行控制,在imgsensor_hw中通过不同的pdev信息,调用不同的set函数。涉及的文件路径:kernel-4.9/driv.原创 2021-09-26 16:42:35 · 3133 阅读 · 2 评论