android13/external/camera_engine_rkaiq/ipc_server/rkaiq_tool_sysctl.cpp

179 lines
5.2 KiB
C++
Executable File

#include "socket_server.h"
#ifdef LOG_TAG
#undef LOG_TAG
#endif
#define LOG_TAG "rkaiq_tool_sysctl.cpp"
int setCpsLtCfg(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_uapi_sysctl_setCpsLtCfg(ctx, (rk_aiq_cpsl_cfg_t*) data);
}
int getCpsLtInfo(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_uapi_sysctl_getCpsLtInfo(ctx, (rk_aiq_cpsl_info_t *) data);
}
int queryCpsLtCap(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_uapi_sysctl_queryCpsLtCap(ctx, (rk_aiq_cpsl_cap_t *) data);
}
int setWorkingModeDyn(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_uapi_sysctl_swWorkingModeDyn(ctx, *(rk_aiq_working_mode_t*) data);
}
int getVersionInfo(rk_aiq_sys_ctx_t* ctx, char* data) {
rk_aiq_uapi_get_version_info((rk_aiq_ver_info_t *)data);
return 0;
}
#if RKAIQ_HAVE_MERGE_V10
int setMergeAttribV10(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api2_amerge_v10_SetAttrib(ctx, (mergeAttrV10_t*)data);
}
int getMergeAttribV10(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api2_amerge_v10_GetAttrib(ctx, (mergeAttrV10_t*)data);
}
#endif
#if RKAIQ_HAVE_MERGE_V11
int setMergeAttribV11(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api2_amerge_v11_SetAttrib(ctx, (mergeAttrV11_t*)data);
}
int getMergeAttribV11(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api2_amerge_v11_GetAttrib(ctx, (mergeAttrV11_t*)data);
}
#endif
#if RKAIQ_HAVE_MERGE_V12
int setMergeAttribV12(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api2_amerge_v12_SetAttrib(ctx, (mergeAttrV12_t*)data);
}
int getMergeAttribV12(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api2_amerge_v12_GetAttrib(ctx, (mergeAttrV12_t*)data);
}
#endif
int setTmoAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api2_atmo_SetAttrib(ctx, *(atmo_attrib_t*)data);
}
int getTmoAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api2_atmo_GetAttrib(ctx, (atmo_attrib_t*)data);
}
int setGammaAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api_agamma_SetAttrib(ctx, *(rk_aiq_gamma_attrib_t*)data);
}
int getGammaAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api_agamma_GetAttrib(ctx, (rk_aiq_gamma_attrib_t*)data);
}
int setDpccAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api2_adpcc_SetAttrib(ctx, (rk_aiq_dpcc_attrib_V20_t *)data);
}
int getDpccAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api2_adpcc_GetAttrib(ctx, (rk_aiq_dpcc_attrib_V20_t *)data);
}
/*
int setDehazeAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api_adehaze_setSwAttrib(ctx, *(adehaze_sw_t *)data);
}
int getDehazeAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
return rk_aiq_user_api_adehaze_getSwAttrib(ctx, (adehaze_sw_t *)data);
}
*/
int setCcmAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
{
#if RKAIQ_HAVE_CCM_V1
return rk_aiq_user_api_accm_SetAttrib(ctx, (rk_aiq_ccm_attrib_t*) data);
#elif RKAIQ_HAVE_CCM_V2
return rk_aiq_user_api_accm_v2_SetAttrib(ctx, (rk_aiq_ccm_v2_attrib_t*) data);
#else
return -1;
#endif
}
int getCcmAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
{
#if RKAIQ_HAVE_CCM_V1
return rk_aiq_user_api_accm_GetAttrib(ctx, (rk_aiq_ccm_attrib_t *)data);
#elif RKAIQ_HAVE_CCM_V2
return rk_aiq_user_api_accm_v2_GetAttrib(ctx, (rk_aiq_ccm_v2_attrib_t *)data);
#else
return -1;
#endif
}
int queryCCMInfo(rk_aiq_sys_ctx_t* ctx, char* data)
{
return rk_aiq_user_api_accm_QueryCcmInfo(ctx, (rk_aiq_ccm_querry_info_t *)data);
}
int setAwbAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
{
return rk_aiq_user_api_awb_SetAttrib(ctx, *(rk_aiq_wb_attrib_t*)data);
}
int getAwbAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
{
return rk_aiq_user_api_awb_GetAttrib(ctx, (rk_aiq_wb_attrib_t*)data);
}
int getAwbCCT(rk_aiq_sys_ctx_t* ctx, char* data)
{
return rk_aiq_user_api_awb_GetCCT(ctx, (rk_aiq_wb_cct_t *)data);
}
int queryWBInfo(rk_aiq_sys_ctx_t* ctx, char* data)
{
return rk_aiq_user_api_awb_QueryWBInfo(ctx, (rk_aiq_wb_querry_info_t*) data);
}
int setAcpAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
{
return rk_aiq_user_api_acp_SetAttrib(ctx, (acp_attrib_t*) data);
}
int getAcpAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
{
return rk_aiq_user_api_acp_GetAttrib(ctx, (acp_attrib_t *) data);
}
int enqueueRkRawFile(rk_aiq_sys_ctx_t* ctx, char* data)
{
return rk_aiq_uapi_sysctl_enqueueRkRawFile(ctx, data);
}
int get3AStats(rk_aiq_sys_ctx_t* ctx, char* data)
{
return rk_aiq_uapi_sysctl_get3AStats(ctx, (rk_aiq_isp_stats_t*)data);
}
int get3AStatsBlk(rk_aiq_sys_ctx_t* ctx, char* data)
{
rk_aiq_isp_stats_t* new_stats = NULL;
rk_aiq_uapi_sysctl_get3AStatsBlk(ctx, &new_stats, -1);
if (new_stats) {
memcpy(data, new_stats, sizeof(rk_aiq_isp_stats_t));
rk_aiq_uapi_sysctl_release3AStatsRef(ctx, new_stats);
return 0;
} else {
return -1;
}
}
int writeAwbIn(rk_aiq_sys_ctx_t* ctx, char* data)
{
static int call_cnt = 0;
rk_aiq_uapiV2_awb_wrtIn_attr_t attr;
memset(&attr,0,sizeof(rk_aiq_uapiV2_awb_wrtIn_attr_t));
attr.en = true;
attr.mode = 1; // 1 means rgb ,0 means raw
attr.call_cnt = call_cnt++;
sprintf(attr.path,"/tmp");
return rk_aiq_user_api2_awb_WriteAwbIn(ctx, attr);
}