1 #include "rk_aiq_uapi_adehaze_int.h"
2 #include "rk_aiq_types_adehaze_algo_prvt.h"
3 #include "xcam_log.h"
4
5 #if RKAIQ_HAVE_DEHAZE_V10
rk_aiq_uapi_adehaze_v10_SetAttrib(RkAiqAlgoContext * ctx,adehaze_sw_v10_t * attr,bool need_sync)6 XCamReturn rk_aiq_uapi_adehaze_v10_SetAttrib(RkAiqAlgoContext* ctx, adehaze_sw_v10_t* attr,
7 bool need_sync) {
8 XCamReturn ret = XCAM_RETURN_NO_ERROR;
9 AdehazeHandle_t* pAdehazeHandle = (AdehazeHandle_t*)ctx;
10
11 // AdehazeHandle->AdehazeAtrrV10.mode = attr->mode;
12 // if(attr->mode == DEHAZE_API_MANUAL)
13 // memcpy(&AdehazeHandle->AdehazeAtrrV10.stManual, &attr->stManual,
14 // sizeof(mDehazeAttrV11_t));
15 // if(attr->mode == DEHAZE_API_AUTO)
16 // memcpy(&AdehazeHandle->AdehazeAtrrV10.stAuto, &attr->stAuto,
17 // sizeof(CalibDbV2_dehaze_v10_t));
18
19 return ret;
20 }
21
rk_aiq_uapi_adehaze_v10_GetAttrib(RkAiqAlgoContext * ctx,adehaze_sw_v10_t * attr)22 XCamReturn rk_aiq_uapi_adehaze_v10_GetAttrib(RkAiqAlgoContext* ctx, adehaze_sw_v10_t* attr) {
23 XCamReturn ret = XCAM_RETURN_NO_ERROR;
24 AdehazeHandle_t* pAdehazeHandle = (AdehazeHandle_t*)ctx;
25
26 // attr->mode = AdehazeHandle->AdehazeAtrrV10.mode;
27 // memcpy(&attr->stManual, &AdehazeHandle->AdehazeAtrrV10.stManual, sizeof(mDehazeAttrV11_t));
28 // memcpy(&attr->stAuto, &AdehazeHandle->AdehazeAtrrV10.stAuto, sizeof(CalibDbV2_dehaze_v10_t));
29
30 return ret;
31 }
32 #endif
33 #if RKAIQ_HAVE_DEHAZE_V11 || RKAIQ_HAVE_DEHAZE_V11_DUO
rk_aiq_uapi_adehaze_v11_SetAttrib(RkAiqAlgoContext * ctx,adehaze_sw_v11_t * attr,bool need_sync)34 XCamReturn rk_aiq_uapi_adehaze_v11_SetAttrib(RkAiqAlgoContext* ctx, adehaze_sw_v11_t* attr,
35 bool need_sync) {
36 XCamReturn ret = XCAM_RETURN_NO_ERROR;
37 AdehazeHandle_t* pAdehazeHandle = (AdehazeHandle_t*)ctx;
38
39 #if RKAIQ_HAVE_DEHAZE_V11
40 pAdehazeHandle->AdehazeAtrrV11.mode = attr->mode;
41 if (attr->mode == DEHAZE_API_MANUAL) {
42 memcpy(&pAdehazeHandle->AdehazeAtrrV11.stManual, &attr->stManual, sizeof(mDehazeAttrV11_t));
43 pAdehazeHandle->ifReCalcStManual = true;
44 }
45 if (attr->mode == DEHAZE_API_AUTO) {
46 memcpy(&pAdehazeHandle->AdehazeAtrrV11.stAuto, &attr->stAuto,
47 sizeof(CalibDbV2_dehaze_v11_t));
48 pAdehazeHandle->ifReCalcStAuto = true;
49 }
50
51 if (attr->Info.updateMDehazeStrth) {
52 pAdehazeHandle->AdehazeAtrrV11.Info.MDehazeStrth = attr->Info.MDehazeStrth;
53 attr->Info.updateMDehazeStrth = false;
54 }
55 if (attr->Info.updateMEnhanceStrth) {
56 pAdehazeHandle->AdehazeAtrrV11.Info.MEnhanceStrth = attr->Info.MEnhanceStrth;
57 attr->Info.updateMEnhanceStrth = false;
58 }
59 if (attr->Info.updateMEnhanceChromeStrth) {
60 pAdehazeHandle->AdehazeAtrrV11.Info.MEnhanceChromeStrth = attr->Info.MEnhanceChromeStrth;
61 attr->Info.updateMEnhanceChromeStrth = false;
62 }
63 #endif
64 #if RKAIQ_HAVE_DEHAZE_V11_DUO
65 pAdehazeHandle->AdehazeAtrrV11duo.mode = attr->mode;
66 if (attr->mode == DEHAZE_API_MANUAL) {
67 memcpy(&pAdehazeHandle->AdehazeAtrrV11duo.stManual, &attr->stManual,
68 sizeof(mDehazeAttrV11_t));
69 pAdehazeHandle->ifReCalcStManual = true;
70 }
71 if (attr->mode == DEHAZE_API_AUTO) {
72 memcpy(&pAdehazeHandle->AdehazeAtrrV11duo.stAuto, &attr->stAuto,
73 sizeof(CalibDbV2_dehaze_v11_t));
74 pAdehazeHandle->ifReCalcStAuto = true;
75 }
76
77 if (attr->Info.updateMDehazeStrth) {
78 pAdehazeHandle->AdehazeAtrrV11duo.Info.MDehazeStrth = attr->Info.MDehazeStrth;
79 attr->Info.updateMDehazeStrth = false;
80 }
81 if (attr->Info.updateMEnhanceStrth) {
82 pAdehazeHandle->AdehazeAtrrV11duo.Info.MEnhanceStrth = attr->Info.MEnhanceStrth;
83 attr->Info.updateMEnhanceStrth = false;
84 }
85 if (attr->Info.updateMEnhanceChromeStrth) {
86 pAdehazeHandle->AdehazeAtrrV11duo.Info.MEnhanceChromeStrth = attr->Info.MEnhanceChromeStrth;
87 attr->Info.updateMEnhanceChromeStrth = false;
88 }
89 #endif
90 return ret;
91 }
92
rk_aiq_uapi_adehaze_v11_GetAttrib(RkAiqAlgoContext * ctx,adehaze_sw_v11_t * attr)93 XCamReturn rk_aiq_uapi_adehaze_v11_GetAttrib(RkAiqAlgoContext* ctx, adehaze_sw_v11_t* attr) {
94 XCamReturn ret = XCAM_RETURN_NO_ERROR;
95 AdehazeHandle_t* pAdehazeHandle = (AdehazeHandle_t*)ctx;
96
97 #if RKAIQ_HAVE_DEHAZE_V11
98 attr->mode = pAdehazeHandle->AdehazeAtrrV11.mode;
99 memcpy(&attr->stManual, &pAdehazeHandle->AdehazeAtrrV11.stManual, sizeof(mDehazeAttrV11_t));
100 memcpy(&attr->stAuto, &pAdehazeHandle->AdehazeAtrrV11.stAuto, sizeof(CalibDbV2_dehaze_v11_t));
101 // get info
102 attr->Info.EnvLv = pAdehazeHandle->CurrDataV11.EnvLv;
103 attr->Info.ISO = pAdehazeHandle->CurrDataV11.ISO;
104 #endif
105 #if RKAIQ_HAVE_DEHAZE_V11_DUO
106 attr->mode = pAdehazeHandle->AdehazeAtrrV11duo.mode;
107 memcpy(&attr->stManual, &pAdehazeHandle->AdehazeAtrrV11duo.stManual, sizeof(mDehazeAttrV11_t));
108 memcpy(&attr->stAuto, &pAdehazeHandle->AdehazeAtrrV11duo.stAuto,
109 sizeof(CalibDbV2_dehaze_v11_t));
110 // get info
111 attr->Info.EnvLv = pAdehazeHandle->CurrDataV11duo.EnvLv;
112 attr->Info.ISO = pAdehazeHandle->CurrDataV11duo.ISO;
113 #endif
114
115 return ret;
116 }
117 #endif
118 #if RKAIQ_HAVE_DEHAZE_V12
rk_aiq_uapi_adehaze_v12_SetAttrib(RkAiqAlgoContext * ctx,adehaze_sw_v12_t * attr,bool need_sync)119 XCamReturn rk_aiq_uapi_adehaze_v12_SetAttrib(RkAiqAlgoContext* ctx, adehaze_sw_v12_t* attr,
120 bool need_sync) {
121 XCamReturn ret = XCAM_RETURN_NO_ERROR;
122 AdehazeHandle_t* pAdehazeHandle = (AdehazeHandle_t*)ctx;
123
124 pAdehazeHandle->AdehazeAtrrV12.mode = attr->mode;
125 if (attr->mode == DEHAZE_API_MANUAL) {
126 memcpy(&pAdehazeHandle->AdehazeAtrrV12.stManual, &attr->stManual, sizeof(mDehazeAttrV12_t));
127 pAdehazeHandle->ifReCalcStManual = true;
128 }
129 if (attr->mode == DEHAZE_API_AUTO) {
130 memcpy(&pAdehazeHandle->AdehazeAtrrV12.stAuto, &attr->stAuto,
131 sizeof(CalibDbV2_dehaze_v12_t));
132 pAdehazeHandle->ifReCalcStAuto = true;
133 }
134
135 if (attr->Info.updateMDehazeStrth) {
136 pAdehazeHandle->AdehazeAtrrV12.Info.MDehazeStrth = attr->Info.MDehazeStrth;
137 attr->Info.updateMDehazeStrth = false;
138 }
139 if (attr->Info.updateMEnhanceStrth) {
140 pAdehazeHandle->AdehazeAtrrV12.Info.MEnhanceStrth = attr->Info.MEnhanceStrth;
141 attr->Info.updateMEnhanceStrth = false;
142 }
143 if (attr->Info.updateMEnhanceChromeStrth) {
144 pAdehazeHandle->AdehazeAtrrV12.Info.MEnhanceChromeStrth = attr->Info.MEnhanceChromeStrth;
145 attr->Info.updateMEnhanceChromeStrth = false;
146 }
147
148 return ret;
149 }
150
rk_aiq_uapi_adehaze_v12_GetAttrib(RkAiqAlgoContext * ctx,adehaze_sw_v12_t * attr)151 XCamReturn rk_aiq_uapi_adehaze_v12_GetAttrib(RkAiqAlgoContext* ctx, adehaze_sw_v12_t* attr) {
152 XCamReturn ret = XCAM_RETURN_NO_ERROR;
153 AdehazeHandle_t* pAdehazeHandle = (AdehazeHandle_t*)ctx;
154
155 attr->mode = pAdehazeHandle->AdehazeAtrrV12.mode;
156 memcpy(&attr->stManual, &pAdehazeHandle->AdehazeAtrrV12.stManual, sizeof(mDehazeAttrV12_t));
157 memcpy(&attr->stAuto, &pAdehazeHandle->AdehazeAtrrV12.stAuto, sizeof(CalibDbV2_dehaze_v12_t));
158 // get info
159 attr->Info.EnvLv = pAdehazeHandle->CurrDataV12.EnvLv;
160 attr->Info.ISO = pAdehazeHandle->CurrDataV12.ISO;
161
162 return ret;
163 }
164
165 #endif
166