EIS防抖对上次MCP APP的调用要求

发布时间: 2026-09-04 17:38:33

============================================================

  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"