mtk metadate浅析

来源:互联网 发布:淘宝hd ios5.1.1版本 编辑:程序博客网 时间:2024/06/08 15:22

基于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一一对应,其他文件类似。

函数会

static
MBOOL
impBuildStaticInfo(
    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);



0 0
原创粉丝点击