xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/include/iq_parser_v2/adrc_head.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * adrc_head.h
3  *
4  *  Copyright (c) 2021 Rockchip Corporation
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19 
20 #ifndef __CALIBDBV2_ADRC_HEADER_H__
21 #define __CALIBDBV2_ADRC_HEADER_H__
22 
23 #include "adehaze_head.h"
24 
25 #define ADRC_Y_NUM             17
26 #define ADRC_ENVLV_STEP_MAX    13
27 
28 // drc v10
29 typedef struct AdrcGain_s {
30     // M4_ARRAY_DESC("CtrlData", "f32", M4_SIZE(1,13), M4_RANGE(0,10000000), "[0, 0.005, 0.01, 0.05, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1]",M4_DIGIT(3), M4_DYNAMIC(0), 0)
31     float CtrlData[ADRC_ENVLV_STEP_MAX];
32     // M4_ARRAY_DESC("DrcGain", "f32", M4_SIZE(1,13), M4_RANGE(1,8), "[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]",M4_DIGIT(2), M4_DYNAMIC(0), 0)
33     float DrcGain[ADRC_ENVLV_STEP_MAX];
34     // M4_ARRAY_DESC("Alpha", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]",M4_DIGIT(2), M4_DYNAMIC(0), 0)
35     float Alpha[ADRC_ENVLV_STEP_MAX];
36     // M4_ARRAY_DESC("Clip", "f32", M4_SIZE(1,13), M4_RANGE(0,64), "[16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]",M4_DIGIT(2), M4_DYNAMIC(0), 0)
37     float Clip[ADRC_ENVLV_STEP_MAX];
38 } AdrcGain_t;
39 
40 typedef struct HighLight_s {
41     // M4_ARRAY_DESC("CtrlData", "f32", M4_SIZE(1,13), M4_RANGE(0,10000000), "[0, 0.005, 0.01, 0.05, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1]",M4_DIGIT(3), M4_DYNAMIC(0), 0)
42     float CtrlData[ADRC_ENVLV_STEP_MAX];
43     // M4_ARRAY_DESC("Strength", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]",M4_DIGIT(2), M4_DYNAMIC(0), 0)
44     float Strength[ADRC_ENVLV_STEP_MAX];
45 } HighLight_t;
46 
47 typedef struct LocalData_s{
48     // M4_ARRAY_DESC("CtrlData", "f32", M4_SIZE(1,13), M4_RANGE(0,10000000), "[0, 0.005, 0.01, 0.05, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1]",M4_DIGIT(2), M4_DYNAMIC(0), 0)
49     float CtrlData[ADRC_ENVLV_STEP_MAX];
50     // M4_ARRAY_DESC("LocalWeit", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]",M4_DIGIT(2), M4_DYNAMIC(0), 0)
51     float LocalWeit[ADRC_ENVLV_STEP_MAX];
52     // M4_ARRAY_DESC("GlobalContrast", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]",M4_DIGIT(3), M4_DYNAMIC(0), 0)
53     float GlobalContrast[ADRC_ENVLV_STEP_MAX];
54     // M4_ARRAY_DESC("LoLitContrast", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]",M4_DIGIT(3), M4_DYNAMIC(0), 0)
55     float LoLitContrast[ADRC_ENVLV_STEP_MAX];
56 } LocalData_t;
57 
58 typedef struct local_s {
59     // M4_ARRAY_TABLE_DESC("LocalTMOData", "array_table_ui", "none")
60     LocalData_t LocalTMOData;
61     // M4_NUMBER_DESC("curPixWeit", "f32", M4_RANGE(0,1), "0.37", M4_DIGIT(3))
62     float curPixWeit;
63     // M4_NUMBER_DESC("preFrameWeit", "f32", M4_RANGE(0,1), "1.0", M4_DIGIT(3))
64     float preFrameWeit;
65     // M4_NUMBER_DESC("Range_force_sgm", "f32", M4_RANGE(0,1), "0.0", M4_DIGIT(4))
66     float Range_force_sgm;
67     // M4_NUMBER_DESC("Range_sgm_cur", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
68     float Range_sgm_cur;
69     // M4_NUMBER_DESC("Range_sgm_pre", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
70     float Range_sgm_pre;
71     // M4_NUMBER_DESC("Space_sgm_cur", "u16", M4_RANGE(0,4095), "4068", M4_DIGIT(0))
72     int Space_sgm_cur;
73     // M4_NUMBER_DESC("Space_sgm_pre", "u16", M4_RANGE(0,4095), "3968", M4_DIGIT(0))
74     int Space_sgm_pre;
75 } local_t;
76 
77 typedef enum CompressMode_e {
78     COMPRESS_AUTO     = 0,
79     COMPRESS_MANUAL   = 1,
80 } CompressMode_t;
81 
82 typedef struct Compress_s {
83     // M4_ENUM_DESC("Mode", "CompressMode_t", "COMPRESS_AUTO")
84     CompressMode_t Mode;
85     // M4_ARRAY_MARK_DESC("Manual_curve", "u32", M4_SIZE(1,17),  M4_RANGE(0, 8192), "[0, 558, 1087, 1588, 2063, 2515, 2944, 3353, 3744, 4473, 5139, 5751, 6316, 6838, 7322, 7772, 8192]", M4_DIGIT(0), M4_DYNAMIC(0), "drc_compress_curve")
86     uint16_t       Manual_curve[ADRC_Y_NUM];
87 } Compress_t;
88 
89 typedef struct CalibDbV2_Adrc_V10_s {
90     // M4_BOOL_DESC("Enable", "1")
91     bool Enable;
92     // M4_ENUM_DESC("CtrlDataType", "CtrlDataType_t", "CTRLDATATYPE_ENVLV")
93     CtrlDataType_t CtrlDataType;
94     // M4_ARRAY_TABLE_DESC("DrcGain", "array_table_ui", "none")
95     AdrcGain_t DrcGain;
96     // M4_ARRAY_TABLE_DESC("HiLight", "array_table_ui", "none")
97     HighLight_t HiLight;
98     // M4_STRUCT_DESC("LocalTMOSetting", "normal_ui_style")
99     local_t LocalTMOSetting;
100     // M4_STRUCT_DESC("CompressSetting", "normal_ui_style")
101     Compress_t CompressSetting;
102     // M4_ARRAY_DESC("Scale_y", "u16", M4_SIZE(1,17),  M4_RANGE(0, 2048), "[0,2,20,76,193,381,631,772,919,1066,1211,1479,1700,1863,1968,2024,2048]", M4_DIGIT(0), M4_DYNAMIC(0))
103     int Scale_y[ADRC_Y_NUM];
104     // M4_NUMBER_DESC("ByPassThr", "f32", M4_RANGE(0,1), "0", M4_DIGIT(4))
105     float ByPassThr;
106     // M4_NUMBER_DESC("Edge_Weit", "f32",  M4_RANGE(0,1), "1",M4_DIGIT(3))
107     float Edge_Weit;
108     // M4_BOOL_DESC("OutPutLongFrame", "0")
109     bool  OutPutLongFrame;
110     // M4_NUMBER_DESC("IIR_frame", "u8", M4_RANGE(1,1000), "2", M4_DIGIT(0))
111     int IIR_frame;
112     // M4_NUMBER_DESC("damp", "f32", M4_RANGE(0,1), "0.9", M4_DIGIT(3))
113     float damp;
114 } CalibDbV2_Adrc_V10_t;
115 
116 typedef struct CalibDbV2_drc_V10_s {
117     // M4_STRUCT_DESC("DrcTuningPara", "normal_ui_style")
118     CalibDbV2_Adrc_V10_t DrcTuningPara;
119 } CalibDbV2_drc_V10_t;
120 
121 // drc v11
122 typedef struct LocalDataV2_s{
123     // M4_ARRAY_DESC("CtrlData", "f32", M4_SIZE(1,13), M4_RANGE(0,10000000), "[0, 0.005, 0.01, 0.05, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1]",M4_DIGIT(2), M4_DYNAMIC(0), 0)
124     float CtrlData[ADRC_ENVLV_STEP_MAX];
125     // M4_ARRAY_DESC("LocalWeit", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]",M4_DIGIT(2), M4_DYNAMIC(0), 0)
126     float LocalWeit[ADRC_ENVLV_STEP_MAX];
127     // M4_ARRAY_DESC("LocalAutoEnable", "u8", M4_SIZE(1,13), M4_RANGE(0,1), "[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]",M4_DIGIT(0), M4_DYNAMIC(0), 0)
128     int LocalAutoEnable[ADRC_ENVLV_STEP_MAX];
129     // M4_ARRAY_DESC("LocalAutoWeit", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[0.037477, 0.037477, 0.037477, 0.037477, 0.037477, 0.037477, 0.037477, 0.037477, 0.037477, 0.037477, 0.037477, 0.037477, 0.037477]",M4_DIGIT(5), M4_DYNAMIC(0), 0)
130     float LocalAutoWeit[ADRC_ENVLV_STEP_MAX];
131     // M4_ARRAY_DESC("GlobalContrast", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]",M4_DIGIT(3), M4_DYNAMIC(0), 0)
132     float GlobalContrast[ADRC_ENVLV_STEP_MAX];
133     // M4_ARRAY_DESC("LoLitContrast", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]",M4_DIGIT(3), M4_DYNAMIC(0), 0)
134     float LoLitContrast[ADRC_ENVLV_STEP_MAX];
135 } LocalDataV2_t;
136 
137 typedef struct localV11_s {
138     // M4_ARRAY_TABLE_DESC("LocalData", "array_table_ui", "none")
139     LocalDataV2_t LocalData;
140     // M4_NUMBER_DESC("curPixWeit", "f32", M4_RANGE(0,1), "0.37", M4_DIGIT(3))
141     float curPixWeit;
142     // M4_NUMBER_DESC("preFrameWeit", "f32", M4_RANGE(0,1), "1.0", M4_DIGIT(3))
143     float preFrameWeit;
144     // M4_NUMBER_DESC("Range_force_sgm", "f32", M4_RANGE(0,1), "0.0", M4_DIGIT(4))
145     float Range_force_sgm;
146     // M4_NUMBER_DESC("Range_sgm_cur", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
147     float Range_sgm_cur;
148     // M4_NUMBER_DESC("Range_sgm_pre", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
149     float Range_sgm_pre;
150     // M4_NUMBER_DESC("Space_sgm_cur", "u16", M4_RANGE(0,4095), "4068", M4_DIGIT(0))
151     int Space_sgm_cur;
152     // M4_NUMBER_DESC("Space_sgm_pre", "u16", M4_RANGE(0,4095), "3968", M4_DIGIT(0))
153     int Space_sgm_pre;
154 } localV11_t;
155 
156 typedef struct CalibDbV2_Adrc_V11_s {
157     // M4_BOOL_DESC("Enable", "1")
158     bool Enable;
159     // M4_ENUM_DESC("CtrlDataType", "CtrlDataType_t", "CTRLDATATYPE_ENVLV")
160     CtrlDataType_t CtrlDataType;
161     // M4_ARRAY_TABLE_DESC("DrcGain", "array_table_ui", "none")
162     AdrcGain_t DrcGain;
163     // M4_ARRAY_TABLE_DESC("HiLight", "array_table_ui", "none")
164     HighLight_t HiLight;
165     // M4_STRUCT_DESC("LocalSetting", "normal_ui_style")
166     localV11_t LocalSetting;
167     // M4_STRUCT_DESC("CompressSetting", "normal_ui_style")
168     Compress_t CompressSetting;
169     // M4_ARRAY_DESC("Scale_y", "u16", M4_SIZE(1,17),  M4_RANGE(0, 2048), "[0,2,20,76,193,381,631,772,919,1066,1211,1479,1700,1863,1968,2024,2048]", M4_DIGIT(0), M4_DYNAMIC(0))
170     int Scale_y[ADRC_Y_NUM];
171     // M4_NUMBER_DESC("ByPassThr", "f32", M4_RANGE(0,1), "0", M4_DIGIT(4))
172     float ByPassThr;
173     // M4_NUMBER_DESC("Edge_Weit", "f32",  M4_RANGE(0,1), "1",M4_DIGIT(3))
174     float Edge_Weit;
175     // M4_BOOL_DESC("OutPutLongFrame", "0")
176     bool  OutPutLongFrame;
177     // M4_NUMBER_DESC("IIR_frame", "u8", M4_RANGE(1,1000), "2", M4_DIGIT(0))
178     int IIR_frame;
179     // M4_NUMBER_DESC("damp", "f32", M4_RANGE(0,1), "0.9", M4_DIGIT(3))
180     float damp;
181 } CalibDbV2_Adrc_V11_t;
182 
183 typedef struct CalibDbV2_drc_V11_s {
184     // M4_STRUCT_DESC("DrcTuningPara", "normal_ui_style")
185     CalibDbV2_Adrc_V11_t DrcTuningPara;
186 } CalibDbV2_drc_V11_t;
187 
188 // drc v12
189 typedef struct MotionData_s {
190     // M4_ARRAY_DESC("MotionCoef", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[0, 0.005, 0.01, 0.05, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1]",M4_DIGIT(2), M4_DYNAMIC(0), 0)
191     float MotionCoef[ADRC_ENVLV_STEP_MAX];
192     // M4_ARRAY_DESC("MotionStr", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]",M4_DIGIT(3), M4_DYNAMIC(0), 0)
193     float MotionStr[ADRC_ENVLV_STEP_MAX];
194 } MotionData_t;
195 
196 typedef struct localV12_s {
197     // M4_ARRAY_TABLE_DESC("LocalData", "array_table_ui", "none")
198     LocalDataV2_t LocalData;
199     // M4_ARRAY_TABLE_DESC("MotionData", "array_table_ui", "none")
200     MotionData_t MotionData;
201     // M4_NUMBER_DESC("curPixWeit", "f32", M4_RANGE(0,1), "0.37", M4_DIGIT(3))
202     float curPixWeit;
203     // M4_NUMBER_DESC("preFrameWeit", "f32", M4_RANGE(0,1), "1.0", M4_DIGIT(3))
204     float preFrameWeit;
205     // M4_NUMBER_DESC("Range_force_sgm", "f32", M4_RANGE(0,1), "0.0", M4_DIGIT(4))
206     float Range_force_sgm;
207     // M4_NUMBER_DESC("Range_sgm_cur", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
208     float Range_sgm_cur;
209     // M4_NUMBER_DESC("Range_sgm_pre", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
210     float Range_sgm_pre;
211     // M4_NUMBER_DESC("Space_sgm_cur", "u16", M4_RANGE(0,4095), "4068", M4_DIGIT(0))
212     int Space_sgm_cur;
213     // M4_NUMBER_DESC("Space_sgm_pre", "u16", M4_RANGE(0,4095), "3968", M4_DIGIT(0))
214     int Space_sgm_pre;
215 } localV12_t;
216 
217 typedef struct HighLightDataV12_s {
218     // M4_ARRAY_DESC("CtrlData", "f32", M4_SIZE(1,13), M4_RANGE(0,10000000), "[0, 0.005, 0.01, 0.05, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1]",M4_DIGIT(3), M4_DYNAMIC(0), 0)
219     float CtrlData[ADRC_ENVLV_STEP_MAX];
220     // M4_ARRAY_DESC("Strength", "f32", M4_SIZE(1,13), M4_RANGE(0,1), "[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]",M4_DIGIT(2), M4_DYNAMIC(0), 0)
221     float Strength[ADRC_ENVLV_STEP_MAX];
222     // M4_ARRAY_DESC("gas_t", "f32", M4_SIZE(1,13), M4_RANGE(0,2), "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]",M4_DIGIT(3), M4_DYNAMIC(0), 0)
223     float gas_t[ADRC_ENVLV_STEP_MAX];
224 } HighLightDataV12_t;
225 
226 typedef struct HighLightV12_s {
227     // M4_ARRAY_TABLE_DESC("HiLightData", "array_table_ui", "none")
228     HighLightDataV12_t HiLightData;
229     // M4_NUMBER_DESC("gas_l0", "u8", M4_RANGE(0,64), "24", M4_DIGIT(0))
230     int gas_l0;
231     // M4_NUMBER_DESC("gas_l1", "u8", M4_RANGE(0,64), "10", M4_DIGIT(0))
232     int gas_l1;
233     // M4_NUMBER_DESC("gas_l2", "u8", M4_RANGE(0,64), "10", M4_DIGIT(0))
234     int gas_l2;
235     // M4_NUMBER_DESC("gas_l3", "u8", M4_RANGE(0,64), "5", M4_DIGIT(0))
236     int gas_l3;
237 } HighLightV12_t;
238 
239 typedef struct CalibDbV2_Adrc_V12_s {
240     // M4_BOOL_DESC("Enable", "1")
241     bool Enable;
242     // M4_ENUM_DESC("CtrlDataType", "CtrlDataType_t", "CTRLDATATYPE_ENVLV")
243     CtrlDataType_t CtrlDataType;
244     // M4_ARRAY_TABLE_DESC("DrcGain", "array_table_ui", "none")
245     AdrcGain_t DrcGain;
246     // M4_ARRAY_TABLE_DESC("HiLight", "normal_ui_style")
247     HighLightV12_t HiLight;
248     // M4_STRUCT_DESC("LocalSetting", "normal_ui_style")
249     localV12_t LocalSetting;
250     // M4_STRUCT_DESC("CompressSetting", "normal_ui_style")
251     Compress_t CompressSetting;
252     // M4_ARRAY_DESC("Scale_y", "u16", M4_SIZE(1,17),  M4_RANGE(0, 2048), "[0,2,20,76,193,381,631,772,919,1066,1211,1479,1700,1863,1968,2024,2048]", M4_DIGIT(0), M4_DYNAMIC(0))
253     int Scale_y[ADRC_Y_NUM];
254     // M4_NUMBER_DESC("ByPassThr", "f32", M4_RANGE(0,1), "0", M4_DIGIT(4))
255     float ByPassThr;
256     // M4_NUMBER_DESC("Edge_Weit", "f32",  M4_RANGE(0,1), "1",M4_DIGIT(3))
257     float Edge_Weit;
258     // M4_BOOL_DESC("OutPutLongFrame", "0")
259     bool OutPutLongFrame;
260     // M4_NUMBER_DESC("IIR_frame", "u8", M4_RANGE(1,1000), "2", M4_DIGIT(0))
261     int IIR_frame;
262     // M4_NUMBER_DESC("damp", "f32", M4_RANGE(0,1), "0.9", M4_DIGIT(3))
263     float damp;
264 } CalibDbV2_Adrc_V12_t;
265 
266 typedef struct CalibDbV2_drc_V12_s {
267     // M4_STRUCT_DESC("DrcTuningPara", "normal_ui_style")
268     CalibDbV2_Adrc_V12_t DrcTuningPara;
269 } CalibDbV2_drc_V12_t;
270 
271 typedef struct localV12Lite_s {
272     // M4_ARRAY_TABLE_DESC("LocalData", "array_table_ui", "none")
273     LocalDataV2_t LocalData;
274     // M4_ARRAY_TABLE_DESC("MotionData", "array_table_ui", "none")
275     MotionData_t MotionData;
276     // M4_NUMBER_DESC("curPixWeit", "f32", M4_RANGE(0,1), "0.37", M4_DIGIT(3))
277     float curPixWeit;
278     // M4_NUMBER_DESC("Range_force_sgm", "f32", M4_RANGE(0,1), "0.0", M4_DIGIT(4))
279     float Range_force_sgm;
280     // M4_NUMBER_DESC("Range_sgm_cur", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
281     float Range_sgm_cur;
282     // M4_NUMBER_DESC("Space_sgm_cur", "u16", M4_RANGE(0,4095), "4068", M4_DIGIT(0))
283     int Space_sgm_cur;
284 } localV12Lite_t;
285 
286 typedef struct CalibDbV2_Adrc_v12_lite_s {
287     // M4_BOOL_DESC("Enable", "1")
288     bool Enable;
289     // M4_ENUM_DESC("CtrlDataType", "CtrlDataType_t", "CTRLDATATYPE_ENVLV")
290     CtrlDataType_t CtrlDataType;
291     // M4_ARRAY_TABLE_DESC("DrcGain", "array_table_ui", "none")
292     AdrcGain_t DrcGain;
293     // M4_ARRAY_TABLE_DESC("HiLight", "normal_ui_style")
294     HighLightV12_t HiLight;
295     // M4_STRUCT_DESC("LocalSetting", "normal_ui_style")
296     localV12Lite_t LocalSetting;
297     // M4_STRUCT_DESC("CompressSetting", "normal_ui_style")
298     Compress_t CompressSetting;
299     // M4_ARRAY_DESC("Scale_y", "u16", M4_SIZE(1,17),  M4_RANGE(0, 2048), "[0,2,20,76,193,381,631,772,919,1066,1211,1479,1700,1863,1968,2024,2048]", M4_DIGIT(0), M4_DYNAMIC(0))
300     int Scale_y[ADRC_Y_NUM];
301     // M4_NUMBER_DESC("ByPassThr", "f32", M4_RANGE(0,1), "0", M4_DIGIT(4))
302     float ByPassThr;
303     // M4_NUMBER_DESC("Edge_Weit", "f32",  M4_RANGE(0,1), "1",M4_DIGIT(3))
304     float Edge_Weit;
305     // M4_BOOL_DESC("OutPutLongFrame", "0")
306     bool OutPutLongFrame;
307     // M4_NUMBER_DESC("IIR_frame", "u8", M4_RANGE(1,1000), "2", M4_DIGIT(0))
308     int IIR_frame;
309     // M4_NUMBER_DESC("damp", "f32", M4_RANGE(0,1), "0.9", M4_DIGIT(3))
310     float damp;
311 } CalibDbV2_Adrc_v12_lite_t;
312 
313 typedef struct CalibDbV2_drc_v12_lite_s {
314     // M4_STRUCT_DESC("DrcTuningPara", "normal_ui_style")
315     CalibDbV2_Adrc_v12_lite_t DrcTuningPara;
316 } CalibDbV2_drc_v12_lite_t;
317 
318 #endif
319