1 #include "rk_aiq_uapi_ablc_int.h"
2 #include "ablc/rk_aiq_types_ablc_algo_prvt.h"
3
4
5 XCamReturn
rk_aiq_uapi_ablc_SetAttrib(RkAiqAlgoContext * ctx,rk_aiq_blc_attrib_t * attr,bool need_sync)6 rk_aiq_uapi_ablc_SetAttrib(RkAiqAlgoContext *ctx,
7 rk_aiq_blc_attrib_t *attr,
8 bool need_sync)
9 {
10 AblcContext_t* pAblcCtx = (AblcContext_t*)ctx;
11 XCamReturn ret = XCAM_RETURN_NO_ERROR;
12 pAblcCtx->eMode = attr->eMode;
13 if(attr->eMode == ABLC_OP_MODE_MANUAL) {
14 pAblcCtx->stBlc0Manual = attr->stBlc0Manual;
15 pAblcCtx->stBlc1Manual = attr->stBlc1Manual;
16 } else if(attr->eMode == ABLC_OP_MODE_AUTO) {
17 memcpy(&pAblcCtx->stBlc0Params, &attr->stBlc0Auto, sizeof(pAblcCtx->stBlc0Params));
18 memcpy(&pAblcCtx->stBlc1Params, &attr->stBlc1Auto, sizeof(pAblcCtx->stBlc1Params));
19 }
20
21
22 pAblcCtx->isReCalculate |= 1;
23 return ret;
24 }
25
26 XCamReturn
rk_aiq_uapi_ablc_GetAttrib(const RkAiqAlgoContext * ctx,rk_aiq_blc_attrib_t * attr)27 rk_aiq_uapi_ablc_GetAttrib(const RkAiqAlgoContext *ctx,
28 rk_aiq_blc_attrib_t *attr)
29 {
30
31 AblcContext_t* pAblcCtx = (AblcContext_t*)ctx;
32 XCamReturn ret = XCAM_RETURN_NO_ERROR;
33
34 attr->eMode = pAblcCtx->eMode;
35 memcpy(&attr->stBlc0Manual, &pAblcCtx->stBlc0Manual, sizeof(attr->stBlc0Manual));
36 memcpy(&attr->stBlc1Manual, &pAblcCtx->stBlc1Manual, sizeof(attr->stBlc1Manual));
37
38 memcpy(&attr->stBlc0Auto, &pAblcCtx->stBlc0Params, sizeof(attr->stBlc0Auto));
39 memcpy(&attr->stBlc1Auto, &pAblcCtx->stBlc1Params, sizeof(attr->stBlc1Auto));
40 return ret;
41 }
42
43
44 XCamReturn
rk_aiq_uapi_ablc_GetProc(const RkAiqAlgoContext * ctx,AblcProc_t * ProcRes)45 rk_aiq_uapi_ablc_GetProc(const RkAiqAlgoContext *ctx,
46 AblcProc_t *ProcRes)
47 {
48 AblcContext_t* pAblcCtx = (AblcContext_t*)ctx;
49 XCamReturn ret = XCAM_RETURN_NO_ERROR;
50
51 *ProcRes = pAblcCtx->ProcRes;
52 return ret;
53 }
54
55 XCamReturn
rk_aiq_uapi_ablc_GetInfo(const RkAiqAlgoContext * ctx,rk_aiq_ablc_info_t * pInfo)56 rk_aiq_uapi_ablc_GetInfo(const RkAiqAlgoContext *ctx,
57 rk_aiq_ablc_info_t *pInfo)
58 {
59 AblcContext_t* pAblcCtx = (AblcContext_t*)ctx;
60 XCamReturn ret = XCAM_RETURN_NO_ERROR;
61
62 pInfo->iso = pAblcCtx->stExpInfo.arIso[pAblcCtx->stExpInfo.hdr_mode];
63 pInfo->expo_info = pAblcCtx->stExpInfo;
64 return ret;
65 }
66
67
68