xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/ipc_server/rkaiq_tool_sysctl.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #include "socket_server.h"
2 
3 #ifdef LOG_TAG
4 #undef LOG_TAG
5 #endif
6 #define LOG_TAG "rkaiq_tool_sysctl.cpp"
7 
setCpsLtCfg(rk_aiq_sys_ctx_t * ctx,char * data)8 int setCpsLtCfg(rk_aiq_sys_ctx_t* ctx, char* data) {
9     return rk_aiq_uapi_sysctl_setCpsLtCfg(ctx, (rk_aiq_cpsl_cfg_t*) data);
10 }
11 
getCpsLtInfo(rk_aiq_sys_ctx_t * ctx,char * data)12 int getCpsLtInfo(rk_aiq_sys_ctx_t* ctx, char* data) {
13     return rk_aiq_uapi_sysctl_getCpsLtInfo(ctx, (rk_aiq_cpsl_info_t *) data);
14 }
15 
queryCpsLtCap(rk_aiq_sys_ctx_t * ctx,char * data)16 int queryCpsLtCap(rk_aiq_sys_ctx_t* ctx, char* data) {
17     return rk_aiq_uapi_sysctl_queryCpsLtCap(ctx, (rk_aiq_cpsl_cap_t *) data);
18 }
19 
setWorkingModeDyn(rk_aiq_sys_ctx_t * ctx,char * data)20 int setWorkingModeDyn(rk_aiq_sys_ctx_t* ctx, char* data) {
21     return rk_aiq_uapi_sysctl_swWorkingModeDyn(ctx, *(rk_aiq_working_mode_t*) data);
22 }
23 
getVersionInfo(rk_aiq_sys_ctx_t * ctx,char * data)24 int getVersionInfo(rk_aiq_sys_ctx_t* ctx, char* data) {
25     rk_aiq_uapi_get_version_info((rk_aiq_ver_info_t *)data);
26     return 0;
27 }
28 
29 #if RKAIQ_HAVE_MERGE_V10
setMergeAttribV10(rk_aiq_sys_ctx_t * ctx,char * data)30 int setMergeAttribV10(rk_aiq_sys_ctx_t* ctx, char* data) {
31     return rk_aiq_user_api2_amerge_v10_SetAttrib(ctx, (mergeAttrV10_t*)data);
32 }
33 
getMergeAttribV10(rk_aiq_sys_ctx_t * ctx,char * data)34 int getMergeAttribV10(rk_aiq_sys_ctx_t* ctx, char* data) {
35     return rk_aiq_user_api2_amerge_v10_GetAttrib(ctx, (mergeAttrV10_t*)data);
36 }
37 #endif
38 #if RKAIQ_HAVE_MERGE_V11
setMergeAttribV11(rk_aiq_sys_ctx_t * ctx,char * data)39 int setMergeAttribV11(rk_aiq_sys_ctx_t* ctx, char* data) {
40     return rk_aiq_user_api2_amerge_v11_SetAttrib(ctx, (mergeAttrV11_t*)data);
41 }
42 
getMergeAttribV11(rk_aiq_sys_ctx_t * ctx,char * data)43 int getMergeAttribV11(rk_aiq_sys_ctx_t* ctx, char* data) {
44     return rk_aiq_user_api2_amerge_v11_GetAttrib(ctx, (mergeAttrV11_t*)data);
45 }
46 #endif
47 #if RKAIQ_HAVE_MERGE_V12
setMergeAttribV12(rk_aiq_sys_ctx_t * ctx,char * data)48 int setMergeAttribV12(rk_aiq_sys_ctx_t* ctx, char* data) {
49     return rk_aiq_user_api2_amerge_v12_SetAttrib(ctx, (mergeAttrV12_t*)data);
50 }
51 
getMergeAttribV12(rk_aiq_sys_ctx_t * ctx,char * data)52 int getMergeAttribV12(rk_aiq_sys_ctx_t* ctx, char* data) {
53     return rk_aiq_user_api2_amerge_v12_GetAttrib(ctx, (mergeAttrV12_t*)data);
54 }
55 #endif
56 
setTmoAttrib(rk_aiq_sys_ctx_t * ctx,char * data)57 int setTmoAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
58     return rk_aiq_user_api2_atmo_SetAttrib(ctx, *(atmo_attrib_t*)data);
59 }
60 
getTmoAttrib(rk_aiq_sys_ctx_t * ctx,char * data)61 int getTmoAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
62     return rk_aiq_user_api2_atmo_GetAttrib(ctx, (atmo_attrib_t*)data);
63 }
64 
setGammaAttrib(rk_aiq_sys_ctx_t * ctx,char * data)65 int setGammaAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
66     return rk_aiq_user_api_agamma_SetAttrib(ctx, *(rk_aiq_gamma_attrib_t*)data);
67 }
68 
getGammaAttrib(rk_aiq_sys_ctx_t * ctx,char * data)69 int getGammaAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
70     return rk_aiq_user_api_agamma_GetAttrib(ctx, (rk_aiq_gamma_attrib_t*)data);
71 }
72 
setDpccAttrib(rk_aiq_sys_ctx_t * ctx,char * data)73 int setDpccAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
74     return rk_aiq_user_api2_adpcc_SetAttrib(ctx, (rk_aiq_dpcc_attrib_V20_t *)data);
75 }
76 
getDpccAttrib(rk_aiq_sys_ctx_t * ctx,char * data)77 int getDpccAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
78     return rk_aiq_user_api2_adpcc_GetAttrib(ctx, (rk_aiq_dpcc_attrib_V20_t *)data);
79 }
80 /*
81 int setDehazeAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
82     return rk_aiq_user_api_adehaze_setSwAttrib(ctx, *(adehaze_sw_t *)data);
83 }
84 
85 int getDehazeAttrib(rk_aiq_sys_ctx_t* ctx, char* data) {
86     return rk_aiq_user_api_adehaze_getSwAttrib(ctx, (adehaze_sw_t *)data);
87 }
88 */
setCcmAttrib(rk_aiq_sys_ctx_t * ctx,char * data)89 int setCcmAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
90 {
91 #if RKAIQ_HAVE_CCM_V1
92     return rk_aiq_user_api_accm_SetAttrib(ctx, (rk_aiq_ccm_attrib_t*) data);
93 #elif RKAIQ_HAVE_CCM_V2
94     return rk_aiq_user_api_accm_v2_SetAttrib(ctx, (rk_aiq_ccm_v2_attrib_t*) data);
95 #else
96     return -1;
97 #endif
98 }
99 
getCcmAttrib(rk_aiq_sys_ctx_t * ctx,char * data)100 int getCcmAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
101 {
102 #if RKAIQ_HAVE_CCM_V1
103     return rk_aiq_user_api_accm_GetAttrib(ctx, (rk_aiq_ccm_attrib_t *)data);
104 #elif RKAIQ_HAVE_CCM_V2
105     return rk_aiq_user_api_accm_v2_GetAttrib(ctx, (rk_aiq_ccm_v2_attrib_t *)data);
106 #else
107     return -1;
108 #endif
109 }
110 
queryCCMInfo(rk_aiq_sys_ctx_t * ctx,char * data)111 int queryCCMInfo(rk_aiq_sys_ctx_t* ctx, char* data)
112 {
113     return rk_aiq_user_api_accm_QueryCcmInfo(ctx, (rk_aiq_ccm_querry_info_t *)data);
114 }
setAwbAttrib(rk_aiq_sys_ctx_t * ctx,char * data)115 int setAwbAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
116 {
117     return rk_aiq_user_api_awb_SetAttrib(ctx, *(rk_aiq_wb_attrib_t*)data);
118 }
119 
getAwbAttrib(rk_aiq_sys_ctx_t * ctx,char * data)120 int getAwbAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
121 {
122     return rk_aiq_user_api_awb_GetAttrib(ctx, (rk_aiq_wb_attrib_t*)data);
123 }
124 
getAwbCCT(rk_aiq_sys_ctx_t * ctx,char * data)125 int getAwbCCT(rk_aiq_sys_ctx_t* ctx, char* data)
126 {
127     return rk_aiq_user_api_awb_GetCCT(ctx, (rk_aiq_wb_cct_t *)data);
128 }
129 
queryWBInfo(rk_aiq_sys_ctx_t * ctx,char * data)130 int queryWBInfo(rk_aiq_sys_ctx_t* ctx, char* data)
131 {
132     return rk_aiq_user_api_awb_QueryWBInfo(ctx, (rk_aiq_wb_querry_info_t*) data);
133 }
134 
setAcpAttrib(rk_aiq_sys_ctx_t * ctx,char * data)135 int setAcpAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
136 {
137     return  rk_aiq_user_api_acp_SetAttrib(ctx, (acp_attrib_t*) data);
138 }
139 
getAcpAttrib(rk_aiq_sys_ctx_t * ctx,char * data)140 int getAcpAttrib(rk_aiq_sys_ctx_t* ctx, char* data)
141 {
142     return rk_aiq_user_api_acp_GetAttrib(ctx, (acp_attrib_t *) data);
143 }
144 
enqueueRkRawFile(rk_aiq_sys_ctx_t * ctx,char * data)145 int enqueueRkRawFile(rk_aiq_sys_ctx_t* ctx, char* data)
146 {
147     return rk_aiq_uapi_sysctl_enqueueRkRawFile(ctx, data);
148 }
149 
get3AStats(rk_aiq_sys_ctx_t * ctx,char * data)150 int get3AStats(rk_aiq_sys_ctx_t* ctx, char* data)
151 {
152     return rk_aiq_uapi_sysctl_get3AStats(ctx, (rk_aiq_isp_stats_t*)data);
153 }
154 
get3AStatsBlk(rk_aiq_sys_ctx_t * ctx,char * data)155 int get3AStatsBlk(rk_aiq_sys_ctx_t* ctx, char* data)
156 {
157     rk_aiq_isp_stats_t* new_stats = NULL;
158     rk_aiq_uapi_sysctl_get3AStatsBlk(ctx, &new_stats, -1);
159     if (new_stats) {
160       memcpy(data, new_stats, sizeof(rk_aiq_isp_stats_t));
161       rk_aiq_uapi_sysctl_release3AStatsRef(ctx, new_stats);
162       return 0;
163     } else {
164       return -1;
165     }
166 }
167 
writeAwbIn(rk_aiq_sys_ctx_t * ctx,char * data)168 int writeAwbIn(rk_aiq_sys_ctx_t* ctx, char* data)
169 {
170     static int call_cnt = 0;
171     rk_aiq_uapiV2_awb_wrtIn_attr_t attr;
172     memset(&attr,0,sizeof(rk_aiq_uapiV2_awb_wrtIn_attr_t));
173     attr.en = true;
174     attr.mode = 1; // 1 means rgb ,0 means raw
175     attr.call_cnt = call_cnt++;
176     sprintf(attr.path,"/tmp");
177     return rk_aiq_user_api2_awb_WriteAwbIn(ctx, attr);
178 }
179