5.7. 图像质量 - ISP
5.7.1. 模块描述
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(相位检测自动对焦)
5.7.1.1. 术语解释
以下表格对函数名称及变量名称中涉及的专业术语缩写进行了说明:
| 术语 | 缩写 | 说明 |
|---|---|---|
| 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 | 宽度动态范围 |
5.7.1.2. 图像处理模式说明
本平台支持两种图像处理模式: Offline 模式和 Online 模式。
Offline 模式
Offline 模式数据传输路径如下图所示:

具体说明如下:
VNode1:
VIN: 视频输入模块,负责接收来自相机的原始视频数据。
MIPI RX(CSIx): 通过 MIPI 接口接收相机数据。
SIFx: 将接收到的数据进行初步处理或格式化。
数据传输:
数据从 VNode1 的 SIFx 模块传输到 VNode2 的 ISP 模块。
数据传输路径为: SIFx → DDR → ISP。
这意味着在 Offline 模式下,数据会经过 DDR(动态随机存取存储器)进行存储和处理。
VNode2:
ISP: 图像信号处理器,负责对原始图像数据进行进一步处理。
Pipeline: 图像处理流水线,处理图像数据。
RDMA: 可能是一个存储模块,用于存储处理后的图像数据。
RAW 和 YUV: 表示图像数据的不同格式, RAW 是未经处理的原始数据, YUV 是常见的图像格式。
Online 模式
online 模式数据传输路径如下图所示:

