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