---
title: hi_isp_ae_result
description: "定义AE库返回给ISP的配置寄存器结构体。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/ispdevug/ispdevapi_0146.html
sourcePath: /source/zh/canncommercial/900/others/ispdevug/ispdevapi_0146.html
indexId: b5ec3bef99c3f37dc58677b7680defa443268ff6b0a4c1b2368f53297d5b440c65
---
# hi_isp_ae_result

#### 说明

定义AE库返回给ISP的配置寄存器结构体。


#### 定义

```
typedef struct {
hi_u32
int_time[4];
hi_u32
isp_dgain;
hi_u32
again;
hi_u32
dgain;
hi_u32
iso;
hi_u32
isp_dgain_sf;
hi_u32
again_sf;
hi_u32
dgain_sf;
hi_u32
iso_sf;
hi_u8
ae_run_interval;
hi_bool
piris_valid;
hi_s32
piris_pos;
hi_u32
piris_gain;
hi_u32
sns_lhcg_exp_ratio;
hi_isp_fswdr_mode
fswdr_mode;
hi_u32
wdr_gain[HI_ISP_WDR_MAX_FRAME_NUM];
hi_u32
hmax_times;
hi_u32
vmax;
hi_isp_ae_stat_attr
stat_attr;
hi_isp_dcf_update_info
update_info;
} hi_isp_ae_result;
```


#### 成员

| 成员名称 | 描述 |
| --- | --- |
| int\_time | AE计算得出的曝光时间，以1/16 us为单位，将曝光时间由行数转换成us时需要考虑cmos.c中offset的影响。 线性模式和sensor built\-in WDR模式下，只有int\_time[0]有效，int\_time[1:3]建议配置等于int\_time[0]；N帧合成WDR模式下，int\_time[0:(N\-1)]有效，配置值由小到大，依次表示最短到最长的曝光时间，用于计算长短帧曝光比，int\_time[(N\-1):3]建议配置等于int\_time[(N\-1)]。int\_time[0]还需传递至其他模块用于与曝光时间相关的联动控制，会影响AWB效果。使用AWB算法和多帧WDR模式时必须配置该结构体。 |
| isp\_dgain | ISP的数字增益，8bit精度。使用ISP数字增益时必须配置；不使用时配置为0x100。 |
| again | Sensor的模拟增益，10bit精度。使用多帧WDR算法时必须配置；不使用时配置为0x400。 |
| dgain | Sensor的数字增益，10bit精度。使用多帧WDR算法时必须配置；不使用时配置为0x400。 |
| iso | AE计算得出的总增益值，ISO表示系统增益，以常数100乘以倍数为单位，例如系统中sensor的增益为2倍，ISP的增益为1倍，那么整个系统的ISO值计算方式为：2\*1\*100=200，即系统ISO为200，本文档中涉及到的ISO都是采用这种计算方法。此变量影响ISP的去噪，sharpen等自适应效果，必须配置。在2合1WDR模式下，ISO计算包含WDRGain。 |
| isp\_dgain\_sf | 短帧的ISP的数字增益，8bit精度。使用WDR算法时必须配置；不使用时配置为0x400。 |
| again\_sf | 短帧的Sensor的模拟增益，10bit精度。使用WDR算法时必须配置；不使用时配置为0x400。 |
| dgain\_sf | 短帧的Sensor的数字增益，10bit精度。使用WDR算法时必须配置；不使用时配置为0x400。 |
| iso\_sf | AE计算得出的短帧的总增益值。在2合1WDR模式下，ISO计算包含WDRGain。 |
| ae\_run\_interval | AE算法运行的间隔，取值范围：[1, 255]。 取值为1时表示每帧都运行AE算法； 取值为2时表示每2帧运行1次AE算法，依此类推。 建议该值设置不要大于2，否则AE调节速度会受到影响。WDR模式时，该值建议设置为1，这样AE收敛会更加平滑。此变量决定AE计算结果配置到sensor和ISP寄存器的间隔帧数，必须配置。 |
| piris\_valid | Piris是否有效的标志。 取值为HI\_TRUE时在内核态回调Piris驱动配置步进电机的位置。 取值为HI\_FALSE时不回调。 使用AE算法和Piris驱动对接Piris镜头时，该值须置为HI\_TRUE，对接非Piris镜头时该值须置为HI\_FALSE。 |
| piris\_pos | Piris步进电机的位置，取值范围与具体Piris镜头相关。使用Piris驱动对接Piris镜头时，该值必须配置。 |
| piris\_gain | Piris光圈等效增益，取值范围与具体Piris镜头相关。可用于计算Piris工作时的等效曝光量，供其他模块参考。取值范围：[0, 1024]。对接非Piris镜头时建议将该值配置为512。 |
| sns\_lhcg\_exp\_ratio | LCG+HCG模式的基础曝光比，仅Sensor支持LCG+HCG模式时生效，不使用时需将该值配置为64。 |
| fswdr\_mode | WDR合成模式。 0：表示普通多帧合成WDR模式； 1：表示长帧模式； 2：表示自动长帧模式。 |
| wdr\_gain[HI\_ISP\_WDR\_MAX\_FRAME\_NUM] | WDR合成前多路的数字增益，8bit精度。使用WDR合成前多路数字ISP数字增益时必须配置；不使用时配置为0x100。 \#define HI\_ISP\_WDR\_MAX\_FRAME\_NUM 4 |
| hmax\_times | Sensor对应读出一行的时间，单位：ns。 |
| vmax | Sensor每帧实际生效的总行数，单位：行。 |
| stat\_attr | AE库返回给ISP的配置寄存器结构体 |
| update\_info | 用于传递AE相关DCF信息，仅曝光相关参数生效。 |


#### 注意事项

- ISP基本算法模块将会根据AE计算得出的总增益值调节配置参数，例如锐化、去噪等。
- weight_table支持拼接模式下在主路配置多路权重，在主路对所有支路对应Pipe下标的权重表进行赋值即可。在非拼接模式下，只有对应Pipe下标的权重表生效。
- 将曝光时间int_time由行转换成us时，可以通过cmos.c中的lines_per500ms进行，转换关系如下：
  int_time[0] =(((hi_u64)int_time_rst[0] * 1024 - offset) * 500000 / ae_sns_dft->lines_per500ms) >> 10

  上式中int_time_rst[0]是以行数为单位的曝光时间，offset=offset* 1024，offset即为曝光时间的偏移量，详见hi_isp_ae_accuracy的描述。

- 为了保证计算曝光比的精度，int_time中曝光时间精度为1/16us，计算曝光时间时需要保证在us的基础上左移四位，否则曝光比计算可能会有误差，其他模块获取的曝光时间也会偏小。
- 客户在使用非AI处理器的AE算法时，参数int_time、isp_dgain、again、dgain、iso、hmax_times、vmax必须配置，否则会影响其他模块的联动控制，其余参数则可根据需要选择性配置。
