1 /* 2 * bayertnr_uapi_head_v23.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_BAYER2DNR_UAPI_HEADER_V23_H__ 21 #define __CALIBDBV2_BAYER2DNR_UAPI_HEADER_V23_H__ 22 23 #include "rk_aiq_comm.h" 24 25 RKAIQ_BEGIN_DECLARE 26 27 ////////////////////////bayernr V23////////////////////////////////////// 28 #if 1 29 typedef struct RK_Bayer2dnr_Params_V23_Select_s { 30 // v23 version register // edge filter params 31 // M4_BOOL_DESC("enable", "1") 32 bool enable; 33 34 35 // M4_ARRAY_DESC("lumapoint", "s32", M4_SIZE(1,16), M4_RANGE(0,65535), "0.0", M4_DIGIT(0), M4_DYNAMIC(0)) 36 int lumapoint[16]; 37 38 // M4_ARRAY_DESC("sigma", "s32", M4_SIZE(1,16), M4_RANGE(0,65535), "0.0", M4_DIGIT(0), M4_DYNAMIC(0)) 39 int sigma[16]; 40 41 // M4_BOOL_DESC("gauss_guide", "1") 42 bool gauss_guide; 43 44 // M4_NUMBER_DESC("filter_strength", "f32", M4_RANGE(0, 16), "0.5", M4_DIGIT(2)) 45 float filter_strength; 46 47 // M4_NUMBER_DESC("edgesofts", "f32", M4_RANGE(0, 16.0), "1.0", M4_DIGIT(2)) 48 float edgesofts; 49 50 // M4_NUMBER_DESC("ratio", "f32", M4_RANGE(0, 1.0), "0.2", M4_DIGIT(2)) 51 float ratio; 52 53 // M4_NUMBER_DESC("weight", "f32", M4_RANGE(0, 1.0), "1.0", M4_DIGIT(2)) 54 float weight; 55 56 // M4_NUMBER_DESC("pix_diff", "u16", M4_RANGE(0, 16383), "16383", M4_DIGIT(0)) 57 uint16_t pix_diff; 58 // M4_NUMBER_DESC("diff_thld", "u16", M4_RANGE(0, 1023), "1023", M4_DIGIT(0)) 59 uint16_t diff_thld; 60 61 62 // M4_NUMBER_DESC("trans_mode", "u8", M4_RANGE(0, 3), "0", M4_DIGIT(0)) 63 uint8_t trans_mode; 64 // M4_NUMBER_DESC("trans_offset", "u16", M4_RANGE(0, 8191), "256", M4_DIGIT(0)) 65 uint16_t trans_offset; 66 // M4_NUMBER_DESC("itrans_offset", "u16", M4_RANGE(0, 65535), "32768", M4_DIGIT(0)) 67 uint16_t itrans_offset; 68 // M4_NUMBER_DESC("trans_datmax", "u32", M4_RANGE(0, 1048575), "1048575", M4_DIGIT(0)) 69 uint32_t trans_datmax; 70 71 72 // M4_BOOL_DESC("gain_bypass", "1") 73 bool gain_bypass; 74 // M4_NUMBER_DESC("gain_scale", "f32", M4_RANGE(0, 16.0), "1.0", M4_DIGIT(2)) 75 float gain_scale; 76 // M4_ARRAY_DESC("gain_lumapoint", "u16", M4_SIZE(1,16), M4_RANGE(0,256), "[16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,256]", M4_DIGIT(0), M4_DYNAMIC(0)) 77 uint16_t gain_lumapoint[16]; 78 // M4_ARRAY_DESC("gain_adj", "u16", M4_SIZE(1,16), M4_RANGE(0,4095), "[16,32,48,64,80,96,112,128,144,160,176,192,208,224,240,256]", M4_DIGIT(2), M4_DYNAMIC(0)) 79 uint16_t gain_adj[16]; 80 81 // M4_BOOL_DESC("hdrdgain_ctrl_en", "0") 82 bool hdrdgain_ctrl_en; 83 // M4_NUMBER_DESC("hdr_dgain_scale_s", "f32", M4_RANGE(0, 128.0), "1.0", M4_DIGIT(2)) 84 float hdr_dgain_scale_s; 85 // M4_NUMBER_DESC("hdr_dgain_scale_m", "f32", M4_RANGE(0, 128.0), "1.0", M4_DIGIT(2)) 86 float hdr_dgain_scale_m; 87 88 } RK_Bayer2dnrV23_Params_Select_t; 89 90 typedef struct Abayer2dnr_ExpInfo_V23_s { 91 // M4_NUMBER_DESC("hdr_mode", "u8", M4_RANGE(0, 2), "0", M4_DIGIT(0)) 92 int hdr_mode; 93 94 // M4_NUMBER_DESC("snr_mode", "s8", M4_RANGE(0, 2), "0", M4_DIGIT(0)) 95 int snr_mode; 96 97 // M4_NUMBER_DESC("gray_mode", "s8", M4_RANGE(0, 1), "0", M4_DIGIT(0)) 98 int gray_mode; 99 100 // M4_NUMBER_DESC("bayertnr_en", "s8", M4_RANGE(0, 1), "0", M4_DIGIT(0)) 101 int bayertnr_en; 102 103 // M4_ARRAY_DESC("time", "f32", M4_SIZE(1,3), M4_RANGE(0, 1024), "0.01", M4_DIGIT(6)) 104 float arTime[3]; 105 // M4_ARRAY_DESC("again", "f32", M4_SIZE(1,3), M4_RANGE(0, 204800), "1", M4_DIGIT(3)) 106 float arAGain[3]; 107 // M4_ARRAY_DESC("dgain", "f32", M4_SIZE(1,3), M4_RANGE(0, 204800), "1", M4_DIGIT(3)) 108 float arDGain[3]; 109 // M4_ARRAY_DESC("isp_dgain", "f32", M4_SIZE(1,3), M4_RANGE(0, 204800), "1", M4_DIGIT(3)) 110 float isp_dgain[3]; 111 // M4_NUMBER_DESC("blc_ob_predgain", "f32", M4_RANGE(0, 204800), "1", M4_DIGIT(3)) 112 float blc_ob_predgain; 113 // M4_ARRAY_DESC("iso", "u32", M4_SIZE(1,3), M4_RANGE(0, 204800), "1", M4_DIGIT(0)) 114 int arIso[3]; 115 116 // M4_NUMBER_DESC("isoLevelLow", "u8", M4_RANGE(0, 12), "0", M4_DIGIT(0)) 117 int isoLevelLow; 118 // M4_NUMBER_DESC("isoLevelHig", "u8", M4_RANGE(0, 12), "0", M4_DIGIT(0)) 119 int isoLevelHig; 120 121 } Abayer2dnr_ExpInfo_V23_t; 122 123 typedef struct rk_aiq_bayer2dnr_info_v23_s { 124 // M4_ARRAY_TABLE_DESC("sync", "array_table_ui", "none", "1") 125 rk_aiq_uapi_sync_t sync; 126 // M4_NUMBER_DESC("iso", "u32", M4_RANGE(0, 204800), "50", M4_DIGIT(0), "0", "0") 127 int iso; 128 // M4_ARRAY_TABLE_DESC("expo_info", "normal_ui_style", "none", "0", "0") 129 Abayer2dnr_ExpInfo_V23_t expo_info; 130 } rk_aiq_bayer2dnr_info_v23_t; 131 132 133 #endif 134 135 136 RKAIQ_END_DECLARE 137 138 #endif 139