mtk camera 添加一个metadata

Mtkmetadata包含android Metadata
mtk camera 添加一个metadata

在所有的添加metadata的步骤中1到3必加。
 Request阶段添加metadata:

4、若是request metadata则添加到REQUEST metadata中。
/vendor/mediatek/proprietary/custom/mt6765/hal/imgsensor_metadata/imx386_mipi_raw/config_static_metadata_request_commonType.h
CONFIG_METADATA_BEGIN(MTK_REQUEST_AVAILABLE_REQUEST_KEYS)//new hidden

CONFIG_ENTRY_VALUE(MTK_MFNR_FEATURE_AIS_MODE, MINT32)

5、若是属性metadata 则添加属性到characteristic相关的metadata
a) 添加到属性metadata中
/vendor/mediatek/proprietary/custom/mt6765/hal/imgsensor_metadata/imx386_mipi_raw/config_static_metadata_request_commonType.h
CONFIG_METADATA_BEGIN(MTK_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS)

CONFIG_ENTRY_VALUE(MTK_MFNR_FEATURE_AVAILABLE_AIS_MODES, MINT32)

b) 添加tag 值
/vendor/mediatek/proprietary/custom/mt6765/hal/imgsensor_metadata/imx386_mipi_raw/config_static_metadata_feature.h

#if MTKCAM_HAVE_MFB_SUPPORT
CONFIG_METADATA_BEGIN(MTK_MFNR_FEATURE_AVAILABLE_AIS_MODES)
CONFIG_ENTRY_VALUE(MTK_MFNR_FEATURE_AIS_OFF, MINT32) // MUST Add this mode
#if (MTKCAM_HAVE_MFB_SUPPORT >= 2)
CONFIG_ENTRY_VALUE(MTK_MFNR_FEATURE_AIS_ON, MINT32)
#endif
CONFIG_METADATA_END()

 Config阶段添加vendor metadata,需要增加session key(上述1-3步骤必须加)
11、 在metadata 的session中添加当前的vendor tag。
CONFIG_METADATA_BEGIN(MTK_REQUEST_AVAILABLE_SESSION_KEYS)
CONFIG_ENTRY_VALUE(XXXX, MINT32) ----加对应的 vendor tag
CONFIG_METADATA_END()
12、 或者在 constructstaticMetadata中动态更新metadata
/vendor/mediatek/proprietary/hardware/mtkcam/utils/metastore/metadataprovider/constructStaticMetadata.cpp
UpdateData 中动态 update:
{
IMetadata::IEntry availReqEntry = rMetadata.entryFor(MTK_REQUEST_AVAILABLE_SESSION_KEYS);
availReqEntry.push_back(XXXX, Type2Type< MINT32 >());
rMetadata.update(availReqEntry.tag(), availReqEntry);
}
 编译的so文件

  1. 如果是跟request和middleware相关的修改编译libmtkcam.metastore.so
  2. 如果是跟3a和sensor相关的修改,则编译libcam.halsensor.so
上一篇:RenderType的作用


下一篇:高通平台Camera调试移植入门