EIS防抖对上次MCP APP的调用要求
============================================================
PixSmart EIS APP 层调用说明(Camera HAL v3 接口)
============================================================
本文档说明 APP 层如何通过 Camera2 CaptureRequest 下发参数,
控制 PixSmart EIS 功能的开关与鉴权。
------------------------------------------------------------
1. 前置条件
------------------------------------------------------------
HAL 层已完成 PixSmart EIS 插件集成(详见 Readme(for hal).txt),
且 Vendor Tag "com.pixsmart.eisfeature" 已注册到 HAL 中。
------------------------------------------------------------
2. Vendor Tag 定义
------------------------------------------------------------
系统提供了 3 个 Camera Vendor Tag,APP 需在代码中声明对应的 Key:
| Tag 名称 | 类型 | 用途 |
|-----------------------------------------|-----------|----------------------------|
| com.pixsmart.eisfeature.eisEnable | Integer | EIS 功能开关,1 = 开,0 = 关 |
| com.pixsmart.eisfeature.superEIS | Integer | Super EIS 开关,1 = 开,0 = 关 |
| com.pixsmart.eisfeature.getIMEIData | byte[] | 下发 IMEI 鉴权数据 |
------------------------------------------------------------
3. APP 代码示例
------------------------------------------------------------
public static final Key<Integer> PIXSMART_EISFEATURE_EISENABLE =
new CaptureRequest.Key<>("com.pixsmart.eisfeature.eisEnable", Integer.class);
public static final Key<Integer> PIXSMART_EISFEATURE_SUPEREIS =
new CaptureRequest.Key<>("com.pixsmart.eisfeature.superEIS", Integer.class);
public static final Key<byte[]> PIXSMART_EISFEATURE_IMEI =
new CaptureRequest.Key<>("com.pixsmart.eisfeature.getIMEIData", byte[].class);
// --- 下发参数 ---
CaptureRequest.Builder captureBuilder =
mCameraDevice.createCaptureRequest(mTemplate);
// 1. 开启 EIS
boolean isSuperEIS;//超级防抖
boolean isEIS;//普通防抖
if (isSuperEIS) {
captureBuilder.set(PIXSMART_EISFEATURE_EISENABLE, 1);
captureBuilder.set(PIXSMART_EISFEATURE_SUPEREIS, 1);
} else if (isEIS) {
captureBuilder.set(PIXSMART_EISFEATURE_EISENABLE, 1);
captureBuilder.set(PIXSMART_EISFEATURE_SUPEREIS, 0);
} else {
captureBuilder.set(PIXSMART_EISFEATURE_EISENABLE, 0);
captureBuilder.set(PIXSMART_EISFEATURE_SUPEREIS, 0);
}
// 2. 下发 IMEI 鉴权码
String sIMEI = /* 获取设备 IMEI */;
captureBuilder.set(PIXSMART_EISFEATURE_IMEI,
sIMEI.getBytes(StandardCharsets.UTF_8));
// 3.【建议】搭配 SPORTS 场景模式以区分曝光表
captureBuilder.set(CaptureRequest.CONTROL_SCENE_MODE,
CameraMetadata.CONTROL_SCENE_MODE_SPORTS);
captureBuilder.set(CaptureRequest.CONTROL_MODE,
CameraMetadata.CONTROL_MODE_USE_SCENE_MODE);
// 4.检查是否正确设置,在预览界面通过以下命令查看:
adb shell "dumpsys media.camera | grep eisfeature -A2"
