Gem_isp_ae.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // =============================================================================
  2. // File : Gem_isp_ae.h
  3. // Version : v1.0
  4. // Author : Honglei Zhu
  5. // Date : 2014.12.5
  6. // -----------------------------------------------------------------------------
  7. // Description :
  8. //
  9. // -----------------------------------------------------------------------------
  10. #ifndef _GEM_ISP_AE_HEADFILE_
  11. #define _GEM_ISP_AE_HEADFILE_
  12. #define GEM_AE0_BASE (0x070)
  13. #define GEM_AE1_BASE (0x1b0 + 0x0c + 0x0c) // 新增3个寄存器
  14. #define GEM_AE2_BASE (0x1c4 + 0x0c + 0x0c)
  15. typedef struct isp_auto_exposure_
  16. {
  17. unsigned char histoBand[4];
  18. unsigned char winWeight[3][3];
  19. unsigned short histoGram[5];
  20. unsigned short yavg_s[3][3];
  21. unsigned short histogram_s[3][3][5];
  22. unsigned char lumTarget;
  23. unsigned char lumCurr;
  24. unsigned int eris_hist_thresh; // ERIS亮度直方图的4个阈值(每个阈值的取值范围为0~255)
  25. // bit0~7对应01区间, bit8~15对应12区间, bit16~23对应23区间, bit24~31对应34区间
  26. unsigned int eris_hist_statics[5]; // (只读信息) 5段ERIS亮度直方图的统计点像素个数,
  27. unsigned int eris_yavg; // (只读信息) ERIS亮度统计值, 需除以总像素点数, 得到平均亮度值
  28. unsigned char bright_target;
  29. unsigned char black_target;
  30. unsigned char compensation;
  31. } isp_ae_t;
  32. typedef struct isp_auto_exposure_ *isp_ae_ptr_t;
  33. void isp_ae_init (isp_ae_ptr_t p_ae);
  34. void isp_ae_init_io (isp_ae_ptr_t ae);
  35. void isp_ae_info_read (isp_ae_ptr_t p_ae);
  36. void isp_ae_sts2_read (isp_ae_ptr_t p_ae);
  37. void isp_ae_yavg_s_read (isp_ae_ptr_t p_ae);
  38. void isp_histogram_bands_data (unsigned int data1, unsigned int data2);
  39. void isp_ae_run (isp_ae_ptr_t p_ae);
  40. #endif