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