xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/include/iq_parser_v2/amerge_uapi_compact.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_COMPACT_H__
19 #define __AMERGE_UAPI_COMPACT_H__
20 
21 #include "amerge_uapi_head.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 typedef uapiMergeCurrCtlData_t MergeCurrCtlData_t;
28 
29 typedef enum merge_OpModeV21_e {
30     MERGE_OPMODE_API_OFF = 0,  // run IQ ahdr
31     MERGE_OPMODE_MANU    = 1,  // run api manual ahdr
32 } merge_OpModeV21_t;
33 
34 typedef mMergeOECurveV10_t mMergeOECurveV21_t;
35 typedef mMergeMDCurveV10_t mMergeMDCurveV21_t;
36 
37 typedef struct mmergeAttrV21_s {
38     // M4_STRUCT_DESC("OECurve", "normal_ui_style")
39     mMergeOECurveV21_t OECurve;
40     // M4_STRUCT_DESC("MDCurve", "normal_ui_style")
41     mMergeMDCurveV21_t MDCurve;
42 } mmergeAttrV21_t;
43 
44 typedef struct mergeAttrV21_s {
45     merge_OpModeV21_t opMode;
46     mmergeAttrV21_t stManual;
47     MergeCurrCtlData_t CtlInfo;
48 } mergeAttrV21_t;
49 
50 typedef struct mLongFrameModeDataV30_s {
51     // M4_STRUCT_DESC("OECurve", "normal_ui_style")
52     mMergeOECurveV21_t OECurve;
53     // M4_STRUCT_DESC("MDCurve", "normal_ui_style")
54     mMergeMDCurveV21_t MDCurve;
55 } mLongFrameModeDataV30_t;
56 
57 typedef mMergeMDCurveV11Short_t mMergeMDCurveV30Short_t;
58 
59 typedef struct mShortFrameModeDataV30_s {
60     // M4_STRUCT_DESC("OECurve", "normal_ui_style")
61     mMergeOECurveV21_t OECurve;
62     // M4_STRUCT_DESC("MDCurve", "normal_ui_style")
63     mMergeMDCurveV30Short_t MDCurve;
64 } mShortFrameModeDataV30_t;
65 
66 typedef struct mMergeAttrV30_s {
67     // M4_ENUM_DESC("BaseFrm", "MergeBaseFrame_t", "BASEFRAME_LONG")
68     MergeBaseFrame_t BaseFrm;
69     // M4_STRUCT_DESC("LongFrmModeData", "normal_ui_style")
70     mLongFrameModeDataV30_t LongFrmModeData;
71     // M4_STRUCT_DESC("ShortFrmModeData", "normal_ui_style")
72     mShortFrameModeDataV30_t ShortFrmModeData;
73 } mMergeAttrV30_t;
74 
75 typedef struct mergeAttrV30_s {
76     merge_OpModeV21_t opMode;
77     mMergeAttrV30_t stManual;
78     MergeCurrCtlData_t CtlInfo;
79 } mergeAttrV30_t;
80 
81 typedef struct mergeAttr_s {
82     rk_aiq_uapi_sync_t sync;
83 
84     mergeAttrV21_t attrV21;
85     mergeAttrV30_t attrV30;
86 } mergeAttr_t;
87 
88 typedef mergeAttr_t amerge_attrib_t;
89 
90 #ifdef __cplusplus
91 }
92 #endif
93 
94 #endif /*__AMERGE_UAPI_COMPACT_H__*/
95