1 /* 2 * rk_aiq_uapi_camgroup_a3dlut_int.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 #ifndef _RK_AIQ_UAPIV2_CAMGROUP_AWB_INT_H_ 20 #define _RK_AIQ_UAPIV2_CAMGROUP_AWB_INT_H_ 21 22 #include "base/xcam_common.h" 23 #include "rk_aiq_algo_des.h" 24 #include "awb/rk_aiq_types_awb_algo_int.h" 25 26 // need_sync means the implementation should consider 27 // the thread synchronization 28 // if called by RkAiqAwbHandleInt, the sync has been done 29 // in framework. And if called by user app directly, 30 // sync should be done in inner. now we just need implement 31 // the case of need_sync == false; need_sync is for future usage. 32 33 34 XCamReturn 35 rk_aiq_uapiV2_camgroup_awbV21_SetAttrib(RkAiqAlgoContext *ctx, 36 const rk_aiq_uapiV2_wbV21_attrib_t &attr, 37 bool need_sync); 38 XCamReturn 39 rk_aiq_uapiV2_camgroup_awbV21_GetAttrib(RkAiqAlgoContext *ctx, 40 rk_aiq_uapiV2_wbV21_attrib_t *attr); 41 42 XCamReturn 43 rk_aiq_uapiV2_camgroup_awb_SetMwbMode(RkAiqAlgoContext *ctx, 44 const rk_aiq_wb_op_mode_t &mode, 45 bool need_sync); 46 47 XCamReturn 48 rk_aiq_uapiV2_camgroup_awb_GetMwbMode(RkAiqAlgoContext *ctx, 49 rk_aiq_wb_op_mode_t *mode); 50 51 XCamReturn 52 rk_aiq_uapiV2_camgroup_awb_SetMwbAttrib(RkAiqAlgoContext *ctx, 53 const rk_aiq_wb_mwb_attrib_t &attr, 54 bool need_sync); 55 56 XCamReturn 57 rk_aiq_uapiV2_camgroup_awb_GetMwbAttrib(RkAiqAlgoContext *ctx, 58 rk_aiq_wb_mwb_attrib_t *attr); 59 60 XCamReturn 61 rk_aiq_uapiV2_camgroup_awbV21_SetAwbAttrib(RkAiqAlgoContext *ctx, 62 const rk_aiq_uapiV2_wbV21_awb_attrib_t &attr, 63 bool need_sync); 64 65 XCamReturn 66 rk_aiq_uapiV2_camgroup_awbV21_GetAwbAttrib(RkAiqAlgoContext *ctx, 67 rk_aiq_uapiV2_wbV21_awb_attrib_t *attr); 68 69 XCamReturn 70 rk_aiq_uapiV2_camgroup_awb_SetAwbGainAdjust(RkAiqAlgoContext *ctx, 71 const rk_aiq_uapiV2_wb_awb_wbGainAdjust_t &wbGainAdjust, 72 bool need_sync); 73 XCamReturn 74 rk_aiq_uapiV2_camgroup_awb_GetAwbGainAdjust(RkAiqAlgoContext *ctx, 75 rk_aiq_uapiV2_wb_awb_wbGainAdjust_t *wbGainAdjust); 76 77 XCamReturn 78 rk_aiq_uapiV2_camgroup_awb_SetAwbGainOffset(RkAiqAlgoContext *ctx, 79 CalibDbV2_Awb_gain_offset_cfg_t wbGainOffset, 80 bool need_sync); 81 XCamReturn 82 rk_aiq_uapiV2_camgroup_awb_GetAwbGainOffset(RkAiqAlgoContext *ctx, 83 CalibDbV2_Awb_gain_offset_cfg_t *wbGainOffset); 84 XCamReturn 85 rk_aiq_uapiV2_camgroup_awb_GetCCT(const RkAiqAlgoContext *ctx, 86 rk_aiq_wb_cct_t *cct ); 87 88 XCamReturn 89 rk_aiq_uapiV2_camgroup_awb_SetAwbMultiwindow(RkAiqAlgoContext *ctx, 90 const CalibDbV2_Awb_Mul_Win_t &multiWindow, 91 bool need_sync); 92 XCamReturn 93 rk_aiq_uapiV2_camgroup_awb_GetAwbMultiwindow(RkAiqAlgoContext *ctx, 94 CalibDbV2_Awb_Mul_Win_t *multiWindow); 95 96 XCamReturn 97 rk_aiq_uapiV2_camgroup_awb_QueryWBInfo(const RkAiqAlgoContext *ctx, 98 rk_aiq_wb_querry_info_t *wb_querry_info ); 99 XCamReturn 100 rk_aiq_uapiV2_camgroup_awb_Lock(RkAiqAlgoContext *ctx); 101 102 XCamReturn 103 rk_aiq_uapiV2_camgroup_awb_Unlock(const RkAiqAlgoContext *ctx); 104 XCamReturn 105 rk_aiq_uapiV2_camgroup_awb_GetAlgoStat(const RkAiqAlgoContext *ctx, 106 rk_tool_awb_stat_res_full_t *awb_stat_algo ); 107 XCamReturn 108 rk_aiq_uapiV2_camgroup_awb_GetStrategyResult(const RkAiqAlgoContext *ctx, 109 rk_tool_awb_strategy_result_t *awb_strategy_result); 110 XCamReturn 111 rk_aiq_uapiV2_camgroup_awbV32_SetAwbMultiwindow(RkAiqAlgoContext *ctx, 112 const rk_aiq_uapiV2_wbV32_awb_mulWindow_t &multiWindow, 113 bool need_sync); 114 XCamReturn 115 rk_aiq_uapiV2_camgroup_awbV32_GetAwbMultiwindow(RkAiqAlgoContext *ctx, 116 rk_aiq_uapiV2_wbV32_awb_mulWindow_t *multiWindow); 117 XCamReturn 118 rk_aiq_uapiV2_camgroup_awbV32_SetAwbAttrib(RkAiqAlgoContext *ctx, 119 const rk_aiq_uapiV2_wbV32_awb_attrib_t &attr, 120 bool need_sync); 121 XCamReturn 122 rk_aiq_uapiV2_camgroup_awbV32_GetAwbAttrib(RkAiqAlgoContext *ctx, 123 rk_aiq_uapiV2_wbV32_awb_attrib_t *attr); 124 XCamReturn 125 rk_aiq_uapiV2_camgroup_awbV32_SetAttrib(RkAiqAlgoContext *ctx, 126 const rk_aiq_uapiV2_wbV32_attrib_t &attr, 127 bool need_sync); 128 XCamReturn 129 rk_aiq_uapiV2_camgroup_awbV32_GetAttrib(RkAiqAlgoContext *ctx, 130 rk_aiq_uapiV2_wbV32_attrib_t *attr); 131 132 #endif 133 134