• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 HiSilicon (Shanghai) Technologies CO., LIMITED.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef __HI_ISP_DEFINES_H__
17 #define __HI_ISP_DEFINES_H__
18 
19 #ifdef __cplusplus
20 #if __cplusplus
21 extern "C" {
22 #endif
23 #endif /* End of #ifdef __cplusplus */
24 
25 /* isp sys part */
26 #define ISP_STRIPING_MAX_NUM                      3
27 #define ISP_NORMAL_BLOCK_NUM                      1
28 #define ISP_DEFAULT_BLOCK_NUM                     2
29 #define ISP_SBS_BLOCK_NUM                         2
30 
31 #define ISP_BE0_PIPE_ID                           0
32 #define ISP_BE1_PIPE_ID                           8
33 #define ISP_MAX_BE_NUM                            1
34 #define ISP_MAX_STITCH_NUM                        1
35 
36 #define ISP_MAX_PHY_PIPE_NUM                      4
37 #define ISP_MAX_VIR_PIPE_NUM                      1
38 #define ISP_MAX_PIPE_NUM                          (ISP_MAX_PHY_PIPE_NUM + ISP_MAX_VIR_PIPE_NUM)
39 
40 #define ISP_STRIPING_OVERLAP_DEFAULT              256
41 
42 #define ISP_WDR_CHN_MAX                           4
43 #define ISP_SUPPORT_DE_MODULE                     1
44 
45 #define SENSOR_RES_WIDTH_MAX                      4608
46 #define SENSOR_RES_HEIGHT_MAX                     4608
47 #define ISP_RES_WIDTH_MAX                         4608, 3840, 2048, 2048 /* need change when pipe num is change */
48 #define ISP_RES_HEIGHT_MAX                        4608, 3840, 2048, 2048 /* need change when pipe num is change */
49 
50 /* isp alg part */
51 #define HI_ISP_CLUT_LUT_LENGTH                    5508
52 #define HI_ISP_CA_YRATIO_LUT_LENGTH               128
53 
54 #define STATIC_DP_COUNT_NORMAL                    2048
55 #define STATIC_DP_COUNT_MAX                       (STATIC_DP_COUNT_NORMAL * ISP_STRIPING_MAX_NUM)
56 #define ISP_SUPPORT_OFFLINE_DPC_CALIBRATION       1
57 #define ISP_DPC_SET_NUM                           3
58 #define ISP_DPC_LCH_SET_NUM                       5
59 #define ISP_DPC_MAX_CHN_NUM                       4
60 
61 #define HI_ISP_SPECAWB_FACT_ELEMENT_LUT0          4096
62 #define HI_ISP_SPECAWB_FACT_ELEMENT_LUT1          4096
63 #define HI_ISP_SPECAWB_FACT_ELEMENT_LUT2          4096
64 #define HI_ISP_SPECAWB_FACT_ELEMENT_LUT3          4096
65 #define HI_ISP_SPECAWB_FACT_ELEMENT_LUT4          4096
66 #define HI_ISP_SPECAWB_FACT_ELEMENT_LUT5          4096
67 #define HI_ISP_SPECAWB_FACT_ELEMENT_LUT6          4096
68 #define HI_ISP_SPECAWB_WB_CNVTBL_LUT              16384
69 #define HI_ISP_SPECAWB_KELDBB_LUT                 16384
70 #define HI_ISP_SPECAWB_BBL_LUT                    240
71 #define HI_ISP_SPECAWB_CAA_LUT1                   16384
72 #define HI_ISP_SPECAWB_CAA_LUT2                   16384
73 #define HI_ISP_SPECAWB_CAA_LUT3                   16384
74 #define ISP_SPECAWB_BUF_SIZE                      110832
75 
76 #define AWB_ZONE_BIN                              1
77 #define AWB_LIB_NUM                               (ISP_MAX_PIPE_NUM)
78 #define AE_LIB_NUM                                (ISP_MAX_PIPE_NUM)
79 
80 #define HI_ISP_SHARPEN_RGAIN                      31
81 #define HI_ISP_SHARPEN_RGAIN_MAX                  31
82 #define HI_ISP_SHARPEN_RGAIN_BIT                  31
83 #define HI_ISP_SHARPEN_GGAIN                      32
84 #define HI_ISP_SHARPEN_GGAIN_MAX                  255
85 #define HI_ISP_SHARPEN_GGAIN_BIT                  255
86 #define HI_ISP_SHARPEN_BGAIN                      31
87 #define HI_ISP_SHARPEN_BGAIN_MAX                  31
88 #define HI_ISP_SHARPEN_BGAIN_BIT                  31
89 #define HI_ISP_SHARPEN_LUMAWGT_MAX                127
90 #define HI_ISP_SHARPEN_LUMAWGT                    127
91 #define HI_ISP_SHARPEN_LUMAWGT_BIT                127
92 #define HI_ISP_SHARPEN_EdgeFiltMaxCap             18
93 #define HI_ISP_SHARPEN_EdgeFiltMaxCap_MAX         47
94 #define HI_ISP_SHARPEN_EdgeFiltMaxCap_BIT         63
95 
96 #define GAMMA_REG_NODE_NUM                        257
97 #define GAMMA_OUTSEG_NUM                          8
98 
99 #define HI_ISP_DRC_STRENGTH_MAX                   1023
100 #define HI_ISP_DRC_SPA_FLT_COEF_MAX               5
101 
102 #define HI_ISP_DEMOSAIC_DETAIL_SMOOTH_RANGE_MAX   7
103 #define HI_ISP_DEMOSAIC_DETAIL_SMOOTH_RANGE_MIN   1
104 #define HI_ISP_DEMOSAIC_NONDIR_MFDETALEHC_STR_MAX 127
105 #define HI_ISP_DEMOSAIC_COLOR_NOISE_THDY_MAX       255
106 #define HI_ISP_DEMOSAIC_COLOR_NOISE_STRY_MAX       255
107 
108 #define HI_ISP_LDCI_HEPOSWGT_MAX                  255
109 #define HI_ISP_LDCI_HENEGWGT_MAX                  255
110 
111 #define HI_ISP_PREGAMMA_LUT_MAX                   0xFFFFF
112 #define HI_ISP_PREGAMMA_SEG_NUM                   8
113 
114 #define EXPANDER_NODE_NUM                         257
115 
116 #define DEFOG_ZONE_ROW                            32
117 #define DEFOG_ZONE_COLUMN                         32
118 #define DEFOG_ZONE_NUM                            1024
119 #define DEFOG_MAX_ZONE_NUM                        1024
120 #define DEFOG_LUT_NUM                             256
121 #define DEFOG_REG_NUM                             2
122 #define HI_ISP_GE_MAX_CHN_NUM                     4
123 #define HI_ISP_FPN_CHN_NUM                        4
124 
125 #define HI_ISP_LSC_MESHSTR_MAX                    65535
126 #define HI_ISP_LSC_DEFAULT_MESH_STRENGTH          4096
127 #define HI_ISP_LSC_DEFAULT_WEIGHT                 256
128 #define HI_ISP_LSC_GRID_COL                       33
129 #define HI_ISP_LSC_GRID_ROW                       33
130 #define HI_ISP_LSC_GRID_POINTS                    (HI_ISP_LSC_GRID_COL * HI_ISP_LSC_GRID_ROW)
131 #define HI_ISP_LSC_DEFAULT_MESH_SCALE             3
132 #define hi_isp_lsc_xgrid_width_max(x)             ((x) / 4 - 60)
133 #define hi_isp_lsc_ygrid_width_max(x)             ((x) / 4 - 60)
134 #define HI_ISP_LSC_MESHSCALE_NUM                  8
135 #define HI_ISP_LSC_MESHSCALE0_DEF_GAIN            512
136 #define HI_ISP_LSC_MESHSCALE1_DEF_GAIN            256
137 #define HI_ISP_LSC_MESHSCALE2_DEF_GAIN            128
138 #define HI_ISP_LSC_MESHSCALE3_DEF_GAIN            64
139 #define HI_ISP_LSC_MAX_GAIN                       1023
140 #define HI_ISP_LSC_GAIN_BITWIDTH                  10
141 
142 #define AF_GAMMA_VALUE_MAX                        6
143 #define HI_EXT_SYSTEM_MANUAL_DEHAZE_HBLK_DEFAULT  32
144 #define HI_EXT_SYSTEM_MANUAL_DEHAZE_VBLK_DEFAULT  32
145 
146 #define HI_ISP_CR_SLOPE_MAX                       14
147 #define HI_ISP_CR_THR_MAX                         16383
148 #define HI_ISP_CR_NPOFFSET_MAX                    16383
149 #define HI_ISP_CR_NPOFFSET_MIN                    512
150 
151 #define HI_ISP_FE_AF_SUPPORT                      0
152 #define HI_ISP_BE_AF_SUPPORT                      1
153 #define HI_ISP_AF_ENABLE_MASK                     ((HI_ISP_BE_AF_SUPPORT << 1) + HI_ISP_FE_AF_SUPPORT)
154 
155 #ifdef __cplusplus
156 #if __cplusplus
157 }
158 #endif
159 #endif /* End of #ifdef __cplusplus */
160 
161 #endif /* __HI_ISP_DEFINES_H__ */
162