#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; }