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