Camera 基础

Camera Hal|如何学习一个新平台

我自己目前主要从事的是android camera hal 的工作,工作上接触到的芯片平台要么是高通的,要么是mtk的。

其实之前一直接触的是高通平台,这2年才开始陆陆续续的接触到mtk平台。一开始接触,也没给太多时间熟悉,就要直接上手解决问题。然后也基本是边看问题,边去学习了解。

今天想聊聊的是,接触一个新的平台,我们怎样才能快速的入门?(这里仅仅针对camera hal而言,而且仅仅代表个人看法)

hal层的工作,需要对camera有个整体的熟悉了解。平时的工作中,app、framework层的问题需要协助分析,有些tuning问题也需要协助分析。有些公司也会把驱动camera bring up的工作也归纳为hal层的工作。所以,对平台框架有个整体的了解,就很重要。

接触一个新平台,我个人比较推荐的方式也是,先对这个平台有个大体的了解,然后再细分模块去了学习了解。

比如mtk平台的学习,我首先是在网上以及MTK官网上找了一些mtk 平台camera hal层框架介绍的文章。先看下平台有哪些模块,以及具体模块对应的功能。

接下来,就是熟悉下平台的日志打印规则。比如高通的camx框架,就有一套自己的日志打印规则,mtk的当然也有自己的一套。

camera问题的分析,经常离不开dump 数据。这个时候就需要了解下各个阶段的数据该如何dump。比较常见的会有预览yuv,拍照yuv,拍照jpeg这些。

上面几步了解了后,其实就可以上手看问题了。不同的芯片平台hal的实现虽然会有很大的区别。不过camera基础的处理流程逻辑大体是相同的。大体的流程都是从sensor端拿raw流,然后经过isp一系列的处理成yuv,最后给上层返帧。

在熟悉了一个平台后,其实再去学习一个新的平台,难度相对也会降低一些。很多东西是相通的,而且比较好的模式,可能是要学会去平台化,要学习的是平台的设计模式,而不是具体的平台。

接触一个新的东西,大家有什么学习经验,欢迎交流分享~

今天的文章是从知识星球搬运过来的,目前知识星球“小驰私房菜”系列已经更新了近40篇文章。

最近还新加了“开发案例分析”系列,欢迎感兴趣的同学扫描加入知识星球。

《Android Camera开发入门》视频课程,目前是更新了14节课程,也是对星球成员免费

欢迎扫码关注「小驰行动派」公众号 10 年Camera开发 | Camera技术干货 | 行业洞察 | Camera实战分享
小驰行动派公众号 扫一扫关注
分享到: 复制链接
← 上一篇 Google CameraX,看这篇文章就够了 下一篇 → Android CameraX 获取摄像头数据,采用ImageProxy进行数据分析

相关文章

推荐课程

想系统学习 Camera 开发?看看这些课程

评论 (0)

暂无评论,快来抢沙发吧