首页 > 学院 > 开发设计 > 正文

mtk metadate浅析

2019-11-09 15:08:31
字体:
来源:转载
供稿:网友

基于MT6737平台,6735m架构

HalSensorList.buildStaticInfo.cpp

先看结构体:

staticchar const*constkStaticMetadataTypeNames[] = {    "LENS",    "SENSOR",    "TUNING_3A",    "FlashLIGHT",    "SCALER",    "FEATURE",    "CAMERA",    "REQUEST",    NULL};这个结构体中成员名字都是字符串,在metadata目录中,每个sensor的metadata文件名字都包含其中一个字符串。

config_static_metadata.lens.s5k3h7yxmipiraw.h

config_static_metadata.PRoject.camera.s5k3h7yxmipiraw.h

config_static_metadata.project.flashlight.s5k3h7yxmipiraw.h

config_static_metadata.sensor.s5k3h7yxmipiraw.h

config_static_metadata.tuning_3a.s5k3h7yxmipiraw.h

config_static_metadata_feature.h

config_static_metadata_request_commonType.h

config_static_metadata_scaler.h

其中config_static_metadata.sensor.s5k3h7yxmipiraw.h这个文件会定义:STATIC_METADATA2_BEGIN(DEVICE, SENSOR, SENSOR_DRVNAME_S5K3H7YX_MIPI_RAW)

SENSOR和文件名字中的sensor一一对应,其他文件类似。

函数会

staticMBOOLimpBuildStaticInfo(    Info const&     rInfo,    IMetadata&      rMetadata)

会解析出文件句柄:

      char const*const pTypeName = kStaticMetadataTypeNames[i];  ----------->前面的字符串机构体

        String8 const s8Symbol_Sensor = String8::format("%s_DEVICE_%s_%s", PREFIX_FUNCTION_STATIC_METADATA, pTypeName, rInfo.getSensorDrvName().string());        status = impConstructStaticMetadata_by_SymbolName(s8Symbol_Sensor, rInfo, rMetadata);


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表