xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/include/iq_parser_v2/atmo_head.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * atmo_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_ATMO_HEADER_H__
21 #define __CALIBDBV2_ATMO_HEADER_H__
22 
23 #include "rk_aiq_comm.h"
24 
25 RKAIQ_BEGIN_DECLARE
26 
27 typedef enum GlobalLumaMode_e {
28     GLOBALLUMAMODE_ENVLV     = 0,
29     GLOBALLUMAMODE_ISO       = 1,
30 } GlobalLumaMode_t;
31 
32 typedef struct GlobalLumaData_s
33 {
34     // M4_ARRAY_DESC("EnvLv", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(4), M4_DYNAMIC(1))
35     float*            EnvLv;
36     int EnvLv_len;
37     // M4_ARRAY_DESC("ISO", "f32", M4_SIZE(1,100), M4_RANGE(0,10000000), "50",M4_DIGIT(4), M4_DYNAMIC(1))
38     float* ISO;
39     int ISO_len;
40     // M4_ARRAY_DESC("Strength", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0.25",M4_DIGIT(4), M4_DYNAMIC(1))
41     float*            Strength;
42     int Strength_len;
43 } GlobalLumaData_t;
44 
45 typedef struct CalibDbGlobalLuma_s
46 {
47     // M4_ENUM_DESC("Mode", "GlobalLumaMode_t", "GLOBALLUMAMODE_ENVLV")
48     GlobalLumaMode_t Mode;
49     // M4_ARRAY_TABLE_DESC("GlobalLumaData", "array_table_ui", "none")
50     GlobalLumaData_t GlobalLumaData;
51     // M4_NUMBER_DESC("Tolerance", "f32", M4_RANGE(0,0.2), "0", M4_DIGIT(4))
52     float            Tolerance;
53 } CalibDbGlobalLuma_t;
54 
55 typedef enum DetailsHighLightMode_e {
56     DETAILSHIGHLIGHTMODE_OEPDF       = 0,
57     DETAILSHIGHLIGHTMODE_ENVLV       = 1,
58 } DetailsHighLightMode_t;
59 
60 typedef struct HighLightData_s
61 {
62     // M4_ARRAY_DESC("OEPdf", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(4), M4_DYNAMIC(1))
63     float* OEPdf;
64     int OEPdf_len;
65     // M4_ARRAY_DESC("EnvLv", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(4), M4_DYNAMIC(1))
66     float*            EnvLv;
67     int EnvLv_len;
68     // M4_ARRAY_DESC("Strength", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0.5",M4_DIGIT(4), M4_DYNAMIC(1))
69     float*            Strength;
70     int Strength_len;
71 } HighLightData_t;
72 
73 typedef struct CalibDbDetailsHighLight_s
74 {
75     // M4_ENUM_DESC("Mode", "DetailsHighLightMode_t", "DETAILSHIGHLIGHTMODE_ENVLV")
76     DetailsHighLightMode_t Mode;
77     // M4_ARRAY_TABLE_DESC("HighLightData", "array_table_ui", "none")
78     HighLightData_t HighLightData;
79     // M4_NUMBER_DESC("Tolerance", "f32", M4_RANGE(0,0.2), "0", M4_DIGIT(4))
80     float                  Tolerance;
81 } CalibDbDetailsHighLight_t;
82 
83 typedef enum DetailsLowLightMode_e {
84     DETAILSLOWLIGHTMODE_FOCUSLUMA   = 0,
85     DETAILSLOWLIGHTMODE_DARKPDF     = 1,
86     DETAILSLOWLIGHTMODE_ISO          = 2,
87 } DetailsLowLightMode_t;
88 
89 typedef struct LowLightData_s
90 {
91     // M4_ARRAY_DESC("FocusLuma", "f32", M4_SIZE(1,100), M4_RANGE(0,100), "1",M4_DIGIT(4), M4_DYNAMIC(1))
92     float* FocusLuma;
93     int FocusLuma_len;
94     // M4_ARRAY_DESC("DarkPdf", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(4), M4_DYNAMIC(1))
95     float* DarkPdf;
96     int DarkPdf_len;
97     // M4_ARRAY_DESC("ISO", "f32", M4_SIZE(1,100), M4_RANGE(0,10000000), "50",M4_DIGIT(4), M4_DYNAMIC(1))
98     float* ISO;
99     int ISO_len;
100     // M4_ARRAY_DESC("Strength", "f32", M4_SIZE(1,100), M4_RANGE(1,4), "1",M4_DIGIT(4), M4_DYNAMIC(1))
101     float*            Strength;
102     int Strength_len;
103 } LowLightData_t;
104 
105 typedef struct CalibDbDetailsLowLight_s
106 {
107     // M4_ENUM_DESC("Mode", "DetailsLowLightMode_t", "DETAILSLOWLIGHTMODE_ISO")
108     DetailsLowLightMode_t Mode;
109     // M4_ARRAY_TABLE_DESC("LowLightData", "array_table_ui", "none")
110     LowLightData_t LowLightData;
111     // M4_NUMBER_DESC("Tolerance", "f32", M4_RANGE(0,0.2), "0", M4_DIGIT(4))
112     float                  Tolerance;
113 } CalibDbDetailsLowLight_t;
114 
115 typedef enum TmoTypeMode_e {
116     TMOTYPEMODE_DYNAMICRANGE   = 0,
117     TMOTYPEMODE_ENVLV           = 1,
118 } TmoTypeMode_t;
119 
120 typedef struct TmoData_s
121 {
122     // M4_ARRAY_DESC("DynamicRange", "f32", M4_SIZE(1,100), M4_RANGE(1,84), "1",M4_DIGIT(4), M4_DYNAMIC(1))
123     float* DynamicRange;
124     int DynamicRange_len;
125     // M4_ARRAY_DESC("EnvLv", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0",M4_DIGIT(4), M4_DYNAMIC(1))
126     float*            EnvLv;
127     int EnvLv_len;
128     // M4_ARRAY_DESC("Strength", "f32", M4_SIZE(1,100), M4_RANGE(0,1), "0.5",M4_DIGIT(4), M4_DYNAMIC(1))
129     float*            Strength;
130     int Strength_len;
131 } TmoData_t;
132 
133 typedef struct CalibDbLocalTMO_s
134 {
135     // M4_ENUM_DESC("Mode", "TmoTypeMode_t", "TMOTYPEMODE_DYNAMICRANGE")
136     TmoTypeMode_t Mode;
137     // M4_ARRAY_TABLE_DESC("LocalTmoData", "array_table_ui", "none")
138     TmoData_t LocalTmoData;
139     // M4_NUMBER_DESC("Tolerance", "f32", M4_RANGE(0,0.2), "0", M4_DIGIT(4))
140     float                  Tolerance;
141 } CalibDbLocalTMO_t;
142 
143 typedef struct CalibDbGlobaTMO_s
144 {
145     // M4_BOOL_DESC("Enable", "1")
146     bool         Enable;
147     // M4_NUMBER_DESC("IIR", "f32", M4_RANGE(1,1000), "64", M4_DIGIT(0))
148     float         IIR;
149     // M4_ENUM_DESC("Mode", "TmoTypeMode_t", "TMOTYPEMODE_DYNAMICRANGE")
150     TmoTypeMode_t Mode;
151     // M4_ARRAY_TABLE_DESC("GlobalTmoData", "array_table_ui", "none")
152     TmoData_t GlobalTmoData;
153     // M4_NUMBER_DESC("Tolerance", "f32", M4_RANGE(0,0.2), "0", M4_DIGIT(4))
154     float                  Tolerance;
155 } CalibDbGlobaTMO_t;
156 
157 typedef struct CalibDbTmoV20_s
158 {
159     // M4_BOOL_DESC("Enable", "1")
160     bool         Enable;
161     // M4_STRUCT_DESC("GlobalLuma", "normal_ui_style")
162     CalibDbGlobalLuma_t       GlobalLuma;
163     // M4_STRUCT_DESC("DetailsHighLight", "normal_ui_style")
164     CalibDbDetailsHighLight_t DetailsHighLight;
165     // M4_STRUCT_DESC("DetailsLowLight", "normal_ui_style")
166     CalibDbDetailsLowLight_t  DetailsLowLight;
167     // M4_STRUCT_DESC("LocalTMO", "normal_ui_style")
168     CalibDbLocalTMO_t         LocalTMO;
169     // M4_STRUCT_DESC("GlobaTMO", "normal_ui_style")
170     CalibDbGlobaTMO_t         GlobaTMO;
171     // M4_NUMBER_DESC("damp", "f32", M4_RANGE(0,1), "0.9", M4_DIGIT(4))
172     float damp;
173 } CalibDbTmoV20_t;
174 
175 typedef struct CalibDbV2_tmo_s
176 {
177     // M4_STRUCT_DESC("TmoTuningPara", "normal_ui_style")
178     CalibDbTmoV20_t TmoTuningPara;
179 } CalibDbV2_tmo_t;
180 
181 
182 RKAIQ_END_DECLARE
183 
184 #endif
185