Gem_isp_awb.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // =============================================================================
  2. // File : Gem_isp_awb.h
  3. // Version : v1.0
  4. // Author : Honglei Zhu
  5. // Date : 2014.12.5
  6. // -----------------------------------------------------------------------------
  7. // Description :
  8. //
  9. // -----------------------------------------------------------------------------
  10. #ifndef __GEM_ISP_AWB_HEADFILE__
  11. #define __GEM_ISP_AWB_HEADFILE__
  12. #define GEM_AWB0_BASE (0x090)
  13. #define GEM_AWB1_BASE (0x1bc + 0x0c + 0x0c)
  14. #define GEM_AWB2_BASE (0x20c + 0x0c + 0x0c)
  15. typedef struct isp_auto_awb_
  16. {
  17. unsigned char enable; // 1 bit
  18. unsigned char mode; // 2 bit
  19. unsigned char manual; // 1 bit, 1 手动模式, 0 自动模式
  20. unsigned char weight[3][3]; // 4 bit
  21. unsigned char black; // 8 bit
  22. unsigned char white; // 8 bit
  23. unsigned char jitter;
  24. unsigned short r2g_min;
  25. unsigned short r2g_max;
  26. unsigned short b2g_min;
  27. unsigned short b2g_max;
  28. unsigned short r2g_light[8]; // R色温表, 最大数值 4095
  29. // 仅自动模式下使用
  30. unsigned short b2g_light[8]; // B色温表, 最大数值 4095
  31. // 仅自动模式下使用
  32. unsigned char use_light[8]; // 表示对应的光源是否使能, 1 使能 0 未使用
  33. // 仅自动模式下使用
  34. unsigned short gain_g2r; // 16 bit, 有效范围 0 ~ 4095
  35. // 手动模式下设置红色的增益
  36. // 值越大, 红色分量的颜色越浓
  37. unsigned short gain_g2b; // 16 bit, 有效范围 0 ~ 4095
  38. // 手动模式下设置蓝色的增益
  39. // 值越大, 蓝色分量的颜色越浓
  40. unsigned short gain_r2g; // 16 bit, 只读项, 保存R分量色温估算值
  41. unsigned short gain_b2g; // 16 bit, 只读项, 保存B分量色温估算值
  42. unsigned int gray_num;
  43. } isp_awb_t;
  44. typedef struct isp_auto_awb_ *isp_awb_ptr_t;
  45. void isp_awb_init (isp_awb_ptr_t p_awb);
  46. void isp_awb_init_io (isp_awb_ptr_t p_awb);
  47. void isp_awb_info_read (isp_awb_ptr_t p_awb);
  48. void isp_awb_run (isp_awb_ptr_t p_awb);
  49. #endif