xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/include/iq_parser_v2/bayer2dnr_head_v23.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * bayernr_head_v1.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_BAYER_2DNR_HEADER_V23_H__
21 #define __CALIBDBV2_BAYER_2DNR_HEADER_V23_H__
22 
23 #include "rk_aiq_comm.h"
24 
25 RKAIQ_BEGIN_DECLARE
26 
27 ////////////////////////bayernr V23//////////////////////////////////////
28 typedef struct CalibDbV2_Bayer2dnrV23_C_ISO_s {
29     // M4_NUMBER_MARK_DESC("iso", "f32", M4_RANGE(50, 204800), "50", M4_DIGIT(1), "index2")
30     float iso;
31 
32     // M4_ARRAY_DESC("lumapoint", "s32", M4_SIZE(1,16), M4_RANGE(0,65535), "0.0", M4_DIGIT(0), M4_DYNAMIC(0))
33     int lumapoint[16];
34 
35     // M4_ARRAY_DESC("sigma", "s32", M4_SIZE(1,16), M4_RANGE(0,65535), "0.0", M4_DIGIT(0), M4_DYNAMIC(0))
36     int sigma[16];
37 
38 } CalibDbV2_Bayer2dnrV23_C_ISO_t;
39 
40 typedef struct CalibDbV2_Bayer2dnrV23_C_Set_s {
41     // M4_STRING_MARK_DESC("SNR_Mode", M4_SIZE(1,1), M4_RANGE(0, 64), "LSNR",M4_DYNAMIC(0), "index1")
42     char *SNR_Mode;
43     // M4_STRING_DESC("Sensor_Mode", M4_SIZE(1,1), M4_RANGE(0, 64), "lcg", M4_DYNAMIC(0))
44     char *Sensor_Mode;
45     // M4_STRUCT_LIST_DESC("Calib_ISO", M4_SIZE_DYNAMIC, "double_index_list")
46     CalibDbV2_Bayer2dnrV23_C_ISO_t *Calib_ISO;
47     int Calib_ISO_len;
48 
49 } CalibDbV2_Bayer2dnrV23_C_Set_t;
50 
51 typedef struct CalibDbV2_BlcV32_calib_s {
52 
53     // M4_NUMBER_MARK_DESC("iso", "f32", M4_RANGE(50, 204800), "50", M4_DIGIT(1), "index1")
54     float iso;
55 
56     // M4_NUMBER_DESC("Reference_r", "f32", M4_RANGE(-512,512), "256.0", M4_DIGIT(4))
57     float Reference_r;
58 
59     // M4_NUMBER_DESC("Reference_gr", "f32", M4_RANGE(-512,512), "256.0", M4_DIGIT(4))
60     float Reference_gr;
61 
62     // M4_NUMBER_DESC("Reference_gb", "f32", M4_RANGE(-512,512), "256.0", M4_DIGIT(4))
63     float Reference_gb;
64 
65     // M4_NUMBER_DESC("Reference_b", "f32", M4_RANGE(-512,512), "256.0", M4_DIGIT(4))
66     float Reference_b;
67 
68 } CalibDbV2_BlcV32_calib_t;
69 
70 typedef struct CalibDbV2_Bayer2dnrV23_Calib_s {
71     // M4_STRUCT_LIST_DESC("Setting", M4_SIZE_DYNAMIC, "double_index_list")
72     CalibDbV2_Bayer2dnrV23_C_Set_t *Setting;
73     int Setting_len;
74 
75     // M4_STRUCT_LIST_DESC("Blc_Ref", M4_SIZE_DYNAMIC, "index1")
76     CalibDbV2_BlcV32_calib_t *Blc_Ref;
77     int Blc_Ref_len;
78 } CalibDbV2_Bayer2dnrV23_Calib_t;
79 
80 typedef struct CalibDbV2_Bayer2dnrV23_gain_s {
81     // M4_ARRAY_DESC("lumapoint", "u16", M4_SIZE(1,16), M4_RANGE(0,256), "[16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,256]", M4_DIGIT(0), M4_DYNAMIC(0))
82     uint16_t gain_lumapoint[16];
83     // M4_ARRAY_DESC("gain_adj", "u16", M4_SIZE(1,16), M4_RANGE(0,4095), "[16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,256]", M4_DIGIT(2), M4_DYNAMIC(0))
84     uint16_t gain_adj[16];
85 
86 } CalibDbV2_Bayer2dnrV23_gain_t;
87 
88 
89 typedef struct CalibDbV2_Bayer2dnrV23_T_ISO_s {
90     // M4_NUMBER_MARK_DESC("iso", "f32", M4_RANGE(50, 204800), "50", M4_DIGIT(1), "index2")
91     float iso;
92 
93     // M4_BOOL_DESC("gauss_guide", "1")
94     bool gauss_guide;
95 
96     // M4_NUMBER_DESC("filter_strength", "f32", M4_RANGE(0, 16), "0.5", M4_DIGIT(2))
97     float filter_strength;
98 
99     // M4_NUMBER_DESC("edgesofts", "f32", M4_RANGE(0, 16.0), "1.0", M4_DIGIT(2))
100     float edgesofts;
101 
102     // M4_NUMBER_DESC("ratio", "f32", M4_RANGE(0, 1.0), "0.2", M4_DIGIT(2))
103     float ratio;
104 
105     // M4_NUMBER_DESC("weight", "f32", M4_RANGE(0, 1.0), "1.0", M4_DIGIT(2))
106     float weight;
107 
108     // M4_BOOL_DESC("gain_bypass", "1")
109     bool gain_bypass;
110 
111     // M4_NUMBER_DESC("gain_scale", "f32", M4_RANGE(0, 16.0), "1.0", M4_DIGIT(2))
112     float gain_scale;
113 
114     // M4_NUMBER_DESC("pix_diff", "u16", M4_RANGE(0, 16383), "16383", M4_DIGIT(0))
115     uint16_t pix_diff;
116 
117     // M4_NUMBER_DESC("diff_thld", "u16", M4_RANGE(0, 1023), "1023", M4_DIGIT(0))
118     uint16_t diff_thld;
119 
120 
121     // M4_NUMBER_DESC("trans_mode", "u8", M4_RANGE(0, 3), "0", M4_DIGIT(0))
122     uint8_t trans_mode;
123     // M4_NUMBER_DESC("trans_offset", "u16", M4_RANGE(0, 8191), "256", M4_DIGIT(0))
124     uint16_t trans_offset;
125     // M4_NUMBER_DESC("itrans_offset", "u16", M4_RANGE(0, 65535), "32768", M4_DIGIT(0))
126     uint16_t itrans_offset;
127     // M4_NUMBER_DESC("trans_datmax", "u32", M4_RANGE(0, 1048575), "1048575", M4_DIGIT(0))
128     uint32_t trans_datmax;
129 
130 
131     // M4_NUMBER_DESC("hdr_dgain_scale_s", "f32", M4_RANGE(0, 128.0), "1.0", M4_DIGIT(2))
132     float hdr_dgain_scale_s;
133 
134     // M4_NUMBER_DESC("hdr_dgain_scale_m", "f32", M4_RANGE(0, 128.0), "1.0", M4_DIGIT(2))
135     float hdr_dgain_scale_m;
136 
137     // M4_ARRAY_TABLE_DESC("gain_adj", "array_table_ui", "none")
138     CalibDbV2_Bayer2dnrV23_gain_t gain_adj;
139 
140 } CalibDbV2_Bayer2dnrV23_T_ISO_t;
141 
142 typedef struct CalibDbV2_Bayer2dnrV23_T_Set_s {
143     // M4_STRING_MARK_DESC("SNR_Mode", M4_SIZE(1,1), M4_RANGE(0, 64), "LSNR",M4_DYNAMIC(0), "index1")
144     char *SNR_Mode;
145     // M4_STRING_DESC("Sensor_Mode", M4_SIZE(1,1), M4_RANGE(0, 64), "lcg", M4_DYNAMIC(0))
146     char *Sensor_Mode;
147     // M4_STRUCT_LIST_DESC("Tuning_ISO", M4_SIZE_DYNAMIC, "double_index_list")
148     CalibDbV2_Bayer2dnrV23_T_ISO_t *Tuning_ISO;
149     int Tuning_ISO_len;
150 } CalibDbV2_Bayer2dnrV23_T_Set_t;
151 
152 
153 typedef struct CalibDbV2_Bayer2dnrV23_Tuning_s {
154     // M4_BOOL_DESC("enable", "1")
155     bool enable;
156     // M4_BOOL_DESC("hdrdgain_ctrl_en", "0")
157     bool hdrdgain_ctrl_en;
158     // M4_STRUCT_LIST_DESC("Setting", M4_SIZE_DYNAMIC, "double_index_list")
159     CalibDbV2_Bayer2dnrV23_T_Set_t *Setting;
160     int Setting_len;
161 } CalibDbV2_Bayer2dnrV23_Tuning_t;
162 
163 
164 
165 typedef struct CalibDbV2_Bayer2dnrV23_s {
166     // M4_STRING_DESC("Version", M4_SIZE(1,1), M4_RANGE(0, 64), "V23", M4_DYNAMIC(0))
167     char *Version;
168     // M4_STRUCT_DESC("CalibPara", "normal_ui_style")
169     CalibDbV2_Bayer2dnrV23_Calib_t CalibPara;
170     // M4_STRUCT_DESC("Bayernr2D", "normal_ui_style")
171     CalibDbV2_Bayer2dnrV23_Tuning_t TuningPara;
172 } CalibDbV2_Bayer2dnrV23_t;
173 
174 RKAIQ_END_DECLARE
175 
176 #endif
177