具体说明如下:
VNode1:
VIN: 视频输入模块,负责接收来自相机的原始视频数据。
MIPI RX(CSIx): 通过 MIPI 接口接收相机数据。
SIFx: 将接收到的数据进行初步处理或格式化。
数据传输:
数据从 VNode1 的 SIFx 模块直接传输到 VNode2 的 ISP 模块,而不经过 DDR。
数据传输路径为: SIFx → Ichn0 → ISP。
这意味着在 Online 模式下,数据不经过 DDR,直接在处理流水线中进行处理。
VNode2:
ISP: 图像信号处理器,负责对原始图像数据进行进一步处理。
Pipeline: 图像处理流水线,处理图像数据。
在 Online 模式下,数据直接在 Pipeline 中进行处理,而不经过 DDR。
两种传输模式的主要区别为:
Offline 模式:数据经过 DDR 进行存储和处理,适用于需要大量存储和复杂处理的场景。
Online 模式:数据直接在处理流水线中进行处理,不经过 DDR,适用于实时处理和低延迟的场景。
这两种模式的选择取决于具体的应用需求,需要综合考虑处理速度、存储需求和系统资源等因素。
5.7.2. 参考示例
ISP 部分示例代码可以参考 sample_isp 使用说明中的 multi_isp_vflow 章节。
5.7.3. API 参考
hbn_isp_set_module_control:控制 isp 的某些功能是否使能。
hbn_isp_get_module_control:获取 isp 模块的控制状态。
hbn_isp_set_exposure_attr:设置 isp 的曝光属性。
hbn_isp_get_exposure_attr:获取 isp 的曝光属性。
hbn_isp_set_hdr_exposure_attr:设置 isp 的 hdr 曝光属性。
hbn_isp_get_hdr_exposure_attr:获取 isp 的 hdr 曝光属性。
hbn_isp_set_awb_attr:设置 isp 的自动白平衡属性。
hbn_isp_get_awb_attr:获取 isp 的自动白平衡属性。
hbn_isp_get_awb_gain_by_temper:根据色温值获取 isp 的自动白平衡增益。
hbn_isp_set_ae_zone_weight_attr:设置 isp 的 ae 区域权重属性。
hbn_isp_get_ae_zone_weight_attr:获取 isp 的 ae 区域权重属性。
hbn_isp_set_af_zone_weight_attr:设置 isp 的 af 区域权重属性。
hbn_isp_get_af_zone_weight_attr:获取 isp 的 af 区域权重属性。
hbn_isp_get_ae_statistics:获取 isp 的 ae 统计数据。
hbn_isp_get_awb_statistics:获取 isp 的 awb 统计数据。
hbn_isp_get_af_statistics:获取 isp 的 af 统计数据。
hbn_isp_set_exposure_table:设置 isp ae 的曝光表。
hbn_isp_get_exposure_table:获取 isp ae 的曝光表。
hbn_isp_set_exposure_roi:设置 isp 的曝光 roi。
hbn_isp_get_exposure_roi:获取 isp 的曝光 roi。
hbn_isp_get_lines_persecond:获取 isp 每秒的行数。
hbn_isp_set_2dnr_attr:设置 isp 的 2dnr 属性。
hbn_isp_get_2dnr_attr:获取 isp 的 2dnr 属性。
hbn_isp_set_3dnr_attr:设置 isp 的 3dnr 属性。
hbn_isp_get_3dnr_attr:获取 isp 的 3dnr 属性。
hbn_isp_get_lsc_attr:获取 isp 的 lsc 属性。
hbn_isp_set_lsc_attr:设置 isp 的 lsc 属性。
hbn_isp_set_awb_preference_attr:设置 isp 的 awb 偏好属性。
hbn_isp_get_awb_preference_attr:获取 isp 的 awb 偏好属性。
hbn_isp_get_wdr_attr:获取 isp 的 wdr 属性。
hbn_isp_set_wdr_attr:设置 isp 的 wdr 属性。
hbn_isp_set_ccm_attr:设置 isp 的 ccm 属性。
hbn_isp_get_ccm_attr:获取 isp 的 ccm 属性。
hbn_isp_set_gc_attr:设置 isp 的 gc 属性。
hbn_isp_get_gc_attr:获取 isp 的 gc 属性。
hbn_isp_set_dmsc_attr:设置 isp 的 dmsc 属性。
hbn_isp_get_dmsc_attr:获取 isp 的 dmsc 属性。
hbn_isp_set_ee_attr:设置 isp 的 ee 属性。
hbn_isp_get_ee_attr:获取 isp 的 ee 属性。
hbn_isp_set_cproc_attr:设置 isp 的 cproc 属性。
hbn_isp_get_cproc_attr:获取 isp 的 cproc 属性。
hbn_isp_get_dpcc_attr:获取 isp 的 dpcc 属性。
hbn_isp_set_dpcc_attr:设置 isp 的 dpcc 属性。
hbn_isp_set_pattern_attr:设置 isp 的 bayer pattern。
hbn_isp_cal_gain_by_temp:计算特定色温下的白平衡增益系数。
5.7.4. 接口说明
Note:
使用 API 接口时需要通过 tuning json 将对应的模块打开,否则调用 get 接口获取到的参数可能存在问题。
tuning json 中 state 为1的模块,为 manual 模式,获取到 auto 参数会有问题。state 为2时为 auto 模式,可以获取到当前参数与 auto 参数。
5.7.4.1. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
isp 的 pipeline 中包含多个模块,该接口控制是否使能 isp 的某些功能。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.2. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 模块的控制状态。 isp 的 pipeline 中包含多个模块,该接口获取 isp 中的某个功能是否使能。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.3. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的曝光属性,包括手动和自动曝光模式的相关参数。调用接口时 hbn_isp_exposure_attr_t 中需要配置当前 ae 的 mode( manual/auto),以及对应的配置( manual_attr/auto_attr)。
【注意事项】
需要确保传入的参数在有效范围内,否则可能会导致设置失败。
【兼容性】
硬件 : X5 。
5.7.4.4. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的曝光属性。获取到的参数中 isp_mode 暂时不可用,可以同时获取到 manual_attr 与 auto_attr。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.5. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp hdr 功能相关参数,调用接口时 hbn_isp_hdr_exposure_attr_t 中需要配置当前 hdr 的 mode( manual/auto),以及对应的配置( manual_attr/auto_attr)。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.6. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp hdr 功能参数,获取到的参数中 isp_mode 暂时不可用,可以同时获取到 manual_attr 与 auto_attr。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.7. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的自动白平衡属性,包括手动和自动白平衡模式的相关参数。调用接口时 hbn_isp_awb_attr_t 中需要配置当前 awb 的 mode( manual/auto),以及对应的配置( manual_attr/auto_attr)。
【注意事项】
需要确保传入的参数在有效范围内,否则可能会导致设置失败。
【兼容性】
硬件 : X5 。
5.7.4.8. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的自动白平衡属性。获取到的参数中 isp_mode 暂时不可用,可以同时获取到 manual_attr 与 auto_attr。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.9. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
根据色温值获取 isp 的自动白平衡增益。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.10. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 ae 区域权重属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.11. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 ae 区域权重属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.12. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 af 区域权重属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.13. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 af 区域权重属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.14. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 ae 统计数据。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.15. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 awb 统计数据。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.16. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 af 统计数据。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.17. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的曝光表。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.18. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的曝光表。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.19. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的曝光 roi。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.20. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的曝光 roi。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.21. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 每秒的行数。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.22. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 2dnr 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.23. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 2dnr 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.24. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 3dnr 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.25. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 3dnr 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.26. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 lsc 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.27. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 lsc 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.28. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 awb 偏好属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.29. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 awb 偏好属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.30. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 wdr 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.31. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 wdr 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.32. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 ccm 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.33. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 ccm 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.34. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 gc 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.35. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 gc 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.36. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 dmsc 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.37. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 dmsc 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.38. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 ee 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.39. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 ee 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.40. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 cproc 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.41. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 cproc 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.42. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
获取 isp 的 dpcc 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.43. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 dpcc 属性。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.44. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
设置 isp 的 bayer pattern。
【注意事项】
无。
【兼容性】
硬件 : X5 。
5.7.4.45. 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 。
失败:异常为负值错误码,参考 返回值说明 。
【功能描述】
计算特定色温下的白平衡增益系数。
【注意事项】
白平衡标定参数决定预设色温增益计算的准确性,因此,在调用该接口前,必须完成标定,标定不小于3个且标定参数加载到ISP。当色温值超过标定最大或最小色温时,按照最大或最小色温的标定参数输出。 shift参数决定光源点与 Planckian 曲线的位置关系,shift 为负数时,光源点位于 Planckian 曲线左侧,计算的白平衡增益在预设色温下会稍微偏红;shift为正数时,光源点位于 Planckian 曲线右侧,计算的白平衡增益在预设色温下会稍微偏绿。
【兼容性】
硬件 : X5 。
5.7.5. 数据结构
5.7.5.1. hbn_isp_param_range_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| min | float | - | - | - | 参数的最小值 | 是 |
| max | float | - | - | - | 参数的最大值 | 是 |
5.7.5.2. hbn_isp_zone_weight_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| x | uint32_t | - | - | - | 区域的 x 坐标 | 是 |
| y | uint32_t | - | - | - | 区域的 y 坐标 | 是 |
| h | uint32_t | - | - | - | 区域的高度 | 是 |
| w | uint32_t | - | - | - | 区域的宽度 | 是 |
| weight | float | - | - | - | 区域的权重 | 是 |
5.7.5.3. hbn_windows_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| h_offset | uint32_t | - | - | - | 水平起始偏移量 | 是 |
| v_offset | uint32_t | - | - | - | 垂直起始偏移量 | 是 |
| width | uint32_t | - | - | - | 宽度 | 是 |
| height | uint32_t | - | - | - | 高度 | 是 |
5.7.5.4. hbn_isp_roi_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| window | hbn_windows_t | - | - | - | ROI 窗口 | 是 |
| weight | float | - | - | - | 权重 | 是 |
5.7.5.5. hbn_isp_exposure_auto_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| exp_time_range | hbn_isp_param_range_t | - | - | - | 曝光时间范围(单位:秒),可以通过get接口获取到该参数,暂时无法设置 | 是 |
| again_range | hbn_isp_param_range_t | - | - | - | 模拟增益范围,可以通过get接口获取到该参数,暂时无法设置 | 是 |
| dgain_range | hbn_isp_param_range_t | - | - | - | 数字增益范围,可以通过get接口获取到该参数,暂时无法设置 | 是 |
| isp_dgain_range | 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_EXP_MODE_ADAPTIVE - target 自动适应模式; HBN_ISP_ATIVEUTO_EXP_MODE_FIX - target 固定模式 |
是 |
5.7.5.6. 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 | - | - | - | 时间戳 | 是 |
5.7.5.7. hbn_isp_exposure_version_e
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| HBN_ISP_EXP_V0 | enum | - | - | - | 曝光版本 0 | 是 |
| HBN_ISP_EXP_V1 | enum | - | - | - | 曝光版本 1 | 是 |
| HBN_ISP_EXP_V2 | enum | - | - | - | 曝光版本 2 | 是 |
5.7.5.8. hbn_isp_auto_exposure_mode_e
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| HBN_ISP_AUTO_EXP_MODE_ADAPTIVE | enum | - | - | - | 自适应自动曝光模式 | 是 |
| HBN_ISP_AUTO_EXP_MODE_FIX | enum | - | - | - | 固定自动曝光模式 | 是 |
5.7.5.9. hbn_isp_exposure_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| version | hbn_isp_exposure_version_e | - | - | - | 版本信息 | 否 |
| lock_state | uint32_t | - | - | - | 锁定状态 | 是 |
| mode | hbn_isp_mode_e | - | - | - | HBN_ISP_MODE_AUTO - auto 模式 HBN_ISP_MODE_MANUAL - manual 模式 |
是 |
| auto_attr | hbn_isp_exposure_auto_attr_t | - | - | - | auto 模式下的参数 | 是 |
| manual_attr | hbn_isp_exposure_manual_attr_t | - | - | - | manual 模式下的参数 | 是 |
5.7.5.10. 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 | 是 |
5.7.5.11. hbn_isp_hdr_exposure_auto_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| exp_ratio | float[4] | - | - | - | 曝光比例数组 | 是 |
| exp_ratio_range | hbn_isp_param_range_t | - | - | - | 曝光比例范围,暂时不支持 | 是 |
5.7.5.12. hbn_isp_hdr_exposure_manual_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| exp_time | float | - | - | - | 曝光时间(单位:秒) | 是 |
| again | float | - | - | - | 模拟增益 | 是 |
| dgain | float | - | - | - | 数字增益 | 是 |
| ispgain | float | - | - | - | ISP 增益 | 是 |
| ae_exp | uint32_t | - | - | - | 总的曝光量,暂时不支持 | 是 |
5.7.5.13. hbn_isp_hdr_exposure_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| version | hbn_isp_hdr_exposure_version_e | - | - | - | 版本信息 | 否 |
| mode | hbn_isp_mode_e | - | - | - | HBN_ISP_MODE_AUTO - auto 模式 HBN_ISP_MODE_MANUAL - manual 模式 |
是 |
| auto_attr | hbn_isp_hdr_exposure_auto_attr_t | - | - | - | auto 模式下的参数 | 是 |
| manual_attr | hbn_isp_hdr_exposure_manual_attr_t | - | - | - | manual 模式下的参数 | 是 |
5.7.5.14. hbn_isp_awb_version_e
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| HBN_ISP_WB_V0 | enum | - | - | - | 白平衡版本 0 | 是 |
| HBN_ISP_WB_V1 | enum | - | - | - | 白平衡版本 1 | 是 |
5.7.5.15. hbn_isp_awb_gain_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| rgain | float | - | - | - | R 通道增益 | 是 |
| grgain | float | - | - | - | GR 通道增益 | 是 |
| gbgain | float | - | - | - | GB 通道增益 | 是 |
| bgain | float | - | - | - | B 通道增益 | 是 |
5.7.5.16. 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 | - | - | - | AWB 增益值 (仅支持获取) | 是 |
| temper | uint32_t | - | - | - | 色温(仅支持获取) | 是 |
5.7.5.17. hbn_isp_awb_manual_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| gain | hbn_isp_awb_gain_t | - | - | - | 手动设置的 AWB 增益值 | 是 |
| temper | uint32_t | - | - | - | 色温 | 是 |
5.7.5.18. 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 模式 HBN_ISP_MODE_MANUAL - manual 模式 |
是 |
| auto_attr | hbn_isp_awb_auto_attr_t | - | - | - | auto 模式下的参数 | 是 |
| manual_attr | hbn_isp_awb_manual_attr_t | - | - | - | manual 模式下的参数 | 是 |
5.7.5.19. hbn_isp_ae_zone_weight_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| version | hbn_isp_ae_zone_weight_version_e | - | - | - | 版本信息 | 否 |
| weight | hbn_isp_zone_weight_t[HBN_ISP_AE_ZONE_GRID_ITEMS] | - | - | - | AE 区域权重数组 | 是 |
5.7.5.20. 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 区域权重属性 | 是 |
5.7.5.21. 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 | - | - | - | 数据类型最大值 | 是 |
5.7.5.22. 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 | - | - | - | 数据类型 | 是 |
| frame_id | uint32_t | - | - | - | 帧 ID | 是 |
| timestamps | uint64_t | - | - | - | 时间戳 | 是 |
5.7.5.23. 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 | - | - | - | 数据类型 | 是 |
| frame_id | uint32_t | - | - | - | 帧 ID | 是 |
| timestamps | uint64_t | - | - | - | 时间戳 | 是 |
5.7.5.24. 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 | 是 |
5.7.5.25. hbn_isp_table_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| exposure_time | float | - | - | - | 曝光时间(单位:秒) | 是 |
| again | float | - | - | - | 模拟增益 | 是 |
| dgain | float | - | - | - | 数字增益 | 是 |
| isp_gain | float | - | - | - | ISP 增益 | 是 |
5.7.5.26. hbn_isp_exposure_table_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| exp_table | hbn_isp_table_t[HBN_ISP_EXP_TABLE_NUM] | - | - | - | 曝光表数组 | 是 |
| valid_num | uint8_t | - | - | - | 有效条目数量 | 是 |
5.7.5.27. 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_WINDOWS_MAX] | - | - | - | ROI 窗口数组 | 是 |
5.7.5.28. 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 | - | - | - | 插值模式 | 是 |
5.7.5.29. 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 | - | - | - | 2DNR 曲线配置参数 | 是 |
5.7.5.30. 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 | - | - | - | 运动配置 | 是 |
5.7.5.31. 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 因子数组 | 是 |
5.7.5.32. hbn_isp_2dnr_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| mode | hbn_isp_mode_e | - | - | - | 运行模式 | 是 |
| manual_attr | hbn_isp_2dnr_manual_attr_t | - | - | - | 手动配置属性 | 是 |
| auto_attr | hbn_isp_2dnr_auto_attr_t | - | - | - | 自动配置属性 | 是 |
5.7.5.33. 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 曝光数组 | 是 |
5.7.5.34. 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 噪声模型配置 | 是 |
5.7.5.35. hbn_isp_3dnr_range_dilate_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| HBN_ISP_3DNR_RANGE_3 | enum | - | - | - | 膨胀范围: 3 | 是 |
| HBN_ISP_3DNR_RANGE_4 | enum | - | - | - | 膨胀范围: 6 | 是 |
5.7.5.36. 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 轴数组 | 是 |
5.7.5.37. hbn_isp_3dnr_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| mode | hbn_isp_mode_e | - | - | - | 运行模式 | 是 |
| manual_attr | hbn_isp_3dnr_manual_attr_t | - | - | - | 手动配置属性 | 是 |
| auto_attr | hbn_isp_3dnr_auto_attr_t | - | - | - | 自动配置属性 | 是 |
5.7.5.38. hbn_isp_module_ctrl_t
| 名称 | 类型 | 含义 | 必选 |
|---|---|---|---|
| version | hbn_isp_module_version_e | 版本信息 | 否 |
| module | isp_module_ctrl_u | isp 功能控制结构体 | 是 |
5.7.5.39. isp_af_zone_weight_func_a_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| total_size | uint32_t | - | - | - | 数组有效值大小 | - |
| weight[15*15] | hbn_isp_zone_weight_t | - | - | - | 权重数组,暂时不支持 | - |
5.7.5.40. 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 | - | 插值模式 | 是 |
5.7.5.41. 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 方向大小。 32 个 xSzie 值相加必须和 image width 完全匹配 |
是 |
| y_size | uint16_t | HBN_ISP_LSC_Y_MIN | - | - | frame 分成 32x32 扇区,扇区的 y 方向大小, 16 个 ySize 值相加必须和 image height 除 2 完全匹配 |
是 |
5.7.5.42. 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 配置信息 | 是 |
5.7.5.43. 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 | - |
5.7.5.44. 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 | - |
5.7.5.45. hbn_isp_dpcc_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| mode | hbn_isp_mode_e | - | - | - | The run mode | 是 |
| manual_attr | hbn_isp_dpcc_manual_attr_t | - | - | - | DPCC manual configuration | 是 |
| auto_attr | hbn_isp_dpcc_auto_attr_t | - | - | - | DPCC auto configuration | 是 |
5.7.5.46. 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 | 是 |
5.7.5.47. hbn_isp_ccm_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| manual_attr | hbn_isp_ccm_manual_attr_t | - | - | - | ccm manual configuration | 是 |
5.7.5.48. 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 | 是 |
5.7.5.49. 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 | 是 |
5.7.5.50. 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 | 是 |
5.7.5.51. 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 | 是 |
5.7.5.52. 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 | - |
5.7.5.53. hbn_isp_awb_preference_attr_t
| 名称 | 类型 | 最小值 | 最大值 | 默认值 | 含义 | 必选 |
|---|---|---|---|---|---|---|
| gray_preference[HBN_ISP_ILLUPROFILE_NUM] | hbn_isp_awb_gray_preference_attr_t | - | - | - | Gray scale preference | - |
5.7.5.54. 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 | - |
5.7.6. 返回值说明
| 错误码 | 宏定义 | 描述 | 常见原因及解决方法 |
|---|---|---|---|
| 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 相关模块是否正常工作。 |