基于MT6737平臺(tái),6735m架構(gòu)
HalSensorList.buildStaticInfo.cpp
先看結(jié)構(gòu)體:
staticchar const*constkStaticMetadataTypeNames[] = { "LENS", "SENSOR", "TUNING_3A", "FlashLIGHT", "SCALER", "FEATURE", "CAMERA", "REQUEST", NULL};這個(gè)結(jié)構(gòu)體中成員名字都是字符串,在metadata目錄中,每個(gè)sensor的metadata文件名字都包含其中一個(gè)字符串。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這個(gè)文件會(huì)定義:STATIC_METADATA2_BEGIN(DEVICE, SENSOR, SENSOR_DRVNAME_S5K3H7YX_MIPI_RAW)
SENSOR和文件名字中的sensor一一對(duì)應(yīng),其他文件類似。
函數(shù)會(huì)
staticMBOOLimpBuildStaticInfo( Info const& rInfo, IMetadata& rMetadata)
會(huì)解析出文件句柄:
char const*const pTypeName = kStaticMetadataTypeNames[i]; ----------->前面的字符串機(jī)構(gòu)體
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);
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注