1 #ifndef _RK_AIQ_UAPIV2_AWB_INT_H_ 2 #define _RK_AIQ_UAPIV2_AWB_INT_H_ 3 4 #include "base/xcam_common.h" 5 #include "rk_aiq_algo_des.h" 6 #include "awb/rk_aiq_types_awb_algo_int.h" 7 8 // need_sync means the implementation should consider 9 // the thread synchronization 10 // if called by RkAiqAwbHandleInt, the sync has been done 11 // in framework. And if called by user app directly, 12 // sync should be done in inner. now we just need implement 13 // the case of need_sync == false; need_sync is for future usage. 14 15 XCamReturn 16 rk_aiq_uapiV2_awbV20_SetAttrib(RkAiqAlgoContext *ctx, 17 const rk_aiq_uapiV2_wbV20_attrib_t &attr, 18 bool need_sync); 19 20 XCamReturn 21 rk_aiq_uapiV2_awbV20_GetAttrib(RkAiqAlgoContext *ctx, 22 rk_aiq_uapiV2_wbV20_attrib_t *attr); 23 24 XCamReturn 25 rk_aiq_uapiV2_awbV21_SetAttrib(RkAiqAlgoContext *ctx, 26 const rk_aiq_uapiV2_wbV21_attrib_t &attr, 27 bool need_sync); 28 XCamReturn 29 rk_aiq_uapiV2_awbV21_GetAttrib(RkAiqAlgoContext *ctx, 30 rk_aiq_uapiV2_wbV21_attrib_t *attr); 31 32 XCamReturn 33 rk_aiq_uapiV2_awb_SetMwbMode(RkAiqAlgoContext *ctx, 34 const rk_aiq_wb_op_mode_t &mode, 35 bool need_sync); 36 37 XCamReturn 38 rk_aiq_uapiV2_awb_GetMwbMode(RkAiqAlgoContext *ctx, 39 rk_aiq_wb_op_mode_t *mode); 40 41 XCamReturn 42 rk_aiq_uapiV2_awb_SetMwbAttrib(RkAiqAlgoContext *ctx, 43 const rk_aiq_wb_mwb_attrib_t &attr, 44 bool need_sync); 45 46 XCamReturn 47 rk_aiq_uapiV2_awb_GetMwbAttrib(RkAiqAlgoContext *ctx, 48 rk_aiq_wb_mwb_attrib_t *attr); 49 50 XCamReturn 51 rk_aiq_uapiV2_awbV20_SetAwbAttrib(RkAiqAlgoContext *ctx, 52 const rk_aiq_uapiV2_wbV20_awb_attrib_t &attr, 53 bool need_sync); 54 55 XCamReturn 56 rk_aiq_uapiV2_awbV20_GetAwbAttrib(RkAiqAlgoContext *ctx, 57 rk_aiq_uapiV2_wbV20_awb_attrib_t *attr); 58 59 XCamReturn 60 rk_aiq_uapiV2_awbV21_SetAwbAttrib(RkAiqAlgoContext *ctx, 61 const rk_aiq_uapiV2_wbV21_awb_attrib_t &attr, 62 bool need_sync); 63 64 XCamReturn 65 rk_aiq_uapiV2_awbV21_GetAwbAttrib(RkAiqAlgoContext *ctx, 66 rk_aiq_uapiV2_wbV21_awb_attrib_t *attr); 67 68 XCamReturn 69 rk_aiq_uapiV2_awb_SetAwbGainAdjust(RkAiqAlgoContext *ctx, 70 const rk_aiq_uapiV2_wb_awb_wbGainAdjust_t &wbGainAdjust, 71 bool need_sync); 72 XCamReturn 73 rk_aiq_uapiV2_awb_GetAwbGainAdjust(RkAiqAlgoContext *ctx, 74 rk_aiq_uapiV2_wb_awb_wbGainAdjust_t *wbGainAdjust); 75 76 XCamReturn 77 rk_aiq_uapiV2_awb_SetAwbGainOffset(RkAiqAlgoContext *ctx, 78 CalibDbV2_Awb_gain_offset_cfg_t wbGainOffset, 79 bool need_sync); 80 XCamReturn 81 rk_aiq_uapiV2_awb_GetAwbGainOffset(RkAiqAlgoContext *ctx, 82 CalibDbV2_Awb_gain_offset_cfg_t *wbGainOffset); 83 XCamReturn 84 rk_aiq_uapiV2_awb_GetCCT(const RkAiqAlgoContext *ctx, 85 rk_aiq_wb_cct_t *cct ); 86 87 XCamReturn 88 rk_aiq_uapiV2_awb_SetAwbMultiwindow(RkAiqAlgoContext *ctx, 89 const CalibDbV2_Awb_Mul_Win_t &multiWindow, 90 bool need_sync); 91 XCamReturn 92 rk_aiq_uapiV2_awb_GetAwbMultiwindow(RkAiqAlgoContext *ctx, 93 CalibDbV2_Awb_Mul_Win_t *multiWindow); 94 95 XCamReturn 96 rk_aiq_uapiV2_awb_QueryWBInfo(const RkAiqAlgoContext *ctx, 97 rk_aiq_wb_querry_info_t *wb_querry_info ); 98 XCamReturn 99 rk_aiq_uapiV2_awb_Lock(RkAiqAlgoContext *ctx); 100 101 XCamReturn 102 rk_aiq_uapiV2_awb_Unlock(const RkAiqAlgoContext *ctx); 103 104 XCamReturn 105 rk_aiq_uapiV2_awb_GetAlgoStat(const RkAiqAlgoContext *ctx,rk_tool_awb_stat_res_full_t *awb_stat_algo); 106 107 XCamReturn 108 rk_aiq_uapiV2_awb_GetStrategyResult(const RkAiqAlgoContext *ctx,rk_tool_awb_strategy_result_t *awb_strategy_result); 109 XCamReturn 110 rk_aiq_uapiV2_awbV32_SetAwbMultiwindow(RkAiqAlgoContext *ctx, 111 const rk_aiq_uapiV2_wbV32_awb_mulWindow_t &multiWindow, 112 bool need_sync); 113 XCamReturn 114 rk_aiq_uapiV2_awbV32_GetAwbMultiwindow(RkAiqAlgoContext *ctx, 115 rk_aiq_uapiV2_wbV32_awb_mulWindow_t *multiWindow); 116 XCamReturn 117 rk_aiq_uapiV2_awbV32_SetAwbAttrib(RkAiqAlgoContext *ctx, 118 const rk_aiq_uapiV2_wbV32_awb_attrib_t &attr, 119 bool need_sync); 120 XCamReturn 121 rk_aiq_uapiV2_awbV32_GetAwbAttrib(RkAiqAlgoContext *ctx, 122 rk_aiq_uapiV2_wbV32_awb_attrib_t *attr); 123 124 XCamReturn 125 rk_aiq_uapiV2_awbV32_SetAttrib(RkAiqAlgoContext *ctx, 126 const rk_aiq_uapiV2_wbV32_attrib_t &attr, 127 bool need_sync); 128 XCamReturn 129 rk_aiq_uapiV2_awbV32_GetAttrib(RkAiqAlgoContext *ctx, 130 rk_aiq_uapiV2_wbV32_attrib_t *attr); 131 XCamReturn 132 rk_aiq_uapiV2_awbV32_GetAwbMultiwindow(RkAiqAlgoContext *ctx, 133 rk_aiq_uapiV2_wbV32_awb_mulWindow_t *multiWindow); 134 XCamReturn 135 rk_aiq_uapiV2_awbV32_SetAwbMultiwindow(RkAiqAlgoContext *ctx, 136 const rk_aiq_uapiV2_wbV32_awb_mulWindow_t &multiWindow, 137 bool need_sync); 138 XCamReturn 139 rk_aiq_uapiV2_awb_WriteInput(RkAiqAlgoContext *ctx, 140 const rk_aiq_uapiV2_awb_wrtIn_attr_t &attr, 141 bool need_sync); 142 XCamReturn 143 rk_aiq_uapiV2_awb_SetFstFrWbgain(RkAiqAlgoContext *ctx, 144 const rk_aiq_wb_gain_t &wbgain, 145 bool need_sync); 146 147 #endif 148 149