xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/include/iq_parser_v2/amerge_uapi_head.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  *  Copyright (c) 2023 Rockchip Corporation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 
18 #ifndef __AMERGE_UAPI_HEAD_H__
19 #define __AMERGE_UAPI_HEAD_H__
20 
21 #include "amerge_head.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 typedef struct uapiMergeCurrCtlData_s {
28     // M4_NUMBER_DESC("Envlv", "f32", M4_RANGE(0,1), "0", M4_DIGIT(4))
29     float Envlv;
30     // M4_NUMBER_DESC("ISO", "f32", M4_RANGE(50,1000000000), "0", M4_DIGIT(4))
31     float ISO;
32     // M4_NUMBER_DESC("MoveCoef", "f32", M4_RANGE(0,1), "0", M4_DIGIT(4))
33     float MoveCoef;
34 } uapiMergeCurrCtlData_t;
35 
36 typedef struct mMergeOECurveV10_s {
37     // M4_NUMBER_DESC("Smooth", "f32", M4_RANGE(0,1), "0.4", M4_DIGIT(4))
38     float Smooth;
39     // M4_NUMBER_DESC("Offset", "f32", M4_RANGE(0,1), "210", M4_DIGIT(4))
40     float Offset;
41 } mMergeOECurveV10_t;
42 
43 typedef struct mMergeMDCurveV10_s {
44     // M4_NUMBER_DESC("LM_smooth", "f32", M4_RANGE(0,1), "0.4", M4_DIGIT(4))
45     float LM_smooth;
46     // M4_NUMBER_DESC("LM_offset", "f32", M4_RANGE(0,1), "0.38", M4_DIGIT(4))
47     float LM_offset;
48     // M4_NUMBER_DESC("MS_smooth", "f32", M4_RANGE(0,1), "0.4", M4_DIGIT(4))
49     float MS_smooth;
50     // M4_NUMBER_DESC("MS_offset", "f32", M4_RANGE(0,1), "0.38", M4_DIGIT(4))
51     float MS_offset;
52 } mMergeMDCurveV10_t;
53 
54 typedef struct mMergeAttrV10_s {
55     // M4_STRUCT_DESC("OECurve", "normal_ui_style")
56     mMergeOECurveV10_t OECurve;
57     // M4_STRUCT_DESC("MDCurve", "normal_ui_style")
58     mMergeMDCurveV10_t MDCurve;
59 } mMergeAttrV10_t;
60 
61 typedef struct mLongFrameModeData_s {
62     // M4_STRUCT_DESC("OECurve", "normal_ui_style")
63     mMergeOECurveV10_t OECurve;
64     // M4_STRUCT_DESC("MDCurve", "normal_ui_style")
65     mMergeMDCurveV10_t MDCurve;
66 } mLongFrameModeData_t;
67 
68 typedef struct mMergeMDCurveV11Short_s {
69     // M4_NUMBER_DESC("Coef", "f32", M4_RANGE(0,1), "0.05", M4_DIGIT(4))
70     float Coef;
71     // M4_NUMBER_DESC("ms_thd0", "f32", M4_RANGE(0,1), "0.0", M4_DIGIT(1))
72     float ms_thd0;
73     // M4_NUMBER_DESC("lm_thd0", "f32", M4_RANGE(0,1), "0.0", M4_DIGIT(1))
74     float lm_thd0;
75 } mMergeMDCurveV11Short_t;
76 
77 typedef struct mShortFrameModeData_s {
78     // M4_STRUCT_DESC("OECurve", "normal_ui_style")
79     mMergeOECurveV10_t OECurve;
80     // M4_STRUCT_DESC("MDCurve", "normal_ui_style")
81     mMergeMDCurveV11Short_t MDCurve;
82 } mShortFrameModeData_t;
83 
84 typedef struct mMergeAttrV11_s {
85     // M4_ENUM_DESC("BaseFrm", "MergeBaseFrame_t", "BASEFRAME_LONG")
86     MergeBaseFrame_t BaseFrm;
87     // M4_STRUCT_DESC("LongFrmModeData", "normal_ui_style")
88     mLongFrameModeData_t LongFrmModeData;
89     // M4_STRUCT_DESC("ShortFrmModeData", "normal_ui_style")
90     mShortFrameModeData_t ShortFrmModeData;
91 } mMergeAttrV11_t;
92 
93 typedef struct mMergeEachChnCurveV12_s {
94     // M4_NUMBER_DESC("Smooth", "f32", M4_RANGE(0,1), "0.4", M4_DIGIT(4))
95     float Smooth;
96     // M4_NUMBER_DESC("Offset", "f32", M4_RANGE(0,1), "0.38", M4_DIGIT(4))
97     float Offset;
98 } mMergeEachChnCurveV12_t;
99 
100 typedef struct mLongFrameModeDataV12_s {
101     // M4_BOOL_DESC("EnableEachChn", "1")
102     bool EnableEachChn;
103     // M4_ARRAY_TABLE_DESC("OECurve", "array_table_ui", "none")
104     mMergeOECurveV10_t OECurve;
105     // M4_ARRAY_TABLE_DESC("MDCurve", "array_table_ui", "none")
106     mMergeMDCurveV10_t MDCurve;
107     // M4_ARRAY_TABLE_DESC("EachChnCurve", "array_table_ui", "none")
108     mMergeEachChnCurveV12_t EachChnCurve;
109 } mLongFrameModeDataV12_t;
110 
111 typedef struct mMergeAttrV12_s {
112     // M4_ENUM_DESC("BaseFrm", "MergeBaseFrame_t", "BASEFRAME_LONG")
113     MergeBaseFrame_t BaseFrm;
114     // M4_STRUCT_DESC("LongFrmModeData", "normal_ui_style")
115     mLongFrameModeDataV12_t LongFrmModeData;
116     // M4_STRUCT_DESC("ShortFrmModeData", "normal_ui_style")
117     mShortFrameModeData_t ShortFrmModeData;
118 } mMergeAttrV12_t;
119 
120 #ifdef __cplusplus
121 }
122 #endif
123 
124 #endif  /*__AMERGE_UAPI_HEAD_H__*/
125