下载
中文
注册

hi_mpi_isp_query_exposure_info

函数功能

获取AE内部状态信息,包括全局 5 段直方图、1024 段直方图和平均亮度等统计信息,同时还可获取AE运行状态中的曝光时间、增益、曝光量和实际生效的AE route等信息。

约束说明

  • 获取的曝光时间以微秒(us)为单位,获取的sensor模拟增益、sensor数字增益和ISP数字增益以倍数为单位,精度是10bit。
  • 获取的曝光量=(曝光时间 * 曝光增益),未考虑光圈状态,其中曝光时间以行数为单位,曝光增益包括sensor模拟增益、sensor数字增益和ISP数字增益,以倍数为单位,6bit小数精度。若该值的精度不足以满足需求,可以根据上面高精度的曝光时间(us)和增益(10bit 小数精度)重新计算一个曝光量。
  • 可通过查询hist_error来获取AE是否稳定的信息,若hist_error的绝对值小于曝光容忍偏差值,意味着当前AE不会动作。
  • 通过该接口获取的AE route与Proc信息中的AE route都是实际生效的值。只不过该接口的节点曝光时间以us为单位,而 Proc信息中的曝光时间以行数为单位;该接口的光圈分量为 F 值大小,取值范围为[0,10],而Proc信息中的光圈分量为 F 值等效增益,大小为(1<<F 值)。扩展AE route以及短帧AE route和短帧扩展AE route也是同样的对应关系。
  • 调用该接口需要确保系统已经运行起来并且统计信息已经生成;当系统刚运行起来第一帧,AE内部还没有统计信息时,调用该接口统计信息会返回全 0,这时候系统内存是足够的。
  • 手动模式下, 实际生效的again、dgain等其他值可能和hi_mpi_set_exposure_attr存在一定偏差, 和具体sensor相关。

函数原型

hi_s32 hi_mpi_isp_query_exposure_info(hi_vi_pipe vi_pipe, hi_isp_exp_info *exp_info)

参数说明

参数名

输入/输出

说明

vi_pipe

输入

VI PIPE号。

取值范围:[0, 12)。

exp_info

输出

曝光内部状态信息结构体指针。

返回值说明

参考样例

hi_vi_pipe vi_pipe = 0; 
hi_isp_exp_info exp_info; 
hi_mpi_isp_query_exposure_info(vi_pipe, &exp_info);
printf("Sensor exposure time: %d\n",exp_info.exp_time); 
printf("Analog Gain: %d\n",exp_info. a_gain); 
printf("Digital Gain: %d\n",exp_info. d_gain); 
printf("ISP Gain: %d\n",exp_info. isp_d_gain); 
printf("Exposure: %d\n",exp_info. exposure); 
printf("Average Luminance: %d\n",exp_info.ave_lum); 
printf("Hist error: %d\n",exp_info.hist_error); 
exp_info.exposure_is_max? printf("Exposure is MAX!\n"):printf("Exposure is NOT MAX!\n"); 
for(i = 0; i < 1024; i++)
{
    printf("Hist1024Value[%d]: %d\n",i, exp_info.ae_hist1024_value [i]);
}