isp_dehaze.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. /******************************************************************************
  2. Copyright (C), 2016, Hisilicon Tech. Co., Ltd.
  3. ******************************************************************************
  4. File Name : hi_awb_comm.h
  5. Version : Initial Draft
  6. Author : Hisilicon multimedia software group
  7. Created : 2012/12/19
  8. Description :
  9. History :
  10. 1.Date : 2012/12/19
  11. Author :
  12. Modification: Created file
  13. ******************************************************************************/
  14. #ifndef __HI_ISP_DEHAZE_H__
  15. #define __HI_ISP_DEHAZE_H__
  16. #include "hi_type.h"
  17. #ifdef __cplusplus
  18. #if __cplusplus
  19. extern "C" {
  20. #endif
  21. #endif /* End of #ifdef __cplusplus */
  22. #define FRAMECNT 12
  23. #define DEHAZE_CURVE_NUM 16
  24. #define DEHAZE_CURVE_MAX_NODE 256
  25. typedef enum hiDehze_CTRL_CMD_E
  26. {
  27. DEHAZE_DEBUG_ATTR_SET,
  28. DEHAZE_DEBUG_ATTR_GET,
  29. DEHAZE_DEBUG_WAIT_END,
  30. DEHAZE_CTRL_BUTT,
  31. } DEHAZE_CTRL_CMD_E;
  32. typedef struct hiDEHAZE_DBG_ATTR_S
  33. {
  34. HI_U32 hblk_num;
  35. HI_U32 vblk_num;
  36. HI_U32 u32ImageHeight;
  37. HI_U32 u32ImageWidth;
  38. } DEHAZE_DBG_ATTR_S;
  39. typedef struct hiDEHAZE_DBG_STATUS_S
  40. {
  41. HI_U16 AirPre[FRAMECNT][3];
  42. HI_U16 maxdc;
  43. HI_U32 u32CurFrmNum;
  44. HI_U16 au8DehazeMinDout[DEFOG_ZONE_NUM];
  45. HI_U16 MinAdapt[DEFOG_ZONE_NUM];
  46. HI_U16 tmpr_min_flt[DEFOG_ZONE_NUM];
  47. HI_U16 v_blur_flt_dout[DEFOG_ZONE_NUM];
  48. HI_U16 pre_dc[DEFOG_ZONE_NUM];
  49. HI_U16 flt_a[3];
  50. HI_U16 defog_strength;
  51. HI_U16 curve_index;
  52. HI_U32 u32FrmNumBgn;
  53. HI_U32 u32FrmNumEnd;
  54. HI_U32 CurrA[3];
  55. HI_U32 au32DehazeMaxStatDout[DEFOG_ZONE_NUM];
  56. HI_U8 Lut[DEHAZE_CURVE_MAX_NODE];
  57. } DEHAZE_DBG_STATUS_S;
  58. typedef struct hiDEHAZE_DBG_CTRL_S
  59. {
  60. HI_BOOL bPreDebugEn;
  61. HI_U64 u64PrePhyAddr;
  62. HI_U32 u32PreDepth;
  63. HI_U32 u32PreSize;
  64. HI_BOOL bDebugEn;
  65. HI_BOOL bDebugOut;
  66. HI_BOOL bDbgCompleted;
  67. HI_U64 u64PhyAddr;
  68. HI_U32 u32Depth;
  69. HI_U32 u32Size;
  70. HI_U32 u32DbgFrmCnt;
  71. DEHAZE_DBG_ATTR_S *pstDbgAttr;
  72. DEHAZE_DBG_STATUS_S *pstDbgStatus;
  73. } DEHAZE_DBG_CTRL_S;
  74. #ifdef __cplusplus
  75. #if __cplusplus
  76. }
  77. #endif
  78. #endif /* End of #ifdef __cplusplus */
  79. #endif