# 图像质量 - ISP

## 模块描述

ISP（ Image Signal Processing，图像信号处理）是一种用于处理前端图像传感器输出信号的关键单元，其主要功能是适配不同厂商的图像传感器，以实现最佳的图像质量和性能。

X5 SDK 集成了一个 ISP 单元，用于处理摄像头输入图像中的宽动态范围 (WDR)、高动态范围 (HDR) 及降噪 (3DNR) 等。该 ISP 支持 8bit、 10bit、 12bit 和 16bit 的 RAW 数据输入，最多支持长、短曝光两帧的 HDR 合成，性能可达 4K@60fps，最大支持 12M 图像输入。其主要特性如下：

- 内建图像信号处理器 (ISP)，支持 RAW 转 YUV 转换
- 最大处理能力： 3840x2160@60fps
  - 硬件模式： 4096x3072
  - 软件模式 ( tile mode )： 5472x3076
- 支持高动态范围 (HDR) 传感器：
  - 最大支持 20 位 HDR 处理
  - 支持数字重叠 (DOL2)HDR 传感器
  - 支持线性化 HDR 传感器
  - 支持原生 ( 传感器内 ) 压缩 HDR 传感器
- 支持自动曝光 (Auto-Exposure)、自动白平衡 (Auto-White Balance， awb) 和自动对焦 (Auto-Focus)(3A) 直方图统计
- 支持镜头阴影校正
- 支持缺陷像素校正 (DPC)
- 支持空间噪声抑制 (2DNR)
- 支持时域噪声抑制 (3DNR)
- 支持色彩噪声抑制
- 支持 RGB 锐化和边缘增强
- 支持伽马校正
- 支持黑电平补偿
- 支持传感器线性修正
- 支持绿色均衡化
- 支持数字增益
- 支持增强色彩插值 (拜耳去马赛克滤镜)
- 支持色差校正 (CAC)
- 支持色彩校正 (Xtalk) 矩阵 (CCM)
- 支持色彩空间转换 (CSM)
- 支持防闪烁
- 支持色彩处理：对比度、饱和度、亮度、色调 (CPROC)
- 支持锐化 / 模糊滤镜
- 支持 RGB-IR 4x4 模式
- 支持宽动态范围 (WDR)，结合全局与局部色调映射
- 支持 PDAF（相位检测自动对焦）

### 术语解释

以下表格对函数名称及变量名称中涉及的专业术语缩写进行了说明：

| 术语 | 缩写 | 说明 |
|:----------:|:------:|:------:|
| Built-in Image Signal Processor | ISP | 内置图像信号处理器 |
| High Dynamic Range | HDR | 高动态范围 |
| Digital Overlap | DOL2 | 数字重叠（ DOL2 ） |
| Auto-Exposure, Auto-White balance, and Auto-Focus | 3A | 自动曝光、自动白平衡和自动对焦 |
| Auto-Exposure | AE | 自动曝光 |
| Auto-White balance | AWB | 自动白平衡 |
| Auto-Focus | AF | 自动对焦 |
| Lens Shading Correction | LSC | 镜头阴影校正 |
| Defect Pixel Correction | DPC | 缺陷像素校正 |
| Spatial Noise Reduction | 2DNR | 空间噪声降低（二维噪声降低） |
| Temporal Noise Reduction | 3DNR | 时间噪声降低（三维噪声降低） |
| Gamma Correction | GC | 伽马校正 |
| Digital Gain | DG | 数字增益 |
| Chromatic Aberration Correction | CAC | 色差校正 |
| Color Correction (Xtalk) Matrix | CCM | 色彩校正（串扰）矩阵 |
| Color Space Conversion | CSM | 色彩空间转换 |
| Color Processing: Contrast, Saturation, Brightness, Hue | CPROC | 色彩处理：对比度、饱和度、亮度、色调 |
| Wide Dynamic Range | WDR | 宽度动态范围 |

### 图像处理模式说明

本平台支持两种图像处理模式： Offline 模式和 Online 模式。

**Offline 模式**

Offline 模式数据传输路径如下图所示：

![VIN_ISP_offline](./_static/_images/ISP_Tune_API/VIN_ISP_offline.png)

具体说明如下：

1. **VNode1**:
   - **VIN**: 视频输入模块，负责接收来自相机的原始视频数据。
   - **MIPI RX(CSIx)**: 通过 MIPI 接口接收相机数据。
   - **SIFx**: 将接收到的数据进行初步处理或格式化。

2. **数据传输**:
   - 数据从 VNode1 的 SIFx 模块传输到 VNode2 的 ISP 模块。
   - 数据传输路径为： SIFx → DDR → ISP。
   - 这意味着在 Offline 模式下，数据会经过 DDR（动态随机存取存储器）进行存储和处理。

3. **VNode2**:
   - **ISP**: 图像信号处理器，负责对原始图像数据进行进一步处理。
   - **Pipeline**: 图像处理流水线，处理图像数据。
   - **RDMA**: 可能是一个存储模块，用于存储处理后的图像数据。
   - **RAW 和 YUV**: 表示图像数据的不同格式， RAW 是未经处理的原始数据， YUV 是常见的图像格式。

**Online 模式**

online 模式数据传输路径如下图所示：

![VIN_ISP_offline](./_static/_images/ISP_Tune_API/VIN_ISP_online.png)

具体说明如下：

1. **VNode1**:
   - **VIN**: 视频输入模块，负责接收来自相机的原始视频数据。
   - **MIPI RX(CSIx)**: 通过 MIPI 接口接收相机数据。
   - **SIFx**: 将接收到的数据进行初步处理或格式化。

2. **数据传输**:
   - 数据从 VNode1 的 SIFx 模块直接传输到 VNode2 的 ISP 模块，而不经过 DDR。
   - 数据传输路径为： SIFx → Ichn0 → ISP。
   - 这意味着在 Online 模式下，数据不经过 DDR，直接在处理流水线中进行处理。

3. **VNode2**:
   - **ISP**: 图像信号处理器，负责对原始图像数据进行进一步处理。
   - **Pipeline**: 图像处理流水线，处理图像数据。
   - 在 Online 模式下，数据直接在 Pipeline 中进行处理，而不经过 DDR。

两种传输模式的主要区别为：

- **Offline 模式**：数据经过 DDR 进行存储和处理，适用于需要大量存储和复杂处理的场景。
- **Online 模式**：数据直接在处理流水线中进行处理，不经过 DDR，适用于实时处理和低延迟的场景。

这两种模式的选择取决于具体的应用需求，需要综合考虑处理速度、存储需求和系统资源等因素。

## 参考示例

