hi3516 isp expose


原文链接: hi3516 isp expose

VI_PIPE ViPipe = 0;

ISP_EXP_INFO_S stExpInfo;
HI_MPI_ISP_QueryExposureInfo(ViPipe, &stExpInfo);
printf("Sensor exposure time: %d\n",stExpInfo.u32ExpTime);
printf("Analog Gain: %d\n",stExpInfo.u32AGain);
printf("Digital Gain: %d\n",stExpInfo.u32DGain);
printf("ISP Gain: %d\n",stExpInfo.u32ISPDGain);
printf("Exposure: %d\n",stExpInfo.u32Exposure);
printf("Average Luminance: %d\n",stExpInfo.u8AveLum);
printf("Hist error: %d\n",stExpInfo.s16HistError);
stExpInfo.bExposureIsMAX ? printf("Exposure is MAX!\n") : printf("Exposure is NOT MAX!\n");
for(i = 0; i < 5; i++)
{
    printf("Hist5Value[%d]: %d\n",i,stExpInfo.u16AE_Hist5Value[i]);
}


_isp_get_iso(void)
{
	uint32_t ret_iso = 0;
	ISP_EXP_INFO_S stExpInfo ;
	SOC_CHECK(HI_MPI_ISP_QueryExposureInfo(0, &stExpInfo));
	ret_iso = (uint32_t)((unsigned long long)stExpInfo.u32AGain * (unsigned long long)stExpInfo.u32DGain * (unsigned long long)stExpInfo.u32ISPDGain >> 20);
	return ret_iso / 1024;
}
`