Camera软件架构

主要包含三个部分的介绍:

1)Android Camera 架构:Android系统原生架构简要介绍.

2)Mediatek Android Camera架构: 简要介绍Mediatek平台在Android系统基础上Camera 的架构.

3)Camera data path: 介绍在平台端Camera的数据流.

1.下图为Android Camera 架构

67237c150be14973ba8a08156b6bc634.png

Camera根据Android 架构从上至下可分为:

    1)Applications: 最上层的应用,编译后生成Camera  APK;

    2)Application Framework: 主要为Applications提供API;

    3)JNI: 使Application Framework和Libraries可交互;

    4)Libraries: 包括Camera Framework和Camera Service(camera service和camera client);

    5)HAL: 硬件抽象层, 用来链接driver和 Camera Service;

    6)Kernel: image sensor driver的实作.

其中2)~4)的部分基本为Android原生的架构和code,Mediatek会有一些拓展,而HAL和Kernel层为Mediatek主要实作的部分,Camera APK是Mediatek基于Android 原生Camera APK修改的应用.

2.下图为MT6589/82/72/92/88平台基于Android架构上, ,Camera从application到kernel层详细的架构.

1)蓝色部分主要由Java实现(偏向应用层)、黄色为JNI实现(C++,衔接Java层和Native层), 绿色由C++实现(通常称为Native层),而枣红色为C实现(Kernel 层).

2) HAL libraries为Mediatek在HAL层的实现,主要分Camera HAL和Camera Core两大部分.Camera HAL衔接Camera Service并响应它的需求,实现各个feature的scenario; 而Camera Core提供平台一些通用的数据流控制接口.

3.最后这部分为Camera的数据流简要介绍

0e4b2ad49d9c4e3a9377c64e0a387988.png

说明:

1) TG(Timing Generate):从sensor获取数据,并送给ISP处理.

2) Platform Data Processor: 包括平台在后端对图像数据进行resize、rotate、flip、format convert等处理.它可以同时有两个buffer输出.

   当normal preview时,port1输出给display,port2输出给face detection或者app preview callback

   当normal capture时,port1输出大图给jpeg encoder,port2输出小图给回显和thumbnail encode.

fb9d58c402b749db8ca639017ac1749c.png

 当video record时,port1输出给display,port2输出给video encoder.

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青春~飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值