1 /* 2 * Copyright (c) 2021 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 __RK_AIQ_USER_API2_WRAPPER_H__ 19 #define __RK_AIQ_USER_API2_WRAPPER_H__ 20 21 #include "RkAiqUapitypes.h" 22 #include "rk_aiq_user_api_sysctl.h" 23 #include "algos/adebayer/rk_aiq_uapi_adebayer_int.h" 24 25 int rk_aiq_uapi_sysctl_swWorkingModeDyn2(const rk_aiq_sys_ctx_t *ctx, 26 work_mode_t *mode); 27 28 int rk_aiq_uapi_sysctl_getWorkingModeDyn(const rk_aiq_sys_ctx_t *ctx, 29 work_mode_t *mode); 30 31 int rk_aiq_uapi2_setWBMode2(rk_aiq_sys_ctx_t *ctx, uapi_wb_mode_t *mode); 32 33 int rk_aiq_uapi2_getWBMode2(rk_aiq_sys_ctx_t *ctx, uapi_wb_mode_t *mode); 34 35 int rk_aiq_user_api2_set_scene(const rk_aiq_sys_ctx_t *sys_ctx, 36 aiq_scene_t *scene); 37 38 int rk_aiq_user_api2_get_scene(const rk_aiq_sys_ctx_t *sys_ctx, 39 aiq_scene_t *scene); 40 41 int rk_aiq_uapi_get_awb_stat(const rk_aiq_sys_ctx_t* sys_ctx, 42 rk_tool_awb_stat_res2_v30_t* awb_stat); 43 44 int rk_aiq_uapi_get_ae_hwstats(const rk_aiq_sys_ctx_t* sys_ctx, 45 uapi_ae_hwstats_t* ae_hwstats); 46 int rk_aiq_uapi_get_awbV32_stat(const rk_aiq_sys_ctx_t* sys_ctx, 47 rk_tool_isp_awb_stats_v32_t* awb_stat); 48 int rk_aiq_uapi_get_awbV21_stat(const rk_aiq_sys_ctx_t* sys_ctx, 49 rk_tool_awb_stat_res2_v201_t* awb_stat); 50 51 XCamReturn rk_aiq_get_adpcc_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 52 Adpcc_Manual_Attr_t *manual); 53 54 XCamReturn rk_aiq_set_adpcc_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 55 Adpcc_Manual_Attr_t *manual); 56 57 XCamReturn rk_aiq_user_api2_amerge_v10_queryinfo(const rk_aiq_sys_ctx_t* sys_ctx, 58 uapiMergeCurrCtlData_t* merge_info); 59 60 XCamReturn rk_aiq_set_amerge_v10_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 61 mMergeAttrV10_t* manual); 62 63 XCamReturn rk_aiq_get_amerge_v10_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 64 mMergeAttrV10_t* manual); 65 66 XCamReturn rk_aiq_user_api2_amerge_v11_queryinfo(const rk_aiq_sys_ctx_t* sys_ctx, 67 uapiMergeCurrCtlData_t* merge_info); 68 69 XCamReturn rk_aiq_set_amerge_v11_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 70 mMergeAttrV11_t* manual); 71 72 XCamReturn rk_aiq_get_amerge_v11_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 73 mMergeAttrV11_t* manual); 74 75 XCamReturn rk_aiq_user_api2_amerge_v12_queryinfo(const rk_aiq_sys_ctx_t* sys_ctx, 76 uapiMergeCurrCtlData_t* merge_info); 77 78 XCamReturn rk_aiq_set_amerge_v12_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 79 mMergeAttrV12_t* manual); 80 81 XCamReturn rk_aiq_get_amerge_v12_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 82 mMergeAttrV12_t* manual); 83 84 XCamReturn rk_aiq_user_api2_adrc_v10_queryinfo(const rk_aiq_sys_ctx_t* sys_ctx, 85 DrcInfoV10_t* drc_info); 86 87 XCamReturn rk_aiq_set_adrc_v10_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, mdrcAttr_V10_t* manual); 88 89 XCamReturn rk_aiq_get_adrc_v10_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, mdrcAttr_V10_t* manual); 90 91 XCamReturn rk_aiq_user_api2_adrc_v11_queryinfo(const rk_aiq_sys_ctx_t* sys_ctx, 92 DrcInfoV11_t* drc_info); 93 94 XCamReturn rk_aiq_set_adrc_v11_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, mdrcAttr_V11_t* manual); 95 96 XCamReturn rk_aiq_get_adrc_v11_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, mdrcAttr_V11_t* manual); 97 98 XCamReturn rk_aiq_user_api2_adrc_v12_queryinfo(const rk_aiq_sys_ctx_t* sys_ctx, 99 DrcInfoV12_t* drc_info); 100 101 XCamReturn rk_aiq_set_adrc_v12_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, mdrcAttr_V12_t* manual); 102 103 XCamReturn rk_aiq_get_adrc_v12_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, mdrcAttr_V12_t* manual); 104 105 XCamReturn rk_aiq_user_api2_adrc_v12_lite_queryinfo(const rk_aiq_sys_ctx_t* sys_ctx, 106 DrcInfoV12Lite_t* drc_info); 107 108 XCamReturn rk_aiq_set_adrc_v12_lite_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 109 mdrcAttr_v12_lite_t* manual); 110 111 XCamReturn rk_aiq_get_adrc_v12_lite_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 112 mdrcAttr_v12_lite_t* manual); 113 114 XCamReturn rk_aiq_set_agamma_v10_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 115 AgammaApiManualV10_t* manual); 116 117 XCamReturn rk_aiq_get_agamma_v10_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 118 AgammaApiManualV10_t* manual); 119 120 XCamReturn rk_aiq_set_agamma_v11_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 121 AgammaApiManualV11_t* manual); 122 123 XCamReturn rk_aiq_get_agamma_v11_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 124 AgammaApiManualV11_t* manual); 125 126 XCamReturn rk_aiq_user_api2_adehaze_v11_queryinfo(const rk_aiq_sys_ctx_t* sys_ctx, 127 mDehazeAttrInfoV11_t* dehaze_info); 128 129 XCamReturn rk_aiq_set_adehaze_v11_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 130 mDehazeAttrV11_t* manual); 131 132 XCamReturn rk_aiq_get_adehaze_v11_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 133 mDehazeAttrV11_t* manual); 134 135 XCamReturn rk_aiq_user_api2_adehaze_v12_queryinfo(const rk_aiq_sys_ctx_t* sys_ctx, 136 mDehazeAttrInfoV11_t* dehaze_info); 137 138 XCamReturn rk_aiq_set_adehaze_v12_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 139 mDehazeAttrV12_t* manual); 140 141 XCamReturn rk_aiq_get_adehaze_v12_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 142 mDehazeAttrV12_t* manual); 143 144 XCamReturn rk_aiq_set_tool_accm_mode(rk_aiq_sys_ctx_t *ctx, uapi_wb_mode_t *mode); 145 146 XCamReturn rk_aiq_get_accm_mode(rk_aiq_sys_ctx_t *ctx, uapi_wb_mode_t *mode); 147 148 XCamReturn rk_aiq_set_accm_v1_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 149 rk_aiq_ccm_mccm_attrib_t* manual); 150 151 XCamReturn rk_aiq_get_accm_v1_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 152 rk_aiq_ccm_mccm_attrib_t* manual); 153 154 XCamReturn rk_aiq_set_accm_v2_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 155 rk_aiq_ccm_mccm_attrib_v2_t* manual); 156 157 XCamReturn rk_aiq_get_accm_v2_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 158 rk_aiq_ccm_mccm_attrib_v2_t* manual); 159 160 XCamReturn rk_aiq_set_tool_3dlut_mode(rk_aiq_sys_ctx_t *ctx, 161 uapi_wb_mode_t *mode); 162 163 XCamReturn rk_aiq_get_a3dlut_mode(rk_aiq_sys_ctx_t *ctx, 164 uapi_wb_mode_t *mode); 165 166 XCamReturn rk_aiq_set_a3dlut_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 167 rk_aiq_lut3d_mlut3d_attrib_t *manual); 168 169 XCamReturn rk_aiq_get_a3dlut_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 170 rk_aiq_lut3d_mlut3d_attrib_t *manual); 171 172 XCamReturn rk_aiq_set_acgc_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 173 Cgc_Param_t* manual) ; 174 175 XCamReturn rk_aiq_get_acgc_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 176 Cgc_Param_t* manual); 177 178 XCamReturn rk_aiq_set_acsm_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 179 Csm_Param_t* manual) ; 180 181 XCamReturn rk_aiq_get_acsm_manual_attr(const rk_aiq_sys_ctx_t* sys_ctx, 182 Csm_Param_t* manual); 183 184 XCamReturn rk_aiq_set_ablc_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 185 ablc_uapi_manual_t *manual); 186 187 XCamReturn rk_aiq_get_ablc_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 188 ablc_uapi_manual_t *manual); 189 190 XCamReturn rk_aiq_set_asharp_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 191 asharp_uapi_manual_t *manual); 192 193 XCamReturn rk_aiq_get_asharp_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 194 asharp_uapi_manual_t *manual); 195 XCamReturn rk_aiq_set_alsc_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 196 rk_aiq_lsc_table_t *manual); 197 198 XCamReturn rk_aiq_get_alsc_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 199 rk_aiq_lsc_table_t *manual); 200 201 XCamReturn rk_aiq_set_current_camindex(const rk_aiq_sys_ctx_t *sys_ctx, 202 camgroup_uapi_t *manual); 203 204 XCamReturn rk_aiq_get_current_camindex(const rk_aiq_sys_ctx_t *sys_ctx, 205 camgroup_uapi_t *manual); 206 207 rk_aiq_sys_ctx_t* rk_aiq_get_last_sysctx(rk_aiq_sys_ctx_t *sys_ctx); 208 209 XCamReturn rk_aiq_set_adebayer_attr(const rk_aiq_sys_ctx_t *sys_ctx, 210 adebayer_attrib_t *adebayer_attr); 211 212 XCamReturn rk_aiq_get_adebayer_attr(const rk_aiq_sys_ctx_t *sys_ctx, 213 adebayer_attrib_t *adebayer_attr); 214 215 XCamReturn 216 rk_aiq_set_abayer2dnr_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 217 abayer2dnr_uapi_manual_t *manual); 218 219 XCamReturn 220 rk_aiq_get_abayer2dnr_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 221 abayer2dnr_uapi_manual_t *manual); 222 223 XCamReturn 224 rk_aiq_set_abayertnr_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 225 abayertnr_uapi_manual_t *manual); 226 227 XCamReturn 228 rk_aiq_get_abayertnr_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 229 abayertnr_uapi_manual_t *manual); 230 231 232 XCamReturn 233 rk_aiq_set_aynr_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 234 aynr_uapi_manual_t *manual); 235 236 XCamReturn 237 rk_aiq_get_aynr_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 238 aynr_uapi_manual_t *manual); 239 240 XCamReturn 241 rk_aiq_set_acnr_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 242 acnr_uapi_manual_t *manual); 243 244 XCamReturn 245 rk_aiq_get_acnr_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 246 acnr_uapi_manual_t *manual); 247 248 XCamReturn 249 rk_aiq_set_again_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 250 again_uapi_manual_t *manual); 251 252 XCamReturn 253 rk_aiq_get_again_manual_attr(const rk_aiq_sys_ctx_t *sys_ctx, 254 again_uapi_manual_t *manual); 255 256 XCamReturn 257 rk_aiq_get_ablc_info(const rk_aiq_sys_ctx_t *sys_ctx, 258 ablc_uapi_info_t *info); 259 260 XCamReturn 261 rk_aiq_get_abayertnr_info(const rk_aiq_sys_ctx_t *sys_ctx, 262 abayertnr_uapi_info_t *info); 263 264 XCamReturn 265 rk_aiq_get_abayer2dnr_info(const rk_aiq_sys_ctx_t *sys_ctx, 266 abayer2dnr_uapi_info_t *info) ; 267 XCamReturn 268 rk_aiq_get_aynr_info(const rk_aiq_sys_ctx_t *sys_ctx, 269 aynr_uapi_info_t *info); 270 XCamReturn 271 rk_aiq_get_acnr_info(const rk_aiq_sys_ctx_t *sys_ctx, 272 acnr_uapi_info_t *info); 273 XCamReturn 274 rk_aiq_get_asharp_info(const rk_aiq_sys_ctx_t *sys_ctx, 275 asharp_uapi_info_t *info); 276 277 XCamReturn 278 rk_aiq_get_again_info(const rk_aiq_sys_ctx_t *sys_ctx, 279 again_uapi_info_t *info); 280 281 282 #endif /*__RK_AIQ_USER_API2_WRAPPER_H__*/ 283