ISP 部分示例代码可以参考 [sample_isp 使用说明中的 multi_isp_vflow ](../samples/sample_isp.html#multi-isp-vflow)  章节。

## API 参考

- [hbn_isp_set_module_control](#hbn_isp_set_module_control)：控制 isp 的某些功能是否使能。
- [hbn_isp_get_module_control](#hbn_isp_get_module_control)：获取 isp 模块的控制状态。
- [hbn_isp_set_exposure_attr](#hbn_isp_set_exposure_attr)：设置 isp 的曝光属性。
- [hbn_isp_get_exposure_attr](#hbn_isp_get_exposure_attr)：获取 isp 的曝光属性。
- [hbn_isp_set_hdr_exposure_attr](#hbn_isp_set_hdr_exposure_attr)：设置 isp 的 hdr 曝光属性。
- [hbn_isp_get_hdr_exposure_attr](#hbn_isp_get_hdr_exposure_attr)：获取 isp 的 hdr 曝光属性。
- [hbn_isp_set_awb_attr](#hbn_isp_set_awb_attr)：设置 isp 的自动白平衡属性。
- [hbn_isp_get_awb_attr](#hbn_isp_get_awb_attr)：获取 isp 的自动白平衡属性。
- [hbn_isp_get_awb_gain_by_temper](#hbn_isp_get_awb_gain_by_temper)：根据色温值获取 isp 的自动白平衡增益。
- [hbn_isp_set_ae_zone_weight_attr](#hbn_isp_set_ae_zone_weight_attr)：设置 isp 的 ae 区域权重属性。
- [hbn_isp_get_ae_zone_weight_attr](#hbn_isp_get_ae_zone_weight_attr)：获取 isp 的 ae 区域权重属性。
- [hbn_isp_set_af_zone_weight_attr](#hbn_isp_set_af_zone_weight_attr)：设置 isp 的 af 区域权重属性。
- [hbn_isp_get_af_zone_weight_attr](#hbn_isp_get_af_zone_weight_attr)：获取 isp 的 af 区域权重属性。
- [hbn_isp_get_ae_statistics](#hbn_isp_get_ae_statistics)：获取 isp 的 ae 统计数据。
- [hbn_isp_get_awb_statistics](#hbn_isp_get_awb_statistics)：获取 isp 的 awb 统计数据。
- [hbn_isp_get_af_statistics](#hbn_isp_get_af_statistics)：获取 isp 的 af 统计数据。
- [hbn_isp_set_exposure_table](#hbn_isp_set_exposure_table)：设置 isp ae 的曝光表。
- [hbn_isp_get_exposure_table](#hbn_isp_get_exposure_table)：获取 isp ae 的曝光表。
- [hbn_isp_set_exposure_roi](#hbn_isp_set_exposure_roi)：设置 isp 的曝光 roi。
- [hbn_isp_get_exposure_roi](#hbn_isp_get_exposure_roi)：获取 isp 的曝光 roi。
- [hbn_isp_get_lines_persecond](#hbn_isp_get_lines_persecond)：获取 isp 每秒的行数。
- [hbn_isp_set_2dnr_attr](#hbn_isp_set_2dnr_attr)：设置 isp 的 2dnr 属性。
- [hbn_isp_get_2dnr_attr](#hbn_isp_get_2dnr_attr)：获取 isp 的 2dnr 属性。
- [hbn_isp_set_3dnr_attr](#hbn_isp_set_3dnr_attr)：设置 isp 的 3dnr 属性。
- [hbn_isp_get_3dnr_attr](#hbn_isp_get_3dnr_attr)：获取 isp 的 3dnr 属性。
- [hbn_isp_get_lsc_attr](#hbn_isp_get_lsc_attr)：获取 isp 的 lsc 属性。
- [hbn_isp_set_lsc_attr](#hbn_isp_set_lsc_attr)：设置 isp 的 lsc 属性。
- [hbn_isp_set_awb_preference_attr](#hbn_isp_set_awb_preference_attr)：设置 isp 的 awb 偏好属性。
- [hbn_isp_get_awb_preference_attr](#hbn_isp_get_awb_preference_attr)：获取 isp 的 awb 偏好属性。
- [hbn_isp_get_wdr_attr](#hbn_isp_get_wdr_attr)：获取 isp 的 wdr 属性。
- [hbn_isp_set_wdr_attr](#hbn_isp_set_wdr_attr)：设置 isp 的 wdr 属性。
- [hbn_isp_set_ccm_attr](#hbn_isp_set_ccm_attr)：设置 isp 的 ccm 属性。
- [hbn_isp_get_ccm_attr](#hbn_isp_get_ccm_attr)：获取 isp 的 ccm 属性。
- [hbn_isp_set_gc_attr](#hbn_isp_set_gc_attr)：设置 isp 的 gc 属性。
- [hbn_isp_get_gc_attr](#hbn_isp_get_gc_attr)：获取 isp 的 gc 属性。
- [hbn_isp_set_dmsc_attr](#hbn_isp_set_dmsc_attr)：设置 isp 的 dmsc 属性。
- [hbn_isp_get_dmsc_attr](#hbn_isp_get_dmsc_attr)：获取 isp 的 dmsc 属性。
- [hbn_isp_set_ee_attr](#hbn_isp_set_ee_attr)：设置 isp 的 ee 属性。
- [hbn_isp_get_ee_attr](#hbn_isp_get_ee_attr)：获取 isp 的 ee 属性。
- [hbn_isp_set_cproc_attr](#hbn_isp_set_cproc_attr)：设置 isp 的 cproc 属性。
- [hbn_isp_get_cproc_attr](#hbn_isp_get_cproc_attr)：获取 isp 的 cproc 属性。
- [hbn_isp_get_dpcc_attr](#hbn_isp_get_dpcc_attr)：获取 isp 的 dpcc 属性。
- [hbn_isp_set_dpcc_attr](#hbn_isp_set_dpcc_attr)：设置 isp 的 dpcc 属性。
- [hbn_isp_set_pattern_attr](#hbn_isp_set_pattern_attr)：设置 isp 的 bayer pattern。
- [hbn_isp_cal_gain_by_temp](#hbn_isp_cal_gain_by_temp)：计算特定色温下的白平衡增益系数。

## 接口说明

Note:

1. 使用 API 接口时需要通过 tuning json 将对应的模块打开，否则调用 get 接口获取到的参数可能存在问题。

2. tuning json 中 state 为1的模块，为 manual 模式，获取到 auto 参数会有问题。state 为2时为 auto 模式，可以获取到当前参数与 auto 参数。

<span id="hbn_isp_set_module_control"/> </span>
### hbn_isp_set_module_control

#### 【函数声明】

int32_t hbn_isp_set_module_control(hbn_vnode_handle_t vnode_fd, hbn_isp_module_ctrl_t *p_ctrl)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_module_ctrl_t *p_ctrl： isp 模块控制结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

isp 的 pipeline 中包含多个模块，该接口控制是否使能 isp 的某些功能。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_module_control"/> </span>
### hbn_isp_get_module_control

#### 【函数声明】

int32_t hbn_isp_get_module_control(hbn_vnode_handle_t vnode_fd, hbn_isp_module_ctrl_t *p_ctrl)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_module_ctrl_t *p_ctrl： isp 模块控制结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 模块的控制状态。 isp 的 pipeline 中包含多个模块，该接口获取 isp 中的某个功能是否使能。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_exposure_attr"/> </span>
### hbn_isp_set_exposure_attr

#### 【函数声明】

int32_t hbn_isp_set_exposure_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_exposure_attr_t *p_attr： isp 曝光属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的曝光属性，包括手动和自动曝光模式的相关参数。调用接口时 hbn_isp_exposure_attr_t 中需要配置当前 ae 的 mode（ manual/auto），以及对应的配置（ manual_attr/auto_attr）。

#### 【注意事项】

需要确保传入的参数在有效范围内，否则可能会导致设置失败。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_exposure_attr"/> </span>
### hbn_isp_get_exposure_attr

#### 【函数声明】

int32_t hbn_isp_get_exposure_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_exposure_attr_t *p_attr： isp 曝光属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的曝光属性。获取到的参数中 isp_mode 暂时不可用，可以同时获取到 manual_attr 与 auto_attr。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_hdr_exposure_attr"/> </span>
### hbn_isp_set_hdr_exposure_attr

#### 【函数声明】

int32_t hbn_isp_set_hdr_exposure_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_hdr_exposure_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_hdr_exposure_attr_t *p_attr： isp hdr 曝光属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp hdr 功能相关参数，调用接口时 hbn_isp_hdr_exposure_attr_t 中需要配置当前 hdr 的 mode（ manual/auto），以及对应的配置（ manual_attr/auto_attr）。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_hdr_exposure_attr"/> </span>
### hbn_isp_get_hdr_exposure_attr

#### 【函数声明】

int32_t hbn_isp_get_hdr_exposure_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_hdr_exposure_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_hdr_exposure_attr_t *p_attr： isp hdr 曝光属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp hdr 功能参数，获取到的参数中 isp_mode 暂时不可用，可以同时获取到 manual_attr 与 auto_attr。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_awb_attr"/> </span>
### hbn_isp_set_awb_attr

#### 【函数声明】

int32_t hbn_isp_set_awb_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_awb_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_awb_attr_t *p_attr： isp 自动白平衡属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的自动白平衡属性，包括手动和自动白平衡模式的相关参数。调用接口时 hbn_isp_awb_attr_t 中需要配置当前 awb 的 mode（ manual/auto），以及对应的配置（ manual_attr/auto_attr）。

#### 【注意事项】

需要确保传入的参数在有效范围内，否则可能会导致设置失败。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_awb_attr"/> </span>
### hbn_isp_get_awb_attr

#### 【函数声明】

int32_t hbn_isp_get_awb_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_awb_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_awb_attr_t *p_attr： isp 自动白平衡属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的自动白平衡属性。获取到的参数中 isp_mode 暂时不可用，可以同时获取到 manual_attr 与 auto_attr。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_awb_gain_by_temper"/> </span>
### hbn_isp_get_awb_gain_by_temper

#### 【函数声明】

int32_t hbn_isp_get_awb_gain_by_temper(hbn_vnode_handle_t vnode_fd, uint32_t temper, hbn_isp_awb_gain_t *p_awb_gain)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] uint32_t temper：温度值。
- [OUT] hbn_isp_awb_gain_t *p_awb_gain： isp 白平衡增益结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

根据色温值获取 isp 的自动白平衡增益。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_ae_zone_weight_attr"/> </span>
### hbn_isp_set_ae_zone_weight_attr

#### 【函数声明】

int32_t hbn_isp_set_ae_zone_weight_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ae_zone_weight_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_ae_zone_weight_attr_t *p_attr： isp ae 区域权重属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 ae 区域权重属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_ae_zone_weight_attr"/> </span>
### hbn_isp_get_ae_zone_weight_attr

#### 【函数声明】

int32_t hbn_isp_get_ae_zone_weight_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ae_zone_weight_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_ae_zone_weight_attr_t *p_attr： isp ae 区域权重属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 ae 区域权重属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_af_zone_weight_attr"/> </span>
### hbn_isp_set_af_zone_weight_attr

#### 【函数声明】

int32_t hbn_isp_set_af_zone_weight_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_af_zone_weight_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_af_zone_weight_attr_t *p_attr： isp af 区域权重属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 af 区域权重属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_af_zone_weight_attr"/> </span>
### hbn_isp_get_af_zone_weight_attr

#### 【函数声明】

int32_t hbn_isp_get_af_zone_weight_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_af_zone_weight_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_af_zone_weight_attr_t *p_attr： isp af 区域权重属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 af 区域权重属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_ae_statistics"/> </span>
### hbn_isp_get_ae_statistics

#### 【函数声明】

int32_t hbn_isp_get_ae_statistics(hbn_vnode_handle_t vnode_fd, hbn_isp_ae_statistics_t *p_data)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_ae_statistics_t *p_data： isp ae 统计数据结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 ae 统计数据。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_awb_statistics"/> </span>
### hbn_isp_get_awb_statistics

#### 【函数声明】

int32_t hbn_isp_get_awb_statistics(hbn_vnode_handle_t vnode_fd, hbn_isp_awb_statistics_t *p_data)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_awb_statistics_t *p_data： isp awb 统计数据结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 awb 统计数据。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_af_statistics"/> </span>
### hbn_isp_get_af_statistics

#### 【函数声明】

int32_t hbn_isp_get_af_statistics(hbn_vnode_handle_t vnode_fd, hbn_isp_af_statistics_t *p_data)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_af_statistics_t *p_data： isp af 统计数据结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 af 统计数据。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_exposure_table"/> </span>
### hbn_isp_set_exposure_table

#### 【函数声明】

int32_t hbn_isp_set_exposure_table(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_table_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_exposure_table_t *p_attr： isp 曝光表结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的曝光表。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_exposure_table"/> </span>
### hbn_isp_get_exposure_table

#### 【函数声明】

int32_t hbn_isp_get_exposure_table(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_table_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_exposure_table_t *p_attr： isp 曝光表结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的曝光表。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_exposure_roi"/> </span>
### hbn_isp_set_exposure_roi

#### 【函数声明】

int32_t hbn_isp_set_exposure_roi(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_roi_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_exposure_roi_t *p_attr： isp 曝光 roi 结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的曝光 roi。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_exposure_roi"/> </span>
### hbn_isp_get_exposure_roi

#### 【函数声明】

int32_t hbn_isp_get_exposure_roi(hbn_vnode_handle_t vnode_fd, hbn_isp_exposure_roi_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_exposure_roi_t *p_attr： isp 曝光 roi 结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的曝光 roi。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_lines_persecond"/> </span>
### hbn_isp_get_lines_persecond

#### 【函数声明】

int32_t hbn_isp_get_lines_persecond(hbn_vnode_handle_t vnode_fd, uint32_t *lines)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] uint32_t *lines：每秒行数指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 每秒的行数。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_2dnr_attr"/> </span>
### hbn_isp_set_2dnr_attr

#### 【函数声明】

int32_t hbn_isp_set_2dnr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_2dnr_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_2dnr_attr_t *p_attr： isp 2dnr 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 2dnr 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_2dnr_attr"/> </span>
### hbn_isp_get_2dnr_attr

#### 【函数声明】

int32_t hbn_isp_get_2dnr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_2dnr_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_2dnr_attr_t *p_attr： isp 2dnr 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 2dnr 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_3dnr_attr"/> </span>
### hbn_isp_set_3dnr_attr

#### 【函数声明】

int32_t hbn_isp_set_3dnr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_3dnr_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_3dnr_attr_t *p_attr： isp 3dnr 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 3dnr 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_3dnr_attr"/> </span>
### hbn_isp_get_3dnr_attr

#### 【函数声明】

int32_t hbn_isp_get_3dnr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_3dnr_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_3dnr_attr_t *p_attr： isp 3dnr 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 3dnr 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_lsc_attr"/> </span>
### hbn_isp_get_lsc_attr

#### 【函数声明】

int32_t hbn_isp_get_lsc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_lsc_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_lsc_attr_t *p_attr： isp lsc 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 lsc 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_lsc_attr"/> </span>
### hbn_isp_set_lsc_attr

#### 【函数声明】

int32_t hbn_isp_set_lsc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_lsc_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_lsc_attr_t *p_attr： isp lsc 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 lsc 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_awb_preference_attr"/> </span>
### hbn_isp_set_awb_preference_attr

#### 【函数声明】

int32_t hbn_isp_set_awb_preference_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_awb_preference_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_awb_preference_attr_t *p_attr： isp awb 偏好属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 awb 偏好属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_awb_preference_attr"/> </span>
### hbn_isp_get_awb_preference_attr

#### 【函数声明】

int32_t hbn_isp_get_awb_preference_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_awb_preference_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_awb_preference_attr_t *p_attr： isp awb 偏好属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 awb 偏好属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_wdr_attr"/> </span>
### hbn_isp_get_wdr_attr

#### 【函数声明】

int32_t hbn_isp_get_wdr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_wdr_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_wdr_attr_t *p_attr： isp wdr 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 wdr 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_wdr_attr"/> </span>
### hbn_isp_set_wdr_attr

#### 【函数声明】

int32_t hbn_isp_set_wdr_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_wdr_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_wdr_attr_t *p_attr： isp wdr 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 wdr 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_ccm_attr"/> </span>
### hbn_isp_set_ccm_attr

#### 【函数声明】

int32_t hbn_isp_set_ccm_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ccm_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_ccm_attr_t *p_attr： isp ccm 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 ccm 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_ccm_attr"/> </span>
### hbn_isp_get_ccm_attr

#### 【函数声明】

int32_t hbn_isp_get_ccm_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ccm_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_ccm_attr_t *p_attr： isp ccm 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 ccm 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_gc_attr"/> </span>
### hbn_isp_set_gc_attr

#### 【函数声明】

int32_t hbn_isp_set_gc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_gc_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_gc_attr_t *p_attr： isp gc 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 gc 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_gc_attr"/> </span>
### hbn_isp_get_gc_attr

#### 【函数声明】

int32_t hbn_isp_get_gc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_gc_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_gc_attr_t *p_attr： isp gc 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 gc 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_dmsc_attr"/> </span>
### hbn_isp_set_dmsc_attr

#### 【函数声明】

int32_t hbn_isp_set_dmsc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_dmsc_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_dmsc_attr_t *p_attr： isp dmsc 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 dmsc 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_dmsc_attr"/> </span>
### hbn_isp_get_dmsc_attr

#### 【函数声明】

int32_t hbn_isp_get_dmsc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_dmsc_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_dmsc_attr_t *p_attr： isp dmsc 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 dmsc 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_ee_attr"/> </span>
### hbn_isp_set_ee_attr

#### 【函数声明】

int32_t hbn_isp_set_ee_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ee_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_ee_attr_t *p_attr： isp ee 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 ee 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_ee_attr"/> </span>
### hbn_isp_get_ee_attr

#### 【函数声明】

int32_t hbn_isp_get_ee_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_ee_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_ee_attr_t *p_attr： isp ee 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 ee 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_cproc_attr"/> </span>
### hbn_isp_set_cproc_attr

#### 【函数声明】

int32_t hbn_isp_set_cproc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_cproc_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_cproc_attr_t *p_attr： isp cproc 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 cproc 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_cproc_attr"/> </span>
### hbn_isp_get_cproc_attr

#### 【函数声明】

int32_t hbn_isp_get_cproc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_cproc_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_cproc_attr_t *p_attr： isp cproc 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 cproc 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_get_dpcc_attr"/> </span>
### hbn_isp_get_dpcc_attr

#### 【函数声明】

int32_t hbn_isp_get_dpcc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_dpcc_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [OUT] hbn_isp_dpcc_attr_t *p_attr： isp dpcc 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

获取 isp 的 dpcc 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_dpcc_attr"/> </span>
### hbn_isp_set_dpcc_attr

#### 【函数声明】

int32_t hbn_isp_set_dpcc_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_dpcc_attr_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。
- [IN] hbn_isp_dpcc_attr_t *p_attr： isp dpcc 属性结构体指针。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。
- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 dpcc 属性。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_set_pattern_attr"/> </span>
### hbn_isp_set_pattern_attr

#### 【函数声明】

int32_t hbn_isp_set_pattern_attr(hbn_vnode_handle_t vnode_fd, hbn_isp_pattern_t \*p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。

- [IN] hbn_isp_pattern_t *p_attr： Bayer Pattern。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。

- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

设置 isp 的 bayer pattern。

#### 【注意事项】

无。

#### 【兼容性】

硬件 : X5 。

<span id="hbn_isp_cal_gain_by_temp"/> </span>
### hbn_isp_cal_gain_by_temp

#### 【函数声明】

int32_t hbn_isp_cal_gain_by_temp(hbn_vnode_handle_t vnode_fd, uint32_t color_temp, int32_t shift, hbn_isp_awb_gain_t *p_attr)

#### 【参数描述】

- [IN] hbn_vnode_handle_t vnode_fd： isp vnode handle。

- [IN] uint32_t color_temp： 色温值，单位为 Kelvin，取值范围：[1500,10000]。

- [IN] int32_t shift： 白点与Planckian 曲线的位置和距离，取值范围：[-64, 64]。

- [OUT] hbn_isp_awb_gain_t *p_attr： 预设色温下的 R, Gr, Gb, B 四个通道增益。

#### 【返回值】

- 成功： HBN_STATUS_SUCESS 0 。

- 失败：异常为负值错误码，参考 [ 返回值说明 ](#span-id-return-val) 。

#### 【功能描述】

计算特定色温下的白平衡增益系数。

#### 【注意事项】

白平衡标定参数决定预设色温增益计算的准确性，因此，在调用该接口前，必须完成标定，标定不小于3个且标定参数加载到ISP。当色温值超过标定最大或最小色温时，按照最大或最小色温的标定参数输出。
shift参数决定光源点与 Planckian 曲线的位置关系，shift 为负数时，光源点位于 Planckian 曲线左侧，计算的白平衡增益在预设色温下会稍微偏红；shift为正数时，光源点位于 Planckian 曲线右侧，计算的白平衡增益在预设色温下会稍微偏绿。

#### 【兼容性】

硬件 : X5 。

## 数据结构

<span id="hbn_isp_param_range_t"/> </span>
### hbn_isp_param_range_t

|   名称  |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
|   min   | float  |    -   |    -   |    -   | 参数的最小值     |  是  |
|   max   | float  |    -   |    -   |    -   | 参数的最大值     |  是  |

<span id="hbn_isp_zone_weight_t"/> </span>
### hbn_isp_zone_weight_t

|   名称  |    类型    | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------:|:----------:|:------:|:------:|:------:|:-----------------:|:----:|
|   x     | uint32_t  |    -   |    -   |    -   | 区域的 x 坐标     |  是  |
|   y     | uint32_t  |    -   |    -   |    -   | 区域的 y 坐标     |  是  |
|   h     | uint32_t  |    -   |    -   |    -   | 区域的高度       |  是  |
|   w     | uint32_t  |    -   |    -   |    -   | 区域的宽度       |  是  |
| weight  |  float   |    -   |    -   |    -   | 区域的权重       |  是  |

<span id="hbn_windows_t"/> </span>
### hbn_windows_t

|      名称     |    类型    | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------------:|:----------:|:------:|:------:|:------:|:-----------------:|:----:|
| h_offset      | uint32_t  |    -   |    -   |    -   | 水平起始偏移量   |  是  |
| v_offset      | uint32_t  |    -   |    -   |    -   | 垂直起始偏移量   |  是  |
| width         | uint32_t  |    -   |    -   |    -   | 宽度             |  是  |
| height        | uint32_t  |    -   |    -   |    -   | 高度             |  是  |

<span id="hbn_isp_roi_t"/> </span>
### hbn_isp_roi_t

|   名称  |           类型           | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------:|:------------------------:|:------:|:------:|:------:|:-----------------:|:----:|
| window  | [hbn_windows_t](#hbn_windows_t) |    -   |    -   |    -   | ROI 窗口         |  是  |
| weight  |  float   |    -   |    -   |    -   | 权重             |  是  |

<span id="hbn_isp_exposure_auto_attr_t"/> </span>
### hbn_isp_exposure_auto_attr_t

|       名称      |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:---------------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
| exp_time_range  | [hbn_isp_param_range_t](#hbn_isp_param_range_t) |    -   |    -   |    -   | 曝光时间范围（单位：秒），可以通过get接口获取到该参数，暂时无法设置           |  是  |
| again_range     | [hbn_isp_param_range_t](#hbn_isp_param_range_t) |    -   |    -   |    -   | 模拟增益范围，可以通过get接口获取到该参数，暂时无法设置                    |  是  |
| dgain_range     | [hbn_isp_param_range_t](#hbn_isp_param_range_t) |    -   |    -   |    -   | 数字增益范围，可以通过get接口获取到该参数，暂时无法设置                     |  是  |
| isp_dgain_range | [hbn_isp_param_range_t](#hbn_isp_param_range_t) |    -   |    -   |    -   | ISP 数字增益范围，可以通过get接口获取到该参数，暂时无法设置                   |  是  |
| speed_over      |  float   |    -   |    -   |    -   | 亮到暗的速度                           |  是  |
| speed_under     |  float   |    -   |    -   |    -   | 暗到亮的速度                           |  是  |
| dampover_gain   |  float   |    -   |    -   |    -   | 加速收敛控制参数                       |  是  |
| dampover_ratio  |  float   |    -   |    -   |    -   | 加速收敛控制参数                       |  是  |
| dampunder_gain  |  float   |    -   |    -   |    -   | 加速收敛控制参数                       |  是  |
| dampunder_ratio |  float   |    -   |    -   |    -   | 加速收敛控制参数                       |  是  |
| tolerance       |  float   |    -   |    -   |    -   | 偏差容忍度                             |  是  |
| target          |  float   |    -   |    -   |    -   | 目标亮度值                             |  是  |
| anti_flicker_status | uint32_t  |    -   |    -   |    -   | 抗频闪状态                           |  是  |
| flicker_freq     |  float   |    -   |    -   |    -   | 频闪频率                               |  是  |
| mode            | [hbn_isp_auto_exposure_mode_e](#hbn_isp_auto_exposure_mode_e) |    -   |    -   |    -   | 自动曝光模式。<br>HBN_ISP_AUTO_EXP_MODE_ADAPTIVE - target 自动适应模式；<br>HBN_ISP_ATIVEUTO_EXP_MODE_FIX - target 固定模式 |  是  |

<span id="hbn_isp_exposure_manual_attr_t"/> </span>
### hbn_isp_exposure_manual_attr_t

|   名称  |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| exp_time | float  |    -   |    -   |    -   | 曝光时间（单位：秒） |  是  |
| again    | float  |    -   |    -   |    -   | 模拟增益         |  是  |
| dgain    | float  |    -   |    -   |    -   | 数字增益         |  是  |
| ispgain  | float  |    -   |    -   |    -   | ISP 增益         |  是  |
| ae_exp   | float  |    -   |    -   |    -   | AE 曝光值        |  是  |
| cur_lux  | uint32_t  |    -   |    -   |    -   | 当前环境照度，不支持 |  是  |
| frame_id | uint32_t  |    -   |    -   |    -   | 帧 ID           |  是  |
| timestamps | uint64_t  |    -   |    -   |    -   | 时间戳         |  是  |

<span id="hbn_isp_exposure_version_e"/> </span>
### hbn_isp_exposure_version_e

|     名称     |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:------------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| HBN_ISP_EXP_V0 | enum  |    -   |    -   |    -   | 曝光版本 0       |  是  |
| HBN_ISP_EXP_V1 | enum  |    -   |    -   |    -   | 曝光版本 1       |  是  |
| HBN_ISP_EXP_V2 | enum  |    -   |    -   |    -   | 曝光版本 2       |  是  |

<span id="hbn_isp_auto_exposure_mode_e"/> </span>
### hbn_isp_auto_exposure_mode_e

|     名称     |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:------------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| HBN_ISP_AUTO_EXP_MODE_ADAPTIVE | enum  |    -   |    -   |    -   | 自适应自动曝光模式 |  是  |
| HBN_ISP_AUTO_EXP_MODE_FIX      | enum  |    -   |    -   |    -   | 固定自动曝光模式   |  是  |

<span id="hbn_isp_exposure_attr_t"/> </span>
### hbn_isp_exposure_attr_t

|     名称    |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:-----------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
|   version   |   [hbn_isp_exposure_version_e](#hbn_isp_exposure_version_e)   |    -   |    -   |    -   |                            版本信息                           |  否  |
| lock_state  | uint32_t  |    -   |    -   |    -   | 锁定状态                             |  是  |
|     mode    |         hbn_isp_mode_e         |    -   |    -   |    -   | HBN_ISP_MODE_AUTO - auto 模式<br>HBN_ISP_MODE_MANUAL - manual 模式 |  是  |
|  auto_attr  | [hbn_isp_exposure_auto_attr_t](#hbn_isp_exposure_auto_attr_t)  |    -   |    -   |    -   |                        auto 模式下的参数                       |  是  |
| manual_attr | [hbn_isp_exposure_manual_attr_t](#hbn_isp_exposure_manual_attr_t) |    -   |    -   |    -   |                       manual 模式下的参数                      |  是  |

<span id="hbn_isp_hdr_exposure_version_e"/> </span>
### hbn_isp_hdr_exposure_version_e

|     名称     |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:------------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| HBN_ISP_HDR_EXP_V0 | enum  |    -   |    -   |    -   | HDR 曝光版本 0   |  是  |
| HBN_ISP_HDR_EXP_V1 | enum  |    -   |    -   |    -   | HDR 曝光版本 1   |  是  |
| HBN_ISP_HDR_EXP_V2 | enum  |    -   |    -   |    -   | HDR 曝光版本 2   |  是  |

<span id="hbn_isp_hdr_exposure_auto_attr_t"/> </span>
### hbn_isp_hdr_exposure_auto_attr_t

|       名称      |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:---------------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
| exp_ratio      |  float[4]  |    -   |    -   |    -   | 曝光比例数组                         |  是  |
| exp_ratio_range | [hbn_isp_param_range_t](#hbn_isp_param_range_t) |    -   |    -   |    -   | 曝光比例范围，暂时不支持          |  是  |

<span id="hbn_isp_hdr_exposure_manual_attr_t"/> </span>
### hbn_isp_hdr_exposure_manual_attr_t

|   名称  |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| exp_time | float  |    -   |    -   |    -   | 曝光时间（单位：秒） |  是  |
| again    | float  |    -   |    -   |    -   | 模拟增益         |  是  |
| dgain    | float  |    -   |    -   |    -   | 数字增益         |  是  |
| ispgain  | float  |    -   |    -   |    -   | ISP 增益         |  是  |
| ae_exp   | uint32_t  |    -   |    -   |    -   | 总的曝光量，暂时不支持 |  是  |

<span id="hbn_isp_hdr_exposure_attr_t"/> </span>
### hbn_isp_hdr_exposure_attr_t

|     名称    |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:-----------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
|   version   |  [hbn_isp_hdr_exposure_version_e](#hbn_isp_hdr_exposure_version_e)  |    -   |    -   |    -   |                            版本信息                           |  否  |
|     mode    |         hbn_isp_mode_e         |    -   |    -   |    -   | HBN_ISP_MODE_AUTO - auto 模式<br>HBN_ISP_MODE_MANUAL - manual 模式 |  是  |
|  auto_attr  | [hbn_isp_hdr_exposure_auto_attr_t](#hbn_isp_hdr_exposure_auto_attr_t)  |    -   |    -   |    -   |                        auto 模式下的参数                       |  是  |
| manual_attr | [hbn_isp_hdr_exposure_manual_attr_t](#hbn_isp_hdr_exposure_manual_attr_t) |    -   |    -   |    -   |                       manual 模式下的参数                      |  是  |

<span id="hbn_isp_awb_version_e"/> </span>
### hbn_isp_awb_version_e

|     名称     |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:------------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| HBN_ISP_WB_V0 | enum  |    -   |    -   |    -   | 白平衡版本 0     |  是  |
| HBN_ISP_WB_V1 | enum  |    -   |    -   |    -   | 白平衡版本 1     |  是  |

<span id="hbn_isp_awb_gain_t"/> </span>
### hbn_isp_awb_gain_t

|   名称  |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------:|:------:|:------:|:------:|:------:|:-----------------: |:----:|
| rgain   | float  |    -   |    -   |    -   | R 通道增益        |  是  |
| grgain  | float  |    -   |    -   |    -   | GR 通道增益       |  是  |
| gbgain  | float  |    -   |    -   |    -   | GB 通道增益       |  是  |
| bgain   | float  |    -   |    -   |    -   | B 通道增益        |  是  |

<span id="hbn_isp_awb_auto_attr_t"/> </span>
### hbn_isp_awb_auto_attr_t

|           名称          |              类型              | 最小值 | 最大值 | 默认值 |   含义      | 必选 |
|:------------------------:|:--------------------:|:------:|:------:|:------:|:-----------------:|:----:|
| use_damping             | uint32_t  | 0      | 1      |    -   | 启用收敛控制                         |  是  |
| use_manual_damp_coff    | uint32_t  | 0      | 1      |    -   | 使用固定的收敛系数               |  是  |
| manual_damp_coff        |  float   | 0.1    | 0.999   |    -   | 收敛系数                       |  是  |
| lock_tolerance          |  float   | 0.0    | 0.2     |    -   | 进入锁定状态的容忍度                     |  是  |
| unlock_tolerance        |  float   | 0.0    | 0.2    |    -   | 退出锁定状态的容忍度                     |  是  |
| rg_strength             | uint32_t  |    -   |    -   |    -   | R 通道强度（设置白平衡偏好r通道）（不支持）              |  是  |
| bg_strength             | uint32_t  |    -   |    -   |    -   | B 通道强度（设置白平衡偏好b通道） （不支持）             |  是  |
| gain                    | [hbn_isp_awb_gain_t](#hbn_isp_awb_gain_t) |    -   |    -   |    -   | AWB 增益值 （仅支持获取） |  是  |
| temper                  | uint32_t  |    -   |    -   |    -   | 色温（仅支持获取）                       |  是  |

<span id="hbn_isp_awb_manual_attr_t"/> </span>
### hbn_isp_awb_manual_attr_t

|   名称  |           类型           | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------:|:------------------------:|:------:|:------:|:------:|:-----------------:|:----:|
| gain    | [hbn_isp_awb_gain_t](#hbn_isp_awb_gain_t) |    -   |    -   |    -   | 手动设置的 AWB 增益值 |  是  |
| temper  | uint32_t  |    -   |    -   |    -   | 色温                                   |  是  |

<span id="hbn_isp_awb_attr_t"/> </span>
### hbn_isp_awb_attr_t

|     名称    |            类型           | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:-----------:|:-------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
|   version   |   hbn_isp_awb_version_e   |    -   |    -   |    -   |                            版本信息                           |  否  |
|   lock_state   |   uint32_t   |    -   |    -   |    -   |                            是否收敛                           |  是  |
|     mode    |       hbn_isp_mode_e      |    -   |    -   |    -   | HBN_ISP_MODE_AUTO - auto 模式<br>HBN_ISP_MODE_MANUAL - manual 模式 |  是  |
|  auto_attr  |  [hbn_isp_awb_auto_attr_t](#hbn_isp_awb_auto_attr_t)  |    -   |    -   |    -   |                        auto 模式下的参数                       |  是  |
| manual_attr | [hbn_isp_awb_manual_attr_t](#hbn_isp_awb_manual_attr_t) |    -   |    -   |    -   |                       manual 模式下的参数                      |  是  |

<span id="hbn_isp_ae_zone_weight_attr_t"/> </span>
### hbn_isp_ae_zone_weight_attr_t

|     名称    |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:-----------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
|   version   |  hbn_isp_ae_zone_weight_version_e  |    -   |    -   |    -   |                            版本信息                           |  否  |
|   weight    | [hbn_isp_zone_weight_t](#hbn_isp_zone_weight_t)[HBN_ISP_AE_ZONE_GRID_ITEMS] |    -   |    -   |    -   | AE 区域权重数组                   |  是  |

<span id="hbn_isp_af_zone_weight_attr_t"/> </span>
### hbn_isp_af_zone_weight_attr_t

|     名称    |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:-----------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
|   version   |  hbn_isp_af_zone_weight_version_e  |    -   |    -   |    -   |                            版本信息                           |  否  |
|   attr      | union { isp_af_zone_weight_func_a_attr_t func_a_attr; } |    -   |    -   |    -   | AF 区域权重属性                   |  是  |

<span id="hbn_isp_exp_datatype_t"/> </span>
### hbn_isp_exp_datatype_t

|     名称     |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:------------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| ISP_EXP_8BIT_DATA | enum  |    -   |    -   |    -   | EXP 8 位数据     |  是  |
| ISP_EXP_16BIT_DATA | enum  |    -   |    -   |    -   | EXP 16 位数据    |  是  |
| ISP_EXP_24BIT_DATA | enum  |    -   |    -   |    -   | EXP 24 位数据    |  是  |
| ISP_BIT_DATA_MAX | enum  |    -   |    -   |    -   | 数据类型最大值   |  是  |

<span id="hbn_isp_ae_statistics_t"/> </span>
### hbn_isp_ae_statistics_t

|       名称      |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:---------------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
| expStat        | uint32_t[HBN_ISP_AE_ZONE_GRID_ITEMS * HBN_ISP_PIXEL_CHANNEL] |    -   |    -   |    -   | AE 统计信息数组                   |  是  |
| datatype       |  [hbn_isp_exp_datatype_t](#hbn_isp_exp_datatype_t)  |    -   |    -   |    -   | 数据类型                         |  是  |
| frame_id       | uint32_t  |    -   |    -   |    -   | 帧 ID                             |  是  |
| timestamps     | uint64_t  |    -   |    -   |    -   | 时间戳                           |  是  |

<span id="hbn_isp_awb_statistics_t"/> </span>
### hbn_isp_awb_statistics_t

|       名称      |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:---------------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
| awbStat        | uint32_t[HBN_ISP_AE_ZONE_GRID_ITEMS * HBN_ISP_PIXEL_CHANNEL] |    -   |    -   |    -   | AWB 统计信息数组                   |  是  |
| datatype       |  [hbn_isp_exp_datatype_t](#hbn_isp_exp_datatype_t)  |    -   |    -   |    -   | 数据类型                         |  是  |
| frame_id       | uint32_t  |    -   |    -   |    -   | 帧 ID                             |  是  |
| timestamps     | uint64_t  |    -   |    -   |    -   | 时间戳                           |  是  |

<span id="hbn_isp_af_statistics_t"/> </span>
### hbn_isp_af_statistics_t

|           名称          |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:------------------------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
| sharpnessLowPass        | uint32_t[HBN_ISP_AFM_BLOCK_NUM] |    -   |    -   |    -   | 低通滤波后的锐度值数组                     |  是  |
| sharpnessHighPass       | uint32_t[HBN_ISP_AFM_BLOCK_NUM] |    -   |    -   |    -   | 高通滤波后的锐度值数组                     |  是  |
| histLowData             | uint32_t[HBN_ISP_AFM_BLOCK_NUM] |    -   |    -   |    -   | 低频直方图数据数组                       |  是  |
| histHighData            | uint32_t[HBN_ISP_AFM_BLOCK_NUM] |    -   |    -   |    -   | 高频直方图数据数组                       |  是  |
| frame_id                | uint32_t  |    -   |    -   |    -   | 帧 ID                             |  是  |

<span id="hbn_isp_table_t"/> </span>
### hbn_isp_table_t

|   名称  |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| exposure_time | float  |    -   |    -   |    -   | 曝光时间（单位：秒） |  是  |
| again    | float  |    -   |    -   |    -   | 模拟增益         |  是  |
| dgain    | float  |    -   |    -   |    -   | 数字增益         |  是  |
| isp_gain | float  |    -   |    -   |    -   | ISP 增益         |  是  |

<span id="hbn_isp_exposure_table_t"/> </span>
### hbn_isp_exposure_table_t

|     名称    |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:-----------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
| exp_table  | [hbn_isp_table_t](#hbn_isp_table_t)[HBN_ISP_EXP_TABLE_NUM] |    -   |    -   |    -   | 曝光表数组                       |  是  |
| valid_num  | uint8_t  |    -   |    -   |    -   | 有效条目数量                         |  是  |

<span id="hbn_isp_exposure_roi_t"/> </span>
### hbn_isp_exposure_roi_t

|     名称    |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:-----------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
| roi_num    | uint32_t  |    0   | HBN_ISP_ROI_WINDOWS_MAX  |    -   | ROI 区域数量                         |  是  |
| roi_weight |  float   |    0   |    1   |    -   | ROI 权重                             |  是  |
| roi_window | [hbn_isp_roi_t](#hbn_isp_roi_t)[HBN_ISP_ROI_WINDOWS_MAX] |    -   |    -   |    -   | ROI 窗口数组                     |  是  |

<span id="hbn_isp_2dnr_curve_t"/> </span>
### hbn_isp_2dnr_curve_t

|   名称  |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| ary_x    | uint16_t[HBN_ISP_2DNR_CURVE_SIZE] |    0   | 4095   |    -   | Luma 曲线 X 轴数组                 |  是  |
| ary_y    | uint16_t[HBN_ISP_2DNR_CURVE_SIZE] |    -   |    -   |    -   | Luma 曲线 Y 轴数组                 |  是  |
| ary_px   | uint16_t[HBN_ISP_2DNR_CURVE_SIZE] |    -   |    -   |    -   | Luma 曲线 Delta X 数组             |  是  |
| interp_mode | uint32_t  |    -   |    -   |    -   | 插值模式                           |  是  |

<span id="hbn_isp_2dnr_motion_config_t"/> </span>
### hbn_isp_2dnr_motion_config_t

|           名称          |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:------------------------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
| motion_anchor_x         | uint16_t[HBN_ISP_2DNR_MOTION_SIZE] |    0   | 1024  |    -   | 运动锚点 X 轴数组                   |  是  |
| curve_cfg               | [hbn_isp_2dnr_curve_t](#hbn_isp_2dnr_curve_t) |    -   |    -   |    -   | 2DNR 曲线配置参数                 |  是  |

<span id="hbn_isp_2dnr_manual_attr_t"/> </span>
### hbn_isp_2dnr_manual_attr_t

| 名称                         | 类型                                                             | 最小值   | 最大值  | 默认值 | 含义                         | 必选 |
|:--------------------------:|:--------------------------------------------------------------:|:-----:|:----:|:---:|:--------------------------:|:---:|
| blend_static               | float                                                          | 0     | 100  | -   | 静态像素空间 NR 结果在最终输出中的权重      | 是  |
| blend_motion               | float                                                          | 0     | 100  | -   | 100% 运动像素空间 NR 结果在最终输出中的权重 | 是  |
| blend_slope                | float                                                          | 0     | 32   | -   | 合并斜率，值越大表示 NLM 图像权重越大      | 是  |
| vst_factor                 | float                                                          | 1     | 1000  | -   | VST 因子                     | 是  |
| sigma_scale                | float[HBN_ISP_2DNR_SIGMA_NUM]                                  | 0.001 | 100  | -   | Sigma 的缩放值                 | 是  |
| sigma_factor_mul           | float[HBN_ISP_2DNR_SIGMA_NUM]                                  | 0.01  | 10   | -   | Sigma 因子乘数                 | 是  |
| sigma_factor_motion_max    | uint16_t                                                       | 1     | 1024 | -   | 最大运动 Sigma 因子              | 是  |
| sigma_factor_motion_min    | uint16_t                                                       | 0     | 1024 | -   | 最小运动 Sigma 因子              | 是  |
| sigma_offset               | uint16_t                                                       | 0     | 4095 | -   | Sigma 平方                   | 是  |
| static_detail_thresh       | uint16_t[HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] | 0     | 4095 | -   | 静态细节阈值数组                   | 是  |
| static_detail_boost_thresh | uint16_t[HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] | 0     | 4095 | -   | 静态细节增强阈值数组                 | 是  |
| static_detail_boost        | float[HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM]    | 1     | 4    | -   | 静态细节增强值数组                  | 是  |
| static_detail_clip_thresh  | uint16_t[HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] | 0     | 4095 | -   | 静态细节剪辑阈值数组                 | 是  |
| moving_detail_thresh       | uint16_t[HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] | 0     | 4095 | -   | 运动细节阈值数组                   | 是  |
| moving_detail_boost_thresh | uint16_t[HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] | 0     | 4095 | -   | 运动细节增强阈值数组                 | 是  |
| moving_detail_boost        | float[HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM]    | 1     | 4    | -   | 运动细节增强值数组                  | 是  |
| moving_detail_clip_thresh  | uint16_t[HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] | 0     | 4095 | -   | 运动细节剪辑阈值数组                 | 是  |
| static_factor              | float[HBN_ISP_2DNR_SIGMA_NUM]                                  | 0.01  | 1    | -   | 静态因子数组                     | 是  |
| luma_curve_cfg             | hbn_isp_2dnr_curve_t                                           | -     | -    | -   | Luma 曲线配置                  | 是  |
| lsc_comp_curve_cfg         | hbn_isp_2dnr_curve_t                                           | -     | -    | -   | LSC 比较曲线配置                 | 是  |
| motion_cfg                 | hbn_isp_2dnr_motion_config_t                                   | -     | -    | -   | 运动配置                       | 是  |

<span id="hbn_isp_2dnr_auto_attr_t"/> </span>
### hbn_isp_2dnr_auto_attr_t

| 名称                         | 类型                                                                                     | 最小值   | 最大值  | 默认值 | 含义                           | 必选 |
|:--------------------------:|:--------------------------------------------------------------------------------------:|:-----:|:----:|:---:|:----------------------------:|:---:|
| auto_level                 | uint8_t                                                                                | 1     | 20   | -   | 自动级别                         | 是  |
| gain                       | float[HBN_ISP_AUTO_LEVEL_MAX]                                                          | -     | -    | -   | 2DNR 增益值数组                   | 是  |
| vst_factor                 | float[HBN_ISP_AUTO_LEVEL_MAX]                                                          | 1     | 1000 | -   | VST 因子数组                     | 是  |
| blend_static               | float[HBN_ISP_AUTO_LEVEL_MAX]                                                          | 0     | 100  | -   | 静态像素空间 NR 结果在最终输出中的权重数组      | 是  |
| blend_motion               | float[HBN_ISP_AUTO_LEVEL_MAX]                                                          | 0     | 100  | -   | 100% 运动像素空间 NR 结果在最终输出中的权重数组 | 是  |
| blend_slope                | float[HBN_ISP_AUTO_LEVEL_MAX]                                                          | 0     | 32   | -   | 合并斜率数组，值越大表示 NLM 图像权重越大      | 是  |
| sigma_offset               | uint16_t[HBN_ISP_AUTO_LEVEL_MAX]                                                       | 0     | 4095 | -   | Sigma 偏移值数组                  | 是  |
| luma_curve_y               | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_CURVE_SIZE]                              | 0     | 4095 | -   | Luma 曲线 Y 轴数组                | 是  |
| lsc_comp_curve_y           | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_CURVE_SIZE]                              | -     | -    | -   | LSC 比较曲线 Y 轴数组               | 是  |
| motion_fac_curve_y         | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_CURVE_SIZE]                              | -     | -    | -   | 运动因子曲线 Y 轴数组                 | 是  |
| motion_anchor_x            | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_MOTION_SIZE]                             | 0     | 1024 | -   | 运动锚点 X 轴数组                   | 是  |
| static_detail_thresh       | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] | 0     | 4095 | -   | 静态细节阈值数组                     | 是  |
| static_detail_boost_thresh | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] | 0     | 4095 | -   | 静态细节增强阈值数组                   | 是  |
| static_detail_boost        | float[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM]    | 1     | 4    | -   | 静态细节增强值数组                    | 是  |
| static_detail_clip_thresh  | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_STATIC_X_NUM][HBN_ISP_2DNR_STATIC_Y_NUM] | 0     | 4095 | -   | 静态细节剪辑阈值数组                   | 是  |
| moving_detail_thresh       | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] | 0     | 4095 | -   | 运动细节阈值数组                     | 是  |
| moving_detail_boost_thresh | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] | 0     | 4095 | -   | 运动细节增强阈值数组                   | 是  |
| moving_detail_boost        | float[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM]    | 1     | 4    | -   | 运动细节增强值数组                    | 是  |
| moving_detail_clip_thresh  | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_MOVING_X_NUM][HBN_ISP_2DNR_MOVING_Y_NUM] | 0     | 4095 | -   | 运动细节剪辑阈值数组                   | 是  |
| sigma_scale                | float[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_SIGMA_NUM]                                  | 0.001 | 100  | -   | Sigma 缩放值数组                  | 是  |
| static_factor              | float[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_SIGMA_NUM]                                  | 0.01  | 1    | -   | 静态因子数组                       | 是  |
| sigma_factor_mul           | float[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_2DNR_SIGMA_NUM]                                  | 0.01  | 10   | -   | Sigma 因子乘数数组                 | 是  |
| sigma_factor_motion_max    | uint16_t[HBN_ISP_AUTO_LEVEL_MAX]                                                       | 1     | 1024 | -   | 最大运动 Sigma 因子数组              | 是  |

<span id="hbn_isp_2dnr_attr_t"/> </span>
### hbn_isp_2dnr_attr_t

|     名称    |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:-----------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
| mode        |         hbn_isp_mode_e         |    -   |    -   |    -   | 运行模式                         |  是  |
| manual_attr | [hbn_isp_2dnr_manual_attr_t](#hbn_isp_2dnr_manual_attr_t) |    -   |    -   |    -   | 手动配置属性                       |  是  |
| auto_attr   | [hbn_isp_2dnr_auto_attr_t](#hbn_isp_2dnr_auto_attr_t) |    -   |    -   |    -   | 自动配置属性                       |  是  |

<span id="hbn_isp_3dnr_noise_model_t"/> </span>
### hbn_isp_3dnr_noise_model_t

|   名称  |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:-------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| input_bits | uint8_t  |    20   |   24   |    -   | 输入位数         |  是  |
| fix_curve_start | uint16_t  |   0  |   4096   |    -   | Start to fix curve                  |  是  |
| noisemodel_a   | double  |   0.1  |   100  |    -   | 噪声模型 A 参数                         |  是  |
| noisemodel_b   | double  |  0.1   | 10000  |    -   | 噪声模型 B 参数                         |  是  |
| bls_exp       | uint32_t[HBN_ISP_3DNR_BLS_EXP_NUM] |    -   |    -   |    -   | BLS 曝光数组                         |  是  |

<span id="hbn_isp_3dnr_manual_attr_t"/> </span>
### hbn_isp_3dnr_manual_attr_t

| 名称                   | 类型                                        | 最小值 | 最大值  | 默认值 | 含义                 | 必选 |
|:--------------------:|:-----------------------------------------:|:---:|:----:|:---:|:------------------:|:---:|
| vst_factor           | double                                    | 1   | 1000 | -   | VST 因子             | 是  |
| tnr_strength         | uint8_t                                   | 0   | 128  | -   | TNR 强度阈值           | 是  |
| tnr_strength2        | uint8_t                                   | 0   | 128  | -   | TNR 强度 2 阈值        | 是  |
| filter_len           | uint8_t                                   | 1   | 99   | -   | 参考帧的 IIR 滤波器长度     | 是  |
| filter_len2          | uint8_t                                   | 1   | 99   | -   | 运动帧的 IIR 滤波器长度     | 是  |
| motion_smooth_factor | double                                    | 0.1 | 5    | -   | 运动平滑因子             | 是  |
| range_h              | hbn_isp_3dnr_range_dilate_t               | -   | -    | -   | 设置运动检测窗口大小（水平方向）   | 是  |
| sad_weight           | uint8_t                                   | 0   | 16   | -   | 运动差异权重（ SAD+mean）  | 是  |
| diff_type            | uint32_t                                  | 0   | 1    | -   | 差异类型               | 是  |
| sqr_diff_factor      | uint8_t                                   | 0   | 10   | -   | 平方差异因子             | 是  |
| motion_smooth_lvl    | uint8_t                                   | 0   | 1    | -   | 运动平滑级别             | 是  |
| dilate_h             | hbn_isp_3dnr_range_dilate_t               | -   | -    | -   | 设置运动膨胀窗口大小（水平方向）   | 是  |
| noise_level          | uint16_t                                  | -   | -    | -   | 噪声校准数据             | 是  |
| thr_motion_slope     | uint16_t                                  | 0   | 4095 | -   | 静态与 100% 运动之间的差距阈值 | 是  |
| tnr_luma_curve_x     | uint16_t[HBN_ISP_3DNR_THR_LUMA_CURVE_NUM] | 0   | 4095 | -   | TNR 亮度曲线 X 轴数组     | 是  |
| tnr_luma_curve_y     | uint16_t[HBN_ISP_3DNR_THR_LUMA_CURVE_NUM] | 0   | 4095 | -   | TNR 亮度曲线 Y 轴数组     | 是  |
| tnr_motion_slop_y    | uint16_t[HBN_ISP_3DNR_THR_LUMA_CURVE_NUM] | 0   | 4095 | -   | TNR 运动斜率 Y 轴数组     | 是  |
| noise_cfg            | hbn_isp_3dnr_noise_model_t                | -   | -    | -   | 3DNR 噪声模型配置        | 是  |

<span id="hbn_isp_3dnr_range_dilate_t"/> </span>
### hbn_isp_3dnr_range_dilate_t

|     名称     |  类型  | 最小值 | 最大值 | 默认值 |        含义       | 必选 |
|:------------:|:------:|:------:|:------:|:------:|:-----------------:|:----:|
| HBN_ISP_3DNR_RANGE_3 | enum  |    -   |    -   |    -   | 膨胀范围： 3     |  是  |
| HBN_ISP_3DNR_RANGE_4 | enum  |    -   |    -   |    -   | 膨胀范围： 6     |  是  |

<span id="hbn_isp_3dnr_auto_attr_t"/> </span>
### hbn_isp_3dnr_auto_attr_t

| 名称                   | 类型                                                                | 最小值 | 最大值   | 默认值 | 含义                  | 必选 |
|:--------------------:|:-----------------------------------------------------------------:|:---:|:-----:|:---:|:-------------------:|:---:|
| auto_level           | uint8_t                                                           | 1   | 20    | -   | 3DNR 自动级别           | 是  |
| nm_k                 | float                                                             | 0   | 100   | -   | 噪声模型 K 参数           | 是  |
| nm_p                 | float                                                             | 0   | 100   | -   | 噪声模型 P 参数           | 是  |
| gains                | float[HBN_ISP_AUTO_LEVEL_MAX]                                     | -   | -     | -   | 3DNR 增益值数组          | 是  |
| fix_curve_start      | uint16_t[HBN_ISP_AUTO_LEVEL_MAX]                                  | 0   | 4096  | -   | fix_curve_start           | 是  |
| noisemodel_a         | double[HBN_ISP_AUTO_LEVEL_MAX]                                    | 0.1 | 100   | -   | 噪声模型 A 参数数组         | 是  |
| noisemodel_b         | double[HBN_ISP_AUTO_LEVEL_MAX]                                    | 0.1 | 10000 | -   | 噪声模型 B 参数数组         | 是  |
| bls_exp              | uint32_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_3DNR_BLS_EXP_NUM]        | -   | -     | -   | BLS 曝光数组            | 是  |
| tnr_strength         | uint8_t[HBN_ISP_AUTO_LEVEL_MAX]                                   | 0   | 128   | -   | TNR 强度阈值数组          | 是  |
| tnr_strength2        | uint8_t[HBN_ISP_AUTO_LEVEL_MAX]                                   | 0   | 128   | -   | TNR 强度 2 阈值数组       | 是  |
| filter_len           | uint8_t[HBN_ISP_AUTO_LEVEL_MAX]                                   | 1   | 99    | -   | 参考帧的 IIR 滤波器长度数组    | 是  |
| filter_len2          | uint8_t[HBN_ISP_AUTO_LEVEL_MAX]                                   | 1   | 99    | -   | 运动帧的 IIR 滤波器长度数组    | 是  |
| motion_smooth_factor | double[HBN_ISP_AUTO_LEVEL_MAX]                                    | 0.1 | 5     | -   | 运动平滑因子数组            | 是  |
| range_h              | hbn_isp_3dnr_range_dilate_t[HBN_ISP_AUTO_LEVEL_MAX]               | -   | -     | -   | 运动检测窗口大小数组（水平方向）    | 是  |
| sad_weight           | uint8_t[HBN_ISP_AUTO_LEVEL_MAX]                                   | 0   | 16    | -   | 运动差异权重数组（ SAD+mean） | 是  |
| sqr_diff_factor      | uint8_t[HBN_ISP_AUTO_LEVEL_MAX]                                   | 0   | 10    | -   | 平方差异因子数组            | 是  |
| motion_smooth_lvl    | uint8_t[HBN_ISP_AUTO_LEVEL_MAX]                                   | 0   | 1     | -   | 运动平滑级别数组            | 是  |
| motion_dilate_en     | uint32_t[HBN_ISP_AUTO_LEVEL_MAX]                                  | 0   | 1     | -   | 运动膨胀使能数组            | 是  |
| dilate_h             | hbn_isp_3dnr_range_dilate_t[HBN_ISP_AUTO_LEVEL_MAX]               | -   | -     | -   | 运动膨胀窗口大小数组（水平方向）    | 是  |
| tnr_luma_curve_y     | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_3DNR_THR_LUMA_CURVE_NUM] | 0   | 4095  | -   | TNR 亮度曲线 Y 轴数组      | 是  |
| tnr_motion_slop_y    | uint16_t[HBN_ISP_AUTO_LEVEL_MAX][HBN_ISP_3DNR_THR_LUMA_CURVE_NUM] | 0   | 4095  | -   | TNR 运动斜率 Y 轴数组      | 是  |

<span id="hbn_isp_3dnr_attr_t"/> </span>
### hbn_isp_3dnr_attr_t

|     名称    |              类型              | 最小值 | 最大值 | 默认值 |                              含义                             | 必选 |
|:-----------:|:------------------------------:|:------:|:------:|:------:|:-------------------------------------------------------------:|:----:|
| mode        |         hbn_isp_mode_e         |    -   |    -   |    -   | 运行模式                         |  是  |
| manual_attr | [hbn_isp_3dnr_manual_attr_t](#hbn_isp_3dnr_manual_attr_t) |    -   |    -   |    -   | 手动配置属性                       |  是  |
| auto_attr   | [hbn_isp_3dnr_auto_attr_t](#hbn_isp_3dnr_auto_attr_t) |    -   |    -   |    -   | 自动配置属性                       |  是  |

<span id="hbn_isp_module_ctrl_t"/> </span>
### hbn_isp_module_ctrl_t

| 名称    | 类型                     | 含义              | 必选 |
|:---------:|:--------------------------:|:-------------------:|:------:|
| version | hbn_isp_module_version_e | 版本信息          | 否   |
| module  | isp_module_ctrl_u        | isp 功能控制结构体 | 是   |

<span id="isp_af_zone_weight_func_a_attr_t"/> </span>
### isp_af_zone_weight_func_a_attr_t

| 名称           | 类型                  | 最小值 | 最大值 | 默认值 | 含义                 | 必选 |
|:----------------:|:-----------------------:|:--------:|:--------:|:--------:|:---------------------:|:------:|
| total_size     | uint32_t              | -      | -      | -      | 数组有效值大小       | -    |
| weight[15\*15] | [hbn_isp_zone_weight_t](#hbn_isp_zone_weight_t) | -      | -      | -      | 权重数组，暂时不支持 | -    |

<span id="hbn_lsc_auto_attr_t"/> </span>
### hbn_lsc_auto_attr_t

| 名称       | 类型                 | 最小值             | 最大值                               | 默认值 | 含义                           | 必选 |
|:------------:|:----------------------:|:--------------------:|:--------------------------------------:|:--------:|:--------------------------------:|:------:|
| auto_level | uint8_t              | 0                  | HBN_ISO_STRENGTH_NUM                 | -      | 自动配置级别                   | 是   |
| gains      | float32_t            | 0.0                | -                                    | -      | LSC 增益系数                   | 是   |
| damping    | float32_t            | 0.0                | 1.0                                  | -      | LSC 校正的阻尼系数             | 是   |
| strength   | float32_t            | 0.0                | 1.0                                  | -      | 不同 ISO 档位下的 LSC 校正强度 | 是   |
| inter_mode | hbn_lsc_inter_mode_t | HBN_LSC_GAIN_INTER | HBN_LSC_GAIN_COLOR_TEMP_WEIGHT_INTER | -      | 插值模式                       | 是   |

<span id="hbn_lsc_manual_attr_t"/> </span>
### hbn_lsc_manual_attr_t

| 名称   | 类型     | 最小值            | 最大值            | 默认值 | 含义                                                                              | 必选 |
|:--------:|:----------:|:-------------------:|:-------------------:|:--------:|:-----------------------------------------------------------------------------------:|:------:|
| matrix | uint16_t | HBN_ISP_LSC_M_MIN | HBN_ISP_LSC_M_MAX | -      | 矫正矩阵的值                                                                      | 是   |
| x_size | uint16_t | HBN_ISP_LSC_X_MIN | -                 | -      | frame 分成 32x32 扇区，扇区的 x 方向大小。<br>32 个 xSzie 值相加必须和 image width 完全匹配     | 是   |
| y_size | uint16_t | HBN_ISP_LSC_Y_MIN | -                 | -      | frame 分成 32x32 扇区，扇区的 y 方向大小，<br>16 个 ySize 值相加必须和 image height 除 2 完全匹配 | 是   |

<span id="hbn_isp_lsc_attr_t"/> </span>
### hbn_isp_lsc_attr_t

| 名称        | 类型                  | 最小值 | 最大值 | 默认值 | 含义                   | 必选 |
|:-------------:|:-----------------------:|:--------:|:--------:|:--------:|:------------------------:|:------:|
| mode        | hbn_isp_mode_e        | -      | -      | -      | isp lsc 工作模式        | 是   |
| manual_attr | hbn_lsc_manual_attr_t | -      | -      | -      | isp lsc manual 配置信息 | 是   |
| auto_attr   | hbn_lsc_auto_attr_t   | -      | -      | -      | isp lsc auto 配置信息   | 是   |

<span id="hbn_isp_dpcc_manual_attr_t"/> </span>
### hbn_isp_dpcc_manual_attr_t

| 名称                       | 类型     | 最小值 | 最大值 | 默认值 | 含义                                   | 必选 |
|:----------------------------:|:----------:|:--------:|:--------:|:--------:|:----------------------------------------:|:------:|
| bpt_enable                 | uint32_t | -      | -      | -      | Bad pixel table enable                 | -    |
| bpt_num                    | uint16_t | 0      | 2048   | -      | Bad pixel table number                 | -    |
| bpt_out_mode               | uint8_t  | 0      | 15     | -      | Bad pixel table output mode            | -    |
| bpt_pos_x[HBN_ISP_DPCC_DP_NUM] | uint16_t | -      | -      | -      | Bad pixel table X position             | -    |
| bpt_pos_y[HBN_ISP_DPCC_DP_NUM] | uint16_t | -      | -      | -      | Bad pixel table Y position             | -    |
| line_mad_fac[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 63     | -      | Line check for mean absolute difference factor           | -    |
| line_thresh[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM]  | uint8_t  | 0      | 255    | -      | Line threshold for green or red/blue channel               | -    |
| methods_set[HBN_ISP_DPCC_MP_TYPE_NUM] | uint16_t | 0      | 8191   | -      | DPCC methods enable bits               | -    |
| out_mode                   | uint8_t  | 0      | 15     | -      | Interpolation mode for correction unit | -    |
| pg_fac[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 63     | -      | Peak of gradient factor   | -    |
| rg_fac[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 63     | -      | Rank of gradient factor  | -    |
| rnd_offs[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 3      | -      | Differential rank offsets for neighbor difference   | -    |
| rnd_thresh[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 63     | -      | Rank neighbor difference threshold   | -    |
| ro_limits[HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 3      | -      | Rank order limits threshold            | -    |
| set_use                    | uint8_t  | 0      | 15     | -      | Enable DPCC detection                  | -    |

<span id="hbn_isp_dpcc_auto_attr_t"/> </span>
### hbn_isp_dpcc_auto_attr_t

| 名称                       | 类型     | 最小值 | 最大值 | 默认值 | 含义                          | 必选 |
|:----------------------------:|:----------:|:--------:|:--------:|:--------:|:-------------------------------:|:------:|
| auto_level                 | uint8_t  | 1      | 20     | -      | DPCC auto level               | -    |
| gains[HBN_ISP_AUTO_LEVEL_MAX] | float    | -      | -      | -      | DPCC gains                    | -    |
| line_mad_fac[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 63     | -      | Line check for mean absolute difference factor | -    |
| line_thresh[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 255    | -      | Line threshold for green or red/blue channel | -    |
| methods_set[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint16_t | 0      | 8191   | -      | DPCC methods enable bits      | -    |
| out_mode[HBN_ISP_AUTO_LEVEL_MAX | uint8_t  | 0      | 15     | -      | Interpolation mode for correction unit | -    |
| pg_fac[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 63     | -      | Peak of gradient factor       | -    |
| rg_fac[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 63     | -      | Rank of gradient factor       | -    |
| rnd_offs[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 3      | -      | Differential rank offsets for neighbor difference | -    |
| rnd_thresh[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM]  | uint8_t  | 0      | 63     | -      | Rank neighbor difference threshold | -    |
| ro_limits[HBN_ISP_AUTO_LEVEL_MAX] [HBN_ISP_DPCC_CHANNEL_NUM] [HBN_ISP_DPCC_MP_TYPE_NUM] | uint8_t  | 0      | 3      | -      | Rank order limits threshold | -    |
| set_use[HBN_ISP_AUTO_LEVEL_MAX]| uint8_t  | 0      | 15     | -      | Enable DPCC detection         | -    |

<span id="hbn_isp_dpcc_attr_t"/> </span>
### hbn_isp_dpcc_attr_t

| 名称        | 类型                       | 最小值 | 最大值 | 默认值 | 含义                      | 必选 |
|:-------------:|:----------------------------:|:--------:|:--------:|:--------:|:---------------------------:|:------:|
| mode        | hbn_isp_mode_e             | -      | -      | -      | The run mode              | 是   |
| manual_attr | [hbn_isp_dpcc_manual_attr_t](#hbn_isp_dpcc_manual_attr_t) | -      | -      | -      | DPCC manual configuration | 是   |
| auto_attr   | [hbn_isp_dpcc_auto_attr_t](#hbn_isp_dpcc_auto_attr_t)   | -      | -      | -      | DPCC auto configuration   | 是   |

<span id="hbn_isp_wdr_attr_t"/> </span>
### hbn_isp_wdr_attr_t

| 名称        | 类型                      | 最小值 | 最大值 | 默认值 | 含义                     | 必选 |
|:-------------:|:---------------------------:|:--------:|:--------:|:--------:|:--------------------------:|:------:|
| mode        | hbn_isp_mode_e            | -      | -      | -      | The run mode             | 是   |
| auto_attr   | hbn_isp_wdr_auto_attr_t   | -      | -      | -      | wdr manual configuration | 是   |
| manual_attr | hbn_isp_wdr_manual_attr_t | -      | -      | -      | wdr auto configuration   | 是   |

<span id="hbn_isp_ccm_attr_t"/> </span>
### hbn_isp_ccm_attr_t

| 名称        | 类型                      | 最小值 | 最大值 | 默认值 | 含义                     | 必选 |
|:-------------:|:---------------------------:|:--------:|:--------:|:--------:|:--------------------------:|:------:|
| manual_attr | hbn_isp_ccm_manual_attr_t | -      | -      | -      | ccm manual configuration | 是   |

<span id="hbn_isp_gc_attr_t"/> </span>
### hbn_isp_gc_attr_t

| 名称        | 类型                     | 最小值 | 最大值 | 默认值 | 含义                                  | 必选 |
|:-------------:|:--------------------------:|:--------:|:--------:|:--------:|:---------------------------------------:|:------:|
| mode        | hbn_isp_mode_e           | -      | -      | -      | The run mode                          | 是   |
| auto_attr   | hbn_isp_gc_auto_attr_t   | -      | -      | -      | gamma correction manual configuration | 是   |
| manual_attr | hbn_isp_gc_manual_attr_t | -      | -      | -      | gamma correction manual configuration | 是   |

<span id="hbn_isp_dmsc_attr_t"/> </span>
### hbn_isp_dmsc_attr_t

| 名称        | 类型                       | 最小值 | 最大值 | 默认值 | 含义                          | 必选 |
|:-------------:|:----------------------------:|:--------:|:--------:|:--------:|:-------------------------------:|:------:|
| mode        | hbn_isp_mode_e             | -      | -      | -      | The run mode                  | 是   |
| manual_attr | hbn_isp_dmsc_manual_attr_t | -      | -      | -      | demosaic manual configuration | 是   |
| auto_attr   | hbn_isp_dmsc_auto_attr_t   | -      | -      | -      | demosaic auto configuration   | 是   |

<span id="hbn_isp_ee_attr_t"/> </span>
### hbn_isp_ee_attr_t

| 名称        | 类型                     | 最小值 | 最大值 | 默认值 | 含义                                  | 必选 |
|:-------------:|:--------------------------:|:--------:|:--------:|:--------:|:---------------------------------------:|:------:|
| mode        | hbn_isp_mode_e           | -      | -      | -      | The run mode                          | 是   |
| manual_attr | hbn_isp_ee_manual_attr_t | -      | -      | -      | edge enhancement manual configuration | 是   |
| auto_attr   | hbn_isp_ee_auto_attr_t   | -      | -      | -      | edge enhancement auto configuration   | 是   |

<span id="hbn_isp_cproc_attr_t"/> </span>
### hbn_isp_cproc_attr_t

| 名称        | 类型                        | 最小值 | 最大值 | 默认值 | 含义                                       | 必选 |
|:-------------:|:-----------------------------:|:--------:|:--------:|:--------:|:--------------------------------------------:|:------:|
| mode        | hbn_isp_mode_e              | -      | -      | -      | The run mode                               | 是   |
| auto_attr   | hbn_isp_cproc_auto_attr_t   | -      | -      | -      | color processing auto configuration        | 是   |
| manual_attr | hbn_isp_cproc_manual_attr_t | -      | -      | -      | color processing auto manual configuration | 是   |

<span id="hbn_isp_pattern_t"/> </span>
### hbn_isp_pattern_t

| 名称             | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|:------------------:|:------:|:--------:|:--------:|:--------:|:------:|:------:|
| HBN_ISP_RAW_RGGB | enum | -      | -      | 0      | RGGB | -    |
| HBN_ISP_RAW_GRBG | enum | -      | -      | 1      | GRBG | -    |
| HBN_ISP_RAW_GBRG | enum | -      | -      | 2      | GBRG | -    |
| HBN_ISP_RAW_BGGR | enum | -      | -      | 3      | BGGR | -    |

<span id="hbn_isp_awb_preference_attr_t"/> </span>
### hbn_isp_awb_preference_attr_t

| 名称                                     | 类型                               | 最小值 | 最大值 | 默认值 | 含义                  | 必选 |
|:------------------------------------------:|:------------------------------------:|:--------:|:--------:|:--------:|:-----------------------:|:------:|
| gray_preference[HBN_ISP_ILLUPROFILE_NUM] | hbn_isp_awb_gray_preference_attr_t | -      | -      | -      | Gray scale preference | -    |

<span id="hbn_isp_awb_gray_preference_attr_t"/> </span>
### hbn_isp_awb_gray_preference_attr_t

| 名称                                      | 类型     | 最小值 | 最大值 | 默认值 | 含义                                   | 必选 |
|:-----------------------------------------:|:--------:|:------:|:------:|:------:|:-----------------------------------:|:----:|
| enable                                    | uint32_t | -      | -      | -      | Grayscale preference enable           | -    |
| brightness_level[HBN_ISP_AWB_LIGHT_LEVEL] | float    | -      | -      | -      | Brightness level, must be incremental | -    |
| gray_rgain[HBN_ISP_AWB_LIGHT_LEVEL]       | uint16_t | 0      | 512    | -      | The grayscale of red channel          | -    |
| gray_bgain[HBN_ISP_AWB_LIGHT_LEVEL]       | uint16_t | 0      | 512    | -      | The grayscale of green channel        | -    |


## <span id="return_val"/> 返回值说明

|  错误码  |              宏定义              |                      描述                     |                     常见原因及解决方法                     |
|:--------:|:--------------------------------:|:---------------------------------------------:|:----------------------------------------------------------:|
|     0    |         HBN_STATUS_SUCESS        |                      成功                     |                                                            |
|     1    |      HBN_STATUS_INVALID_NODE     |         vnode 无效，找不到对应的 vnode        |                                                            |
|     2    |    HBN_STATUS_INVALID_NODETYPE   |       vnode 类型无效，找不到对应的 vnode      |                                                            |
|     3    |      HBN_STATUS_INVALID_HWID     |               无效的硬件模块 id               |                                                            |
|     4    |     HBN_STATUS_INVALID_CTXID     |               无效的 context id               |                                                            |
|     5    |     HBN_STATUS_INVALID_OCHNID    |               无效的输出通道 id               |                                                            |
|     6    |     HBN_STATUS_INVALID_ICHNID    |               无效的输入通道 id               |                                                            |
|     7    |     HBN_STATUS_INVALID_FORMAT    |                   无效的格式                  |                                                            |
|     8    |    HBN_STATUS_INVALID_NULL_PTR   |                     空指针                    |                                                            |
|     9    |   HBN_STATUS_INVALID_PARAMETER   |            无效的参数，版本检查失败           |                                                            |
|    10    |      HBN_STATUS_ILLEGAL_ATTR     |                   无效的参数                  |                                                            |
|    11    |      HBN_STATUS_INVALID_FLOW     |         无效的 flow，找不到对应的 flow        |                                                            |
|    12    |       HBN_STATUS_FLOW_EXIST      |                 flow 已经存在                 |                                                            |
|    13    |      HBN_STATUS_FLOW_UNEXIST     |                  flow 不存在                  |                                                            |
|    14    |       HBN_STATUS_NODE_EXIST      |                 node 已经存在                 |                                                            |
|    15    |      HBN_STATUS_NODE_UNEXIST     |                  node 不存在                  |                                                            |
|    16    |       HBN_STATUS_NOT_CONFIG      |                      预留                     |                                                            |
|    17    |    HBN_STATUS_CHN_NOT_ENABLED    |                   通道未使能                  |                                                            |
|    18    |  HBN_STATUS_CHN_ALREADY_ENABLED  |                   通道已使能                  |                                                            |
|    19    |     HBN_STATUS_ALREADY_BINDED    |                 node 已经绑定                 |                                                            |
|    20    |       HBN_STATUS_NOT_BINDED      |                  node 未绑定                  |                                                            |
|    21    |        HBN_STATUS_TIMEOUT        |                      超时                     |                                                            |
|    22    |    HBN_STATUS_NOT_INITIALIZED    |                    未初始化                   |                                                            |
|    23    |      HBN_STATUS_NOT_SUPPORT      |               通道不支持或未激活              |                                                            |
|    24    |        HBN_STATUS_NOT_PERM       |                   操作不允许                  |                                                            |
|    25    |         HBN_STATUS_NOMEM         |                    内存不足                   |                                                            |
|    26    |    HBN_STATUS_INVALID_VNODE_FD   |             无效的 node 文件描述符            |                                                            |
|    27    |   HBN_STATUS_INVALID_ICHNID_FD   |            无效的输入通道文件描述符           |                                                            |
|    28    |   HBN_STATUS_INVALID_OCHNID_FD   |            无效的输出通道文件描述符           |                                                            |
|    29    |     HBN_STATUS_OPEN_OCHN_FAIL    |                打开输出通道失败               |                                                            |
|    30    |     HBN_STATUS_OPEN_ICHN_FAIL    |                打开输入通道失败               |                                                            |
|    31    |    HBN_STATUS_JSON_PARSE_FAIL    |                 json 解析失败                 |                                                            |
|    32    |      HBN_STATUS_REQ_BUF_FAIL     |                请求 buffer 失败               |                                                            |
|    33    |     HBN_STATUS_QUERY_BUF_FAIL    |              查询 buffer 信息失败             |                                                            |
|    34    |    HBN_STATUS_SET_CONTROL_FAIL   | 模块控制、调节参数（如 ISP 效果参数）设置失败 |                                                            |
|    35    |    HBN_STATUS_GET_CONTROL_FAIL   | 模块控制、调节参数（如 ISP 效果参数）获取失败 |                                                            |
|    36    |    HBN_STATUS_NODE_START_FAIL    |                 node 开启失败                 |                                                            |
|    37    |     HBN_STATUS_NODE_STOP_FAIL    |                 node 停止失败                 |                                                            |
|    38    |    HBN_STATUS_NODE_POLL_ERROR    |              node 通道 poll 错误              |                                                            |
|    39    |   HBN_STATUS_NODE_POLL_TIMEOUT   |              node 通道 poll 超时              |                                                            |
|    40    |  HBN_STATUS_NODE_POLL_FRAME_DROP |           node 通道 poll 时发生丢帧           |                                                            |
|    41    |     HBN_STATUS_NODE_POLL_HUP     |          node 通道 poll 时描述符挂起          |                                                            |
|    42    |   HBN_STATUS_NODE_ILLEGAL_EVENT  |           node 通道 poll 时事件非法           |                                                            |
|    43    |    HBN_STATUS_NODE_DEQUE_ERROR   |         node 通道 dequeue buffer 错误         |                                                            |
|    44    |   HBN_STATUS_ILLEGAL_BUF_INDEX   |               无效的 buffer 索引              |                                                            |
|    45    |     HBN_STATUS_NODE_QUE_ERROR    |          node 通道 queue buffer 错误          |                                                            |
|    46    |   HBN_STATUS_FLUSH_FRAME_ERROR   |             node 通道帧 flush 错误            |                                                            |
|    47    |    HBN_STATUS_INIT_BIND_ERROR    |          用 json 解析并绑定时发生错误         |                                                            |
|    48    |     HBN_STATUS_ADD_NODE_FAIL     |            向 flow 中添加 node 失败           |                                                            |
|    49    |    HBN_STATUS_WRONG_CONFIG_ID    |              系统不支持的 node id             |                                                            |
|    50    |     HBN_STATUS_BIND_NODE_FAIL    |           flow 绑定 node 时发生错误           |                                                            |
|    51    |    HBN_STATUS_INVALID_VERSION    |      底层驱动模块和上层库版本号不匹配错误     |                                                            |
|    52    |   HBN_STATUS_GET_VERSION_ERROR   |           获取底层驱动模块版本号错误          |                                                            |
|    53    |     HBN_STATUS_MEM_INIT_FAIL     |              hbmem 内存初始化失败             |                                                            |
|    54    |    HBN_STATUS_MEM_IMPORT_FAIL    |               hbmem 内存引入失败              |                                                            |
|    55    |     HBN_STATUS_MEM_FREE_FAIL     |               hbmem 内存释放失败              |                                                            |
|    56    |    HBN_STATUS_SYSFS_OPEN_FAIL    |                系统文件打开失败               |                                                            |
|    57    | HBN_STATUS_STRUCT_SIZE_NOT_MATCH |       hal 层结构体大小与 kernel 层不匹配      |                                                            |
|    58    |      HBN_STATUS_RGN_UNEXIST      |            获取不到对应的 rgn 数据            |                                                            |
|    59    | HBN_STATUS_RGN_INVALID_OPERATION |                  rgn 操作无效                 |                                                            |
|    60    |   HBN_STATUS_RGN_OPEN_FILE_FAIL  |              rgn 模块打开文件失败             |                                                            |
|    128   |       HBN_STATUS_ERR_UNKNOW      |                    未知错误                   |                                                            |
| 0x010008 |  HBN_STATUS_ISP_INVALID_NULL_PTR |                  无效的空指针                 |    可能传递了空指针给某个函数。检查传递的指针是否有效。    |
| 0x010009 | HBN_STATUS_ISP_INVALID_PARAMETER |                   无效的参数                  |   参数值不合法或超出范围。验证输入参数的有效性和合理性。   |
| 0x01000A |    HBN_STATUS_ISP_ILLEGAL_ATTR   |                   非法的属性                  |      使用了不支持的属性。检查传入的属性是否符合要求。      |
| 0x01000F |    HBN_STATUS_ISP_NODE_UNEXIST   |                   节点不存在                  |    尝试操作一个不存在的节点。检查节点是否已正确初始化。    |
| 0x010022 |  HBN_STATUS_ISP_SET_CONTROL_FAIL |                  设置控制失败                 |     设置控制参数时失败。检查控制值和相关配置是否正确。     |
| 0x010023 |  HBN_STATUS_ISP_GET_CONTROL_FAIL |                  获取控制失败                 |    获取控制参数时失败。确认硬件状态是否正常并重新获取。    |
| 0x010032 |   HBN_STATUS_ISP_BIND_NODE_FAIL  |                  绑定节点失败                 | 绑定节点时出现错误。检查节点是否有效，或者是否已正确绑定。 |
| 0x010033 |  HBN_STATUS_ISP_INVALID_VERSION  |                   无效的版本                  |  版本不匹配或不兼容。检查版本号并确保软件与硬件版本匹配。  |
| 0x010035 |   HBN_STATUS_ISP_MEM_INIT_FAIL   |                 内存初始化失败                |  内存分配失败或初始化失败。检查内存配置并确保足够的资源。  |
| 0x010036 |  HBN_STATUS_ISP_MEM_IMPORT_FAIL  |                  内存导入失败                 |   导入内存失败。检查内存导入过程中的参数和路径是否正确。   |
| 0x010037 |   HBN_STATUS_ISP_MEM_FREE_FAIL   |                  内存释放失败                 |     释放内存时失败。确保内存块已经分配且未被重复释放。     |
| 0x010038 |  HBN_STATUS_ISP_SYSFS_OPEN_FAIL  |                打开系统文件失败               |     打开系统文件失败。检查系统文件路径和权限是否正确。     |
| 0x010080 |      HBN_STATUS_ISP_2A_ERROR     |           2A（自动对焦 / 曝光）错误           |     自动对焦或曝光失败。检查 2A 相关模块是否正常工作。     |