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