Gem_isp_eris.c 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // =============================================================================
  2. // File : Gem_isp_eris.c
  3. // Version : v1.0
  4. // Author : Honglei Zhu
  5. // Date : 2014.12.5
  6. // -----------------------------------------------------------------------------
  7. // Description :
  8. //
  9. // -----------------------------------------------------------------------------
  10. #include "Gem_isp_eris.h"
  11. #include "Gem_isp_ae.h"
  12. #include "Gem_isp_io.h"
  13. void isp_eris_init_io (isp_eris_ptr_t p_eris)
  14. {
  15. int i, data0, data1, data2, data3, data4;
  16. data0 = ((p_eris->enable & 0x01) << 0)
  17. | ((p_eris->manual & 0x01) << 1)
  18. | ((p_eris->varEris & 0x03) << 5) // restore��˹��ѡ��, ȱʡ0
  19. | ((p_eris->dfsEris & 0x01) << 7) // ��������˲�ϵ��, ͨ�����(256������)����
  20. // 0 ��resoli^spacev���� (0 ~ 255), ʹ�ù̶�ϵ��
  21. // 1 ʹ���ⲿ���������ǿ��
  22. | ((p_eris->resoli & 0xFF) << 8)
  23. | ((p_eris->spacev & 0xFF) << 16)
  24. | ((p_eris->target & 0xFF) << 24)
  25. ;
  26. data1 = (p_eris->black) | (p_eris->white << 16);
  27. data2 = (p_eris->gain_max) | (p_eris->gain_min << 16);
  28. data3 = (p_eris->cont_max) | (p_eris->cont_min << 16);
  29. data4 = (p_eris->gain_man) | (p_eris->cont_man << 16);
  30. Gem_write ((GEM_ERIS_BASE+0x00), data0);
  31. Gem_write ((GEM_ERIS_BASE+0x04), data1);
  32. Gem_write ((GEM_ERIS_BASE+0x08), data2);
  33. Gem_write ((GEM_ERIS_BASE+0x0c), data3);
  34. Gem_write ((GEM_ERIS_BASE+0x10), data4);
  35. for (i = 0; i < 33; i++)
  36. {
  37. data0 = (0x02) | (i << 8) | (p_eris->resolt[i]<<16);
  38. Gem_write ((GEM_LUT_BASE+0x00), data0);
  39. }
  40. for (i = 0; i < 33; i++)
  41. {
  42. data0 = (0x03) | (i << 8) | (p_eris->colort[i]<<16);
  43. Gem_write ((GEM_LUT_BASE+0x00), data0);
  44. }
  45. data0 = (p_eris->eris_hist_thresh[0] << 0)
  46. | (p_eris->eris_hist_thresh[1] << 8)
  47. | (p_eris->eris_hist_thresh[2] << 16)
  48. | (p_eris->eris_hist_thresh[3] << 24)
  49. ;
  50. Gem_write ((GEM_ERIS_HIST_BASE+0x00), data0);
  51. }