1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
| #define ADRC_Y_NUM 17
|
|
| typedef struct AdrcGain_s {
| // M4_ARRAY_DESC("EnvLv", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(3), M4_DYNAMIC(1))
| float* EnvLv;
| int EnvLv_len;
| // M4_ARRAY_DESC("DrcGain", "f32", M4_SIZE(1,100), M4_RANGE(1,8), "4",M4_DIGIT(2), M4_DYNAMIC(1))
| float* DrcGain;
| int DrcGain_len;
| // M4_ARRAY_DESC("Alpha", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0.2",M4_DIGIT(2), M4_DYNAMIC(1))
| float* Alpha;
| int Alpha_len;
| // M4_ARRAY_DESC("Clip", "f32", M4_SIZE(1,100), M4_RANGE(0,64), "16",M4_DIGIT(2), M4_DYNAMIC(1))
| float* Clip;
| int Clip_len;
| } AdrcGain_t;
|
| typedef struct HighLight_s {
| // M4_ARRAY_DESC("EnvLv", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(3), M4_DYNAMIC(1))
| float* EnvLv;
| int EnvLv_len;
| // M4_ARRAY_DESC("Strength", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "1",M4_DIGIT(2), M4_DYNAMIC(1))
| float* Strength;
| int Strength_len;
| } HighLight_t;
|
| typedef struct LocalData_s {
| // M4_ARRAY_DESC("EnvLv", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(2), M4_DYNAMIC(1))
| float* EnvLv;
| int EnvLv_len;
| // M4_ARRAY_DESC("LocalWeit", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "1",M4_DIGIT(2), M4_DYNAMIC(1))
| float* LocalWeit;
| int LocalWeit_len;
| // M4_ARRAY_DESC("GlobalContrast", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(3), M4_DYNAMIC(1))
| float* GlobalContrast;
| int GlobalContrast_len;
| // M4_ARRAY_DESC("LoLitContrast", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(3), M4_DYNAMIC(1))
| float* LoLitContrast;
| int LoLitContrast_len;
| } LocalData_t;
|
| typedef struct local_s {
| // M4_ARRAY_TABLE_DESC("LocalTMOData", "array_table_ui", "none")
| LocalData_t LocalTMOData;
| // M4_NUMBER_DESC("curPixWeit", "f32", M4_RANGE(0,1), "0.37", M4_DIGIT(3))
| float curPixWeit;
| // M4_NUMBER_DESC("preFrameWeit", "f32", M4_RANGE(0,1), "1.0", M4_DIGIT(3))
| float preFrameWeit;
| // M4_NUMBER_DESC("Range_force_sgm", "f32", M4_RANGE(0,1), "0.0", M4_DIGIT(4))
| float Range_force_sgm;
| // M4_NUMBER_DESC("Range_sgm_cur", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
| float Range_sgm_cur;
| // M4_NUMBER_DESC("Range_sgm_pre", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
| float Range_sgm_pre;
| // M4_NUMBER_DESC("Space_sgm_cur", "u16", M4_RANGE(0,4095), "4068", M4_DIGIT(0))
| int Space_sgm_cur;
| // M4_NUMBER_DESC("Space_sgm_pre", "u16", M4_RANGE(0,4095), "3968", M4_DIGIT(0))
| int Space_sgm_pre;
| } local_t;
|
| typedef enum CompressMode_e {
| COMPRESS_AUTO = 0,
| COMPRESS_MANUAL = 1,
| } CompressMode_t;
|
| typedef struct Compress_s {
| // M4_ENUM_DESC("Mode", "CompressMode_t", "COMPRESS_AUTO")
| CompressMode_t Mode;
| // 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), "curve_table")
| uint16_t Manual_curve[ADRC_Y_NUM];
| } Compress_t;
|
| typedef struct CalibDbV2_Adrc_s {
| // M4_BOOL_DESC("Enable", "1")
| bool Enable;
| // M4_ARRAY_TABLE_DESC("DrcGain", "array_table_ui", "none")
| AdrcGain_t DrcGain;
| // M4_ARRAY_TABLE_DESC("HiLight", "array_table_ui", "none")
| HighLight_t HiLight;
| // M4_STRUCT_DESC("LocalTMOSetting", "normal_ui_style")
| local_t LocalTMOSetting;
| // M4_STRUCT_DESC("CompressSetting", "normal_ui_style")
| Compress_t CompressSetting;
| // 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))
| int Scale_y[ADRC_Y_NUM];
| // M4_NUMBER_DESC("ByPassThr", "f32", M4_RANGE(0,1), "0", M4_DIGIT(4))
| float ByPassThr;
| // M4_NUMBER_DESC("Edge_Weit", "f32", M4_RANGE(0,1), "1",M4_DIGIT(3))
| float Edge_Weit;
| // M4_BOOL_DESC("OutPutLongFrame", "0")
| bool OutPutLongFrame;
| // M4_NUMBER_DESC("IIR_frame", "u8", M4_RANGE(1,1000), "16", M4_DIGIT(0))
| int IIR_frame;
| // M4_NUMBER_DESC("Tolerance", "f32", M4_RANGE(0,1), "0", M4_DIGIT(3))
| float Tolerance;
| // M4_NUMBER_DESC("damp", "f32", M4_RANGE(0,1), "0.9", M4_DIGIT(3))
| float damp;
| } CalibDbV2_Adrc_t;
|
| typedef struct CalibDbV2_drc_s {
| // M4_STRUCT_DESC("DrcTuningPara", "normal_ui_style")
| CalibDbV2_Adrc_t DrcTuningPara;
| } CalibDbV2_drc_t;
|
| typedef struct LocalDataV2_s {
| // M4_ARRAY_DESC("EnvLv", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(2), M4_DYNAMIC(1))
| float* EnvLv;
| int EnvLv_len;
| // M4_ARRAY_DESC("LocalWeit", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "1",M4_DIGIT(2), M4_DYNAMIC(1))
| float* LocalWeit;
| int LocalWeit_len;
| // M4_ARRAY_DESC("LocalAutoEnable", "u8", M4_SIZE(1,100), M4_RANGE(0,1), "1",M4_DIGIT(0), M4_DYNAMIC(1))
| int* LocalAutoEnable;
| int LocalAutoEnable_len;
| // M4_ARRAY_DESC("LocalAutoWeit", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0.037477",M4_DIGIT(5), M4_DYNAMIC(1))
| float* LocalAutoWeit;
| int LocalAutoWeit_len;
| // M4_ARRAY_DESC("GlobalContrast", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(3), M4_DYNAMIC(1))
| float* GlobalContrast;
| int GlobalContrast_len;
| // M4_ARRAY_DESC("LoLitContrast", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(3), M4_DYNAMIC(1))
| float* LoLitContrast;
| int LoLitContrast_len;
| } LocalDataV2_t;
|
| typedef struct localV2_s {
| // M4_ARRAY_TABLE_DESC("LocalData", "array_table_ui", "none")
| LocalDataV2_t LocalData;
| // M4_NUMBER_DESC("curPixWeit", "f32", M4_RANGE(0,1), "0.37", M4_DIGIT(3))
| float curPixWeit;
| // M4_NUMBER_DESC("preFrameWeit", "f32", M4_RANGE(0,1), "1.0", M4_DIGIT(3))
| float preFrameWeit;
| // M4_NUMBER_DESC("Range_force_sgm", "f32", M4_RANGE(0,1), "0.0", M4_DIGIT(4))
| float Range_force_sgm;
| // M4_NUMBER_DESC("Range_sgm_cur", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
| float Range_sgm_cur;
| // M4_NUMBER_DESC("Range_sgm_pre", "f32", M4_RANGE(0,1), "0.125", M4_DIGIT(4))
| float Range_sgm_pre;
| // M4_NUMBER_DESC("Space_sgm_cur", "u16", M4_RANGE(0,4095), "4068", M4_DIGIT(0))
| int Space_sgm_cur;
| // M4_NUMBER_DESC("Space_sgm_pre", "u16", M4_RANGE(0,4095), "3968", M4_DIGIT(0))
| int Space_sgm_pre;
| } localV2_t;
|
| typedef struct CalibDbV2_Adrc_V2_s {
| // M4_BOOL_DESC("Enable", "1")
| bool Enable;
| // M4_ARRAY_TABLE_DESC("DrcGain", "array_table_ui", "none")
| AdrcGain_t DrcGain;
| // M4_ARRAY_TABLE_DESC("HiLight", "array_table_ui", "none")
| HighLight_t HiLight;
| // M4_STRUCT_DESC("LocalSetting", "normal_ui_style")
| localV2_t LocalSetting;
| // M4_STRUCT_DESC("CompressSetting", "normal_ui_style")
| Compress_t CompressSetting;
| // 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))
| int Scale_y[ADRC_Y_NUM];
| // M4_NUMBER_DESC("ByPassThr", "f32", M4_RANGE(0,1), "0", M4_DIGIT(4))
| float ByPassThr;
| // M4_NUMBER_DESC("Edge_Weit", "f32", M4_RANGE(0,1), "1",M4_DIGIT(3))
| float Edge_Weit; //sw_drc_edge_scl, range[0,1], step 1/255
| // M4_BOOL_DESC("OutPutLongFrame", "0")
| bool OutPutLongFrame; //sw_drc_min_ogain
| // M4_NUMBER_DESC("IIR_frame", "u8", M4_RANGE(1,1000), "16", M4_DIGIT(0))
| int IIR_frame; //sw_drc_iir_frame, range [1, 1000]
| // M4_NUMBER_DESC("Tolerance", "f32", M4_RANGE(0,1), "0", M4_DIGIT(3))
| float Tolerance;
| // M4_NUMBER_DESC("damp", "f32", M4_RANGE(0,1), "0.9", M4_DIGIT(3))
| float damp;
| } CalibDbV2_Adrc_V2_t;
|
| typedef struct CalibDbV2_drc_V2_s {
| // M4_STRUCT_DESC("DrcTuningPara", "normal_ui_style")
| CalibDbV2_Adrc_V2_t DrcTuningPara;
| } CalibDbV2_drc_V2_t;
|
| #pragma once
|
|