Camera API1 相机参数设置流程二 hardware层

10 篇文章 2 订阅

Camera API1 相机参数设置流程一 framework层

Camera API1 相机参数设置流程二 hardware层

 

HAL 

Android P 中 相机 HAL 代码目录:

  • Android Camera parameters

hardware/interfaces/camera/common/1.0/default/CameraParameters.cpp

  • MTK Camera parameters

vendor/mediatek/proprietary/hardware/mtkcam/utils/fwk/CameraParameters.cpp

vendor/mediatek/proprietary/hardware/mtkcam/utils/fwk/MtkCameraParameters.cpp

 

主要分析 MTK 平台

MTK 平台使用 MTK Camera HAL ,拓展平台的 Camera 功能。

  • MTK Camera HAL 目录

vendor/mediatek/proprietary/hardware/mtkcam  

vendor/mediatek/proprietary/hardware/mtkcam3

 

通过打印信息和代码跳转可知,

vendor/mediatek/proprietary/hardware/mtkcam/main/hal/device/1.x/device/CameraDevice1Base.cpp

Return<Status> CameraDevice1Base::setParameters(const hidl_string& params)

 

用 grep 搜索查到

vendor/mediatek/proprietary/hardware/mtkcam/middleware/v1/common/paramsmgr/params/ParamsManager.cpp

发送 CameraParameters

 

vendor/mediatek/proprietary/hardware/mtkcam/utils/fwk/CameraParameters.cpp

是不是很熟悉下图代码中的成员函数: flatten , unflatten , set , get  , 和framework 中 CameraParameters2.cpp、 Camera.java  函数命名规则类似。

 

在Android 源码中搜索 setParameters  metadata CameraId 等,根据经验定位到如下文件:

不分析定位代码的过程,这里给出部分文件的索引,感兴趣的朋友可查阅源码。

vendor/mediatek/proprietary/hardware/mtkcam/middleware/v1/adapter/Default/v3/DefaultAdapter.Param.cpp

vendor/mediatek/proprietary/hardware/mtkcam/middleware/v1/LegacyPipeline/request/RequestControllerImp.cpp

vendor/mediatek/proprietary/hardware/mtkcam/utils/metastore/metadataprovider/MetadataProvider.cpp

vendor/mediatek/proprietary/hardware/mtkcam/utils/LogicalCam/HalLogicalDeviceList.cpp

根据上述代码的 pHalDeviceList 定位到 HalLogicalDeviceList

/vendor/mediatek/proprietary/hardware/mtkcam/utils/LogicalCam/HalLogicalDeviceList.cpp

在下图的名字中可知管理相机设备(逻辑)列表。

查阅代码继续定位到

vendor/mediatek/proprietary/hardware/mtkcam/drv/src/sensor/mtxxxx/imgsensor_drv.cpp

熟悉linux的朋友从如下代码中的 open close  ioctl 可知进入linux 用户空间。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值