ax_isp_common.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. /**********************************************************************************
  2. *
  3. * Copyright (c) 2019-2020 Beijing AXera Technology Co., Ltd. All Rights Reserved.
  4. *
  5. * This source file is the property of Beijing AXera Technology Co., Ltd. and
  6. * may not be copied or distributed in any isomorphic form without the prior
  7. * written consent of Beijing AXera Technology Co., Ltd.
  8. *
  9. **********************************************************************************/
  10. #ifndef __AX_ISP_CONNON_H__
  11. #define __AX_ISP_CONNON_H__
  12. #include "ax_base_type.h"
  13. #include "ax_global_type.h"
  14. #define DEF_VIN_DEV_MAX_NUM (4)
  15. #define DEF_VIN_PIPE_MAX_NUM (8)
  16. #define DEF_VOUT_DEV_MAX_NUM (3)
  17. #define DEF_DEV_CHN_OUTPUT_MAX (3)
  18. #define AX_HDR_CHN_NUM (4)
  19. #define AX_ISP_BAYER_CHN_NUM (4)
  20. #define AX_VIN_COMPMASK_NUM (2)
  21. #define AX_VIN_SYNC_CODE_NUM (4)
  22. #define AX_VIN_LVDS_LANE_NUM (16)
  23. typedef enum {
  24. AX_DEV_SINK_INVALID = -1,
  25. AX_DEV_SOURCE_SNS_0 = 0, // ife data source from sensor 0
  26. AX_DEV_SOURCE_SNS_1 = 1, // ife data source from sensor 1
  27. AX_DEV_SOURCE_SNS_2 = 2, // ife data source from sensor 2
  28. AX_DEV_SOURCE_SNS_3 = 3, // ife data source from sensor 3
  29. AX_DEV_SINK_MAX
  30. } AX_DEV_SOURCE_E;
  31. typedef enum {
  32. AX_SNS_MODE_NONE = 0,
  33. AX_SNS_LINEAR_MODE = 1,
  34. AX_SNS_HDR_2X_MODE = 2,
  35. AX_SNS_HDR_3X_MODE = 3,
  36. AX_SNS_HDR_4X_MODE = 4,
  37. AX_SNS_HDR_MODE_BUTT
  38. } AX_SNS_HDR_MODE_E;
  39. typedef enum {
  40. AX_SNS_HDR_OUTPUT_MODE_FRAME_BASED = 0,
  41. AX_SNS_HDR_OUTPUT_MODE_DOL = 1,
  42. AX_SNS_OUTPUT_MODE_BUTT
  43. } AX_SNS_HDR_OUTPUT_MODE_E;
  44. typedef enum {
  45. AX_SNS_HDR_FRAME_L = 0,
  46. AX_SNS_HDR_FRAME_S = 1,
  47. AX_SNS_HDR_FRAME_VS = 2,
  48. AX_SNS_HDR_FRAME_MAX
  49. } AX_SNS_HDR_FRAME_E;
  50. typedef enum {
  51. AX_SNS_TYPE_INVALID = -1,
  52. AX_SNS_TYPE_MIPI = 0, // MIPI sensor(data type : raw)
  53. AX_SNS_TYPE_MIPI_YUV = 1, // MIPI sensor(data type : yuv)
  54. AX_SNS_TYPE_SUB_LVDS = 2, // Sub-LVDS sensor
  55. AX_SNS_TYPE_DVP = 3, // DVP sensor
  56. AX_SNS_TYPE_BT601 = 4, // BT.601 sensor
  57. AX_SNS_TYPE_BT656 = 5, // BT.656 sensor
  58. AX_SNS_TYPE_BT1120 = 6, // BT.1120 sensor
  59. AX_SNS_TYPE_TPG = 7, // ISP TPG test pattern
  60. AX_SNS_TYPE_MAX
  61. } AX_SNS_TYPE_E;
  62. typedef enum {
  63. AX_RT_RAW8 = 8, // raw8, 8-bit per pixel
  64. AX_RT_RAW10 = 10, // raw10, 10-bit per pixel
  65. AX_RT_RAW12 = 12, // raw12, 12-bit per pixel
  66. AX_RT_RAW14 = 14, // raw14, 14-bit per pixel
  67. AX_RT_RAW16 = 16, // raw16, 16-bit per pixel
  68. AX_RT_YUV422 = 20, // yuv422
  69. AX_RT_YUV420 = 21, // yuv420
  70. } AX_RAW_TYPE_E;
  71. typedef enum {
  72. AX_BP_RGGB = 0, // R Gr Gb B bayer pattern
  73. AX_BP_GRBG = 1, // Gr R B Gb bayer pattern
  74. AX_BP_GBRG = 2, // Gb B R Gr byaer pattern
  75. AX_BP_BGGR = 3, // B Gb Gr R byaer pattern
  76. } AX_BAYER_PATTERN_E;
  77. typedef enum {
  78. AX_SNS_GAIN_MODE_INVALID = -1,
  79. AX_SNS_GAIN_MODE_HCG = 0, // sensor gain mode HCG
  80. AX_SNS_GAIN_MODE_LCG = 1, // sensor gain mode LCG
  81. AX_SNS_GAIN_MODE_MAX
  82. } AX_SNS_GAIN_MODE_E;
  83. typedef enum {
  84. AX_SNS_SKIP_FRAME_NO_SKIP = 0, // no frame skip for sif sensor
  85. AX_SNS_SKIP_FRAME_1D2 = 1, // 1/2 frame skip for sif sensor
  86. AX_SNS_SKIP_FRAME_1D3 = 2, // 1/3 frame skip for sif sensor
  87. AX_SNS_SKIP_FRAME_1D4 = 3, // 1/4 frame skip for sif sensor
  88. } AX_SNS_SKIP_FRAME_E ;
  89. typedef enum {
  90. AX_SNS_NORMAL = 0,
  91. AX_SNS_DOL_HDR = 1,
  92. AX_SNS_BME_HDR = 2,
  93. AX_SNS_QUAD_BAYER_NO_HDR = 3,
  94. AX_SNS_QUAD_BAYER_2_HDR_MODE0 = 4,
  95. AX_SNS_QUAD_BAYER_2_HDR_MODE1 = 5,
  96. AX_SNS_QUAD_BAYER_2_HDR_MODE2 = 6,
  97. AX_SNS_QUAD_BAYER_3_HDR_MODE3 = 7
  98. } AX_SNS_OUTPUT_MODE_E;
  99. typedef struct _AX_WIN_AREA_T_{
  100. AX_U32 nStartX;
  101. AX_U32 nStartY;
  102. AX_U32 nWidth;
  103. AX_U32 nHeight;
  104. } AX_WIN_AREA_T;
  105. #endif // __AX_ISP_CONNON_H__