hc
2023-08-21 fc437ccf3419c424092701f3d883215fa4552a8b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "rk_aiq_uapi_a3dlut_int.h"
#include "a3dlut/rk_aiq_types_a3dlut_algo_prvt.h"
XCamReturn
rk_aiq_uapi_a3dlut_SetAttrib(RkAiqAlgoContext *ctx,
                             rk_aiq_lut3d_attrib_t attr,
                             bool need_sync)
{
 
    alut3d_context_t* alut3d_context = (alut3d_context_t*)ctx->a3dlut_para;
    alut3d_context->mNewAtt = attr;
    alut3d_context->updateAtt = true;
 
    return XCAM_RETURN_NO_ERROR;
}
 
XCamReturn
rk_aiq_uapi_a3dlut_GetAttrib(const RkAiqAlgoContext *ctx,
                             rk_aiq_lut3d_attrib_t *attr)
{
 
    alut3d_context_t* alut3d_context = (alut3d_context_t*)ctx->a3dlut_para;
 
    memcpy(attr, &alut3d_context->mCurAtt, sizeof(rk_aiq_lut3d_attrib_t));
 
    return XCAM_RETURN_NO_ERROR;
}
 
XCamReturn
rk_aiq_uapi_a3dlut_Query3dlutInfo(const RkAiqAlgoContext *ctx,
                                  rk_aiq_lut3d_querry_info_t *lut3d_querry_info )
{
 
    alut3d_context_t* alut3d_context = (alut3d_context_t*)ctx->a3dlut_para;
    lut3d_querry_info->alpha = alut3d_context->restinfo.alpha;
    strcpy(lut3d_querry_info->name, alut3d_context->restinfo.pLutProfile->name);
    memcpy(lut3d_querry_info->look_up_table_b, alut3d_context->lut3d_hw_conf.look_up_table_b,
           sizeof(lut3d_querry_info->look_up_table_b));
    memcpy(lut3d_querry_info->look_up_table_g, alut3d_context->lut3d_hw_conf.look_up_table_g,
           sizeof(lut3d_querry_info->look_up_table_g));
    memcpy(lut3d_querry_info->look_up_table_r, alut3d_context->lut3d_hw_conf.look_up_table_r,
           sizeof(lut3d_querry_info->look_up_table_r));
    lut3d_querry_info->lut3d_en = alut3d_context->lut3d_hw_conf.enable;
 
    return XCAM_RETURN_NO_ERROR;
}