1. Metadata结构及分类
一个 metadata 通过tag,value及 type 来描述。不同的 metadata 分成三类 controls,dynamic 及 static
2. MTK Metadata
- IMetadata
- Mtk metadata container
- IMetadataConverter
- Provide mutual conversion for Android camera_metadata and MTK Imetadata
- IMetadataProvider
- Provide static camera metadata
- ITemplateRequest
- Provide default request templates
mtk metadata tags与android metadata tags之间的关系
3. Vendor Tag Structure
Google用一个VendorTagSection来描述一个VendorTag, sectionName必须填供应商名称命名,例如“com.mediatek.facefeature” “com.mediatek.eisfeature”
4. 怎样添加一个vendor tag
4.1 --> 添加 request 阶段的 control vendor tag
-
- 在对应sensor folder如下文件中的添加上vendor tag
(/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)
…
4.2 --> 添加 characteristic 的 vendor tag
Eg:MTK_MFNR_FEATURE_AVAILABLE_AIS_MODES
1~3跟control vendor tag一致
4.需要在如下两支文件中添加上vendor tag:
/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)