hi_mpi_isp_set_exposure_attr
函数功能
设定AE曝光属性。
函数原型
hi_s32 hi_mpi_isp_set_exposure_attr(hi_vi_pipe vi_pipe, const hi_isp_exposure_attr *exp_attr)
约束说明
- AE曝光控制类型为自动时,曝光时间,曝光增益都由AE算法自动控制,可以通过配置自动曝光属性结构体auto_attr里面的参数得到不同的曝光效果。
- AE曝光控制类型为手动时,可以通过配置手动曝光属性结构体manual_attr控制使能类型(曝光时间使能、sensor模拟增益使能、sensor数字增益使能、ISP数字增益使能)及相应的曝光参数(曝光时间、sensor模拟增益、sensor数字增益、ISP数字增益)。
- AE曝光控制类型为自动时,配置手动曝光属性的参数无效。同理,AE曝光控制类型为手动时,配置自动曝光属性的参数无效。
- AE曝光控制类型为手动时,若曝光参数设置超出最大(小)值,将使用sensor支持的最大(小)值代替。
- 无论是自动曝光还是手动曝光,曝光时间的单位为微秒(us),曝光增益的单位为10bit 精度的倍数,即 1024 代表 1 倍,2048 代表 2 倍等。
- WDR模式下,优先帧设置为长帧时,优先根据长帧的曝光路线进行曝光,其中 2 合 1WDR 模式下当增益分开配置时,短帧曝光路线根据长帧的曝光参数进行调整;优先帧设置为短帧时,优先根据短帧的曝光路线进行曝光,其中 2 合 1WDR 模式下当增益分开配置时,长帧曝光路线根据短帧的曝光参数进行调整。
- 2 合 1WDR模式下,设置增益分开配置,若sensor支持长短帧不同增益,可实现长短帧不同的sensor模拟增益、sensor数字增益、WDR增益,若 sensor不支持长短帧不同增益,可实现长短帧不同的WDR增益。
- 使用灌图接口从BE进行回灌时,需要将AE曝光控制类型设置为手动。
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
vi_pipe |
输入 |
VI PIPE号。 取值范围:[0, 12)。 |
exp_attr |
输入 |
AE曝光属性结构体指针。 |
返回值说明
- 0:成功
- 非0:失败,参见ISP返回码。
参考样例
自动曝光属性设置:
hi_vi_pipe vi_pipe = 0; hi_isp_exposure_attr exp_attr; hi_mpi_isp_get_exposure_attr(vi_pipe, &exp_attr); exp_attr.bypass = HI_FALSE; exp_attr.prior_frame = HI_ISP_LONG_FRAME; exp_attr.ae_gain_sep_cfg = HI_FALSE; exp_attr.op_type = HI_OP_MODE_AUTO; exp_attr.auto_attr.exp_time_range.max = 40000; exp_attr.auto_attr.exp_time_range.min = 10; hi_mpi_isp_set_exposure_attr(vi_pipe, &exp_attr); exp_attr.auto_attr.speed = 0x80; hi_mpi_isp_set_exposure_attr(vi_pipe, &exp_attr); exp_attr.auto_attr.exp_attr = HI_ISP_AE_EXP_HIGHLIGHT_PRIOR; exp_attr.auto_attr.hist_ratio_slope = 0x100; exp_attr.auto_attr.max_hist_offset = 0x40; hi_mpi_isp_set_exposure_attr(vi_pipe, &exp_attr); exp_attr.auto_attr.antiflicker.enable = HI_TRUE; exp_attr.auto_attr.antiflicker.frequency = 50; exp_attr.auto_attr.antiflicker.mode = HI_ISP_ANTIFLICKER_NORMAL_MODE; hi_mpi_isp_set_exposure_attr(vi_pipe, &exp_attr); exp_attr.auto_attr.ae_delay_attr.black_delay_frame = 10; exp_attr.auto_attr.ae_delay_attr.white_delay_frame = 0; hi_mpi_isp_set_exposure_attr(vi_pipe, &exp_attr);
手动曝光属性设置:
hi_vi_pipe vi_pipe = 0; hi_isp_exposure_attr exp_attr; hi_mpi_isp_get_exposure_attr(vi_pipe, &exp_attr); exp_attr.bypass = HI_FALSE; exp_attr.op_type = HI_OP_MODE_MANUAL; exp_attr.manual_attr.a_gain_op_type = HI_OP_MODE_MANUAL; exp_attr.manual_attr.d_gain_op_type = HI_OP_MODE_MANUAL; exp_attr.manual_attr.ispd_gain_op_type = HI_OP_MODE_MANUAL; exp_attr.manual_attr.exp_time_op_type = HI_OP_MODE_MANUAL; exp_attr.manual_attr.a_gain = 0x400; exp_attr.manual_attr.d_gain = 0x400; exp_attr.manual_attr.isp_d_gain = 0x400; exp_attr.manual_attr.exp_time = 0x40000; hi_mpi_isp_get_exposure_attr(vi_pipe, &exp_attr);
父主题: AE 控制模块