基于Mtk平台的android camera hal3学习

 框架
在这里插入图片描述

Android Camera硬件抽象层(HAL,Hardware Abstraction Layer)主要用于把底层camera driver的实现接口进行封装,再经过算法处理,提供接口给framework连接起来。
在安卓上实现camera的功能会有这么几个流程实现,open、config、request、result、close

  1. Hal层封装了kernel的器件实现,向Camera service封装了各种算法接口,供其调用。在hal3中有这么几个接口,ICameraProvider, ICameraDevice, ICameraDeviceSession, ICameraDeviceCallback。
  2. ICameraProvider主要是向上层提供能力值查询,比如属性类的metadata,并且通过它可以获取CameraDevice3lmpl(例如open camera)和cameradevice3sessionimpl实例。
  3. AppStreamMgr主要是向framework层提供process result、转化framework request格式为hal3 request和pipeline request、更新厂商定义的帧缓冲区使用方法。
  4. 在pipeline中p1node主要输出raw图。JPEJ nod e主要是将yuv转化为jpeg,metadata转化为app metadata。P1node就是root node是所有节点的根node,输出raw data到p2c或者p2s
     AppStreamMgr
    在这里插入图片描述

负责AppStreamMgr的回调
alps/vendor/mediatek/proprietary/hardware/mtkcam3/main/hal/device/3.x/app/AppStreamMgr.CallbackHandler.cpp
负责AppStreamMgr的Frame处理
alps/vendor/mediatek/proprietary/hardware/mtkcam3/main/hal/device/3.x/app/AppStreamMgr.FrameHandler.cpp
负责AppStreamMgr的Batch处理
alps/vendor/mediatek/proprietary/hardware/mtkcam3/main/hal/device/3.x/app/AppStreamMgr.BatchHandler.cpp
负责AppStreamMgr的处理请求
alps/vendor/mediatek/proprietary/hardware/mtkcam3/main/hal/device/3.x/app/AppStreamMgr.RequestHandler.cpp
负责AppStreamMgr的结果返回
alps/vendor/mediatek/proprietary/hardware/mtkcam3/main/hal/device/3.x/app/AppStreamMgr.ResultHandler.cpp
负责AppStreamMgr的Config处理
alps/vendor/mediatek/proprietary/hardware/mtkcam3/main/hal/device/3.x/app/AppStreamMgr.ConfigHandler.cpp

 Open

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

周少辉888

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

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

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

打赏作者

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

抵扣说明:

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

余额充值