MTK Camera架构中,Tag是应用层与HAL层相互联系的主要纽带,很多应用层或FrameWork层需要HAL去处理或者接收的信息都是通过Request Key、Session Key、Result Key进行上下沟通的,这篇文章主要用来记录一下当初区分一起算法场景所自定义的Tag路径以及一些简单的HAL层获取方法,主要介绍Session Key和Request Key。
1.FrameWork Tag
FrameWork层的修改之后需要update API生成相应的current.txt文件
1.Session Key
FrameWork层定义:
应用层获取与下发:
Session Key对应的是: com.mediatek.configure/setting/sproSceneMode
2.Request Key:
FrameWork层定义
frameworks/base/core/java/android/hardware/camera2/CaptureRequest.java
应用层下发:
2.HAL层 Tag
mtk_metadata_tag.h文件下可查看所有Tag定义
1.Session Key
2.Request Key
单独的定义Request key只需要修改以上文件即可,如下所示为Session Key切换为Request Key时候的一下冲突解决
Requset Key不在这边定义,会与Session Key冲突
mtk_metadata_tag.h除了要定义Request Key之外,还需解决Session Key冲突
VendorTagTable.h: Request Key不需要
总结:
HAL层对Session Key以及Request Key的获取方式以及Session Key在HAL层的具体定义下节再来具体分析吧!
莫道春寒尚料峭,危中有机天地宽 ......