Camera 技术分享 · 行业洞察 · 学习笔记
平台:高通 Camx | 覆盖:PDAF/CDAF/HAF 三种对焦方案 | 含状态机+日志字段+4个常见caseAF(自动对焦)是 Camera 调优中最复杂的模块之一。用户对"对不上焦"、"对焦慢"、"跑焦"的容忍度极低——一张模糊的照片基本等于废片。这篇文章基于高通 Camx 框架,梳理 AF...
覆盖:堡机测试/压力测试场景 | Kernel+Logcat双维度 | 6条高通优化建议堡机测试跑三天两夜,Camera突然crash了。日志几万行,从哪开始看?稳定性问题是最让人头疼的——复现概率随机,有时候跑一晚上没事,有时候半小时就崩。而且crash日志动辄几万行,grep关键字都搜不到重点。...
OIS(光学防抖)大家都听说过,但OIS的镜头位置数据是怎么从硬件读到算法层的?NCS又是什么?这篇深入聊聊Camera子系统里这条不太被关注的数据流。 一、为什么需要NCS?先说背景。CamX的Node和Pipeline通常以像素帧边界为单位处理数据——一帧进、一帧出。但EIS(电子防抖)算法不一...
Camera功耗问题在项目后期几乎是必查项。预览功耗高、拍照功耗超标、后台待机掉电快……这篇问题把高通平台功耗排查的全链路思路整理出来,希望对大家日常排查问题有帮助,建议收藏,备用。 一、功耗排查前置准备在开始Camera侧排查之前,先和BSP功耗团队一起做整机的功耗拆解:测量整机功耗 — 用功耗拆...
用户点开Camera到看到第一帧画面的时间,直接决定用户体验。冷启动(Cold Start)是性能优化中最复杂的场景——没有缓存、没有预热、从零开始。这篇把MTK Camera冷启动的全链路拆成8个阶段,逐个分析时间瓶颈和优化手段,供大家参考。一、冷启动 vs 热启动先搞清楚两个概念:┌──────...
做了快十年 Camera,有不少同学问我:想转行做相机、或者刚毕业想往这走,从哪学起?这篇不是教程,是个过来人给完全没碰过 Camera、但会 Java 和 Android 的人,理的一条能落地的路。但我先不讲 API、不讲架构——我先带你去相机工厂"卧底"一天。主角介绍:下面这位叫小光,是一缕从你...
本章导读相机本质上就是一个"光子计数器"——镜头收集光子,传感器统计光子,ISP 处理光子统计结果,最终形成一张你看到的照片。这一章不讲代码,不讲 HAL,只讲一件事:光是怎么变成数字图像的。你可能觉得这些是"摄影知识",和做 Camera 驱动开发无关。但恰恰相反——你后面学到的每一个 HAL 概...
本章导读想象这个场景:你打开手机上的相机 App,按下快门。从这一刻开始,一个"数据包"穿过了 5 层架构(App → Framework → HAL → Kernel → Hardware)、4 个进程边界、经过数百个函数调用,最后到达 ISP 硬件。硬件处理完之后,结果再沿着原路返回。整个旅程在...
本章导读前面两章讲了"相机怎么成像"和"系统怎么分层"。但从这章开始,你要动手了。做 Camera 开发和普通 App 开发最大的区别是:你不能只靠 logcat 活着。 你需要看懂源码目录结构、熟练使用 Source Insight 跳转(VS code也是不错的工具,看个人喜好)、会用 dump...
本章导读你可能觉得:"我是做 HAL 的,App 层的 API 关我什么事?"但事实是:App 层调用的每一个 Camera2 API,在 HAL 层都有一个对应的函数。App 层 HAL 层CameraManager.openCamera() → camera3_device_t.open()Ca...