xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/uAPI/include/rk_aiq_user_api_adehaze.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  *  Copyright (c) 2019 Rockchip Corporation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 
18 #ifndef _RK_AIQ_USER_API_ADEHAZE_H_
19 #define _RK_AIQ_USER_API_ADEHAZE_H_
20 
21 #include "adehaze/rk_aiq_uapi_adehaze_int.h"
22 
23 typedef struct rk_aiq_sys_ctx_s rk_aiq_sys_ctx_t;
24 
25 
26 //typedef enum rk_aiq_dehaze_op_mode_s {
27 //    RK_AIQ_DEHAZE_MODE_INVALID                     = 0,        /**< invalid mode */
28 //    RK_AIQ_DEHAZE_MODE_MANUAL                      = 1,        /**< run manual dehaze */
29 //    RK_AIQ_DEHAZE_MODE_AUTO                        = 2,        /**< run auto dehaze */
30 //    RK_AIQ_DEHAZE_MODE_OFF                         = 3,        /**< dehaze off, enhance follow IQ setting*/
31 //    RK_AIQ_DEHAZE_MODE_TOOL                        = 4,        /**< dehaze off, enhance follow IQ setting*/
32 //} rk_aiq_dehaze_op_mode_t;
33 /*
34 struct CalibDb_IIR_setting_s {
35     float stab_fnum;
36     float sigma;
37     float wt_sigma;
38     float air_sigma;
39     float tmax_sigma;
40 };
41 
42 struct CalibDb_Dehaze_Setting_s {
43     char name[CALIBDB_MAX_MODE_NAME_LENGTH];
44     float en;
45     float iso[9];
46     float dc_min_th[9];
47     float dc_max_th[9];
48     float yhist_th[9];
49     float yblk_th[9];
50     float dark_th[9];
51     float bright_min[9];
52     float bright_max[9];
53     float wt_max[9];
54     float air_min[9];
55     float air_max[9];
56     float tmax_base[9];
57     float tmax_off[9];
58     float tmax_max[9];
59     float cfg_wt[9];
60     float cfg_air[9];
61     float cfg_tmax[9];
62     float dc_thed[9];
63     float dc_weitcur[9];
64     float air_thed[9];
65     float air_weitcur[9];
66     struct CalibDb_IIR_setting_s IIR_setting;
67 };
68 
69 struct CalibDb_Enhance_Setting_s {
70     char name[CALIBDB_MAX_MODE_NAME_LENGTH];
71     float en;
72     float iso[9];
73     float enhance_value[9];
74 };
75 
76 struct CalibDb_Hist_setting_s {
77     char name[CALIBDB_MAX_MODE_NAME_LENGTH];
78     float en;
79     float iso[9];
80     unsigned char  hist_channel[9];
81     unsigned char  hist_para_en[9];
82     float hist_gratio[9];
83     float hist_th_off[9];
84     float hist_k[9];
85     float hist_min[9];
86     float hist_scale[9];
87     float cfg_gratio[9];
88 };
89 
90 typedef struct CalibDbDehaze_s {
91     float en;
92     float cfg_alpha_normal;
93     float cfg_alpha_hdr;
94     float cfg_alpha_night;
95     struct CalibDb_Dehaze_Setting_s dehaze_setting[CALIBDB_MAX_MODE_NUM];
96     struct CalibDb_Enhance_Setting_s enhance_setting[CALIBDB_MAX_MODE_NUM];
97     struct CalibDb_Hist_setting_s hist_setting[CALIBDB_MAX_MODE_NUM];
98 } CalibDbDehaze_t;
99 
100 typedef struct rk_adehaze_sw_s {
101     bool byPass;
102     rk_aiq_dehaze_op_mode_t mode;
103     rk_aiq_dehaze_M_attrib_t stManual;
104     CalibDbDehaze_t stAuto;
105     rk_aiq_dehaze_enhance_t stEnhance;
106     CalibDbDehaze_t  stTool;
107 } adehaze_sw_t;
108 */
109 
110 RKAIQ_BEGIN_DECLARE
111 /*
112 XCamReturn  rk_aiq_user_api_adehaze_setSwAttrib(const rk_aiq_sys_ctx_t* sys_ctx, adehaze_sw_t attr);
113 XCamReturn  rk_aiq_user_api_adehaze_getSwAttrib(const rk_aiq_sys_ctx_t* sys_ctx, adehaze_sw_t *attr);
114 */
115 RKAIQ_END_DECLARE
116 
117 #endif
118 
119