#include "rk_aiq_uapi_agamma_int.h"
|
#include "agamma/rk_aiq_types_agamma_algo_prvt.h"
|
|
XCamReturn
|
rk_aiq_uapi_agamma_SetAttrib(RkAiqAlgoContext *ctx,
|
rk_aiq_gamma_attrib_V2_t attr,
|
bool need_sync)
|
{
|
LOG1_AGAMMA("ENTER: %s \n", __func__);
|
AgammaHandle_t *gamma_handle = (AgammaHandle_t *)ctx;
|
XCamReturn ret = XCAM_RETURN_NO_ERROR;
|
|
if(CHECK_ISP_HW_V21()) {
|
gamma_handle->agammaAttr.atrrV21.mode = attr.atrrV21.mode;
|
if(attr.atrrV21.mode == RK_AIQ_GAMMA_MODE_MANUAL)
|
memcpy(&gamma_handle->agammaAttr.atrrV21.stManual, &attr.atrrV21.stManual, sizeof(Agamma_api_manualV21_t));
|
if(attr.atrrV21.mode == RK_AIQ_GAMMA_MODE_FAST)
|
memcpy(&gamma_handle->agammaAttr.atrrV21.stFast, &attr.atrrV21.stFast, sizeof(Agamma_api_Fast_t));
|
}
|
else if(CHECK_ISP_HW_V30()) {
|
gamma_handle->agammaAttr.atrrV30.mode = attr.atrrV30.mode;
|
if(attr.atrrV30.mode == RK_AIQ_GAMMA_MODE_MANUAL)
|
memcpy(&gamma_handle->agammaAttr.atrrV30.stManual, &attr.atrrV30.stManual, sizeof(Agamma_api_manualV30_t));
|
if(attr.atrrV30.mode == RK_AIQ_GAMMA_MODE_FAST)
|
memcpy(&gamma_handle->agammaAttr.atrrV30.stFast, &attr.atrrV30.stFast, sizeof(Agamma_api_Fast_t));
|
}
|
|
LOG1_AGAMMA("EXIT: %s \n", __func__);
|
return ret;
|
}
|
|
XCamReturn
|
rk_aiq_uapi_agamma_GetAttrib(const RkAiqAlgoContext *ctx,
|
rk_aiq_gamma_attrib_V2_t *attr)
|
{
|
LOG1_AGAMMA("ENTER: %s \n", __func__);
|
|
AgammaHandle_t* gamma_handle = (AgammaHandle_t*)ctx;
|
|
if(CHECK_ISP_HW_V21()) {
|
attr->atrrV21.mode = gamma_handle->agammaAttr.atrrV21.mode;
|
memcpy(&attr->atrrV21.stManual, &gamma_handle->agammaAttr.atrrV21.stManual, sizeof(Agamma_api_manualV21_t));
|
memcpy(&attr->atrrV21.stFast, &gamma_handle->agammaAttr.atrrV21.stFast, sizeof(Agamma_api_Fast_t));
|
}
|
else if(CHECK_ISP_HW_V30()) {
|
attr->atrrV30.mode = gamma_handle->agammaAttr.atrrV30.mode;
|
memcpy(&attr->atrrV30.stManual, &gamma_handle->agammaAttr.atrrV30.stManual, sizeof(Agamma_api_manualV30_t));
|
memcpy(&attr->atrrV30.stFast, &gamma_handle->agammaAttr.atrrV30.stFast, sizeof(Agamma_api_Fast_t));
|
}
|
|
LOG1_AGAMMA("EXIT: %s \n", __func__);
|
return XCAM_RETURN_NO_ERROR;
|
}
|