xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/include/algos/aynr3/rk_aiq_types_aynr_hw_v3.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  *rk_aiq_types_alsc_hw.h
3  *
4  *  Copyright (c) 2019 Rockchip Corporation
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19 
20 #ifndef _RK_AIQ_TYPE_AYNR_HW_V3_H_
21 #define _RK_AIQ_TYPE_AYNR_HW_V3_H_
22 #include "rk_aiq_comm.h"
23 
24 
25 
26 typedef struct RK_YNR_Fix_V3_s {
27 
28     // YNR_2700_GLOBAL_CTRL (0x0000)
29     uint8_t ynr_rnr_en;
30     uint8_t ynr_gate_dis;
31     uint8_t ynr_thumb_mix_cur_en;
32     uint8_t ynr_global_gain_alpha;
33     uint16_t ynr_global_gain;
34     uint8_t ynr_flt1x1_bypass_sel;
35     uint8_t ynr_sft5x5_bypass;
36     uint8_t ynr_flt1x1_bypass;
37     uint8_t ynr_lgft3x3_bypass;
38     uint8_t ynr_lbft5x5_bypass;
39     uint8_t ynr_bft3x3_bypass;
40     uint8_t ynr_en;
41 
42 
43     // YNR_2700_RNR_MAX_R  (0x0004)
44     uint8_t ynr_local_gainscale;
45     uint16_t ynr_rnr_max_r;
46 
47     // YNR_2700_RNR_MAX_R  (0x0008)
48     uint16_t ynr_rnr_center_coorv;
49     uint16_t ynr_rnr_center_coorh;
50 
51     // YNR_2700_RNR_MAX_R  (0x000c)
52     uint8_t ynr_localgain_adj;
53     uint16_t ynr_localgain_adj_thresh;
54 
55     // YNR_2700_LOWNR_CTRL0 (0x0010)
56     uint16_t ynr_low_bf_inv[2];
57 
58     // YNR_2700_LOWNR_CTRL1  (0x0014)
59     uint8_t ynr_low_peak_supress;
60     uint16_t ynr_low_thred_adj;
61 
62     // YNR_2700_LOWNR_CTRL2 (0x0018)
63     uint16_t ynr_low_dist_adj;
64     uint16_t ynr_low_edge_adj_thresh;
65 
66     // YNR_2700_LOWNR_CTRL3 (0x001c)
67     uint8_t ynr_low_bi_weight;
68     uint8_t ynr_low_weight;
69     uint16_t ynr_low_center_weight;
70 
71     // YNR_2700_HIGHNR_CTRL0 (0x0020)
72     uint8_t ynr_hi_min_adj;
73     uint16_t ynr_high_thred_adj;
74 
75     // YNR_2700_HIGHNR_CTRL1  (0x0024)
76     uint8_t ynr_high_retain_weight;
77     uint8_t ynr_hi_edge_thed;
78 
79     // YNR_2700_HIGHNR_BASE_FILTER_WEIGHT  (0x0028)
80     uint8_t ynr_base_filter_weight[3];
81 
82     // YNR_2700_HIGHNR_BASE_FILTER_WEIGHT  (0x002c)
83     uint32_t ynr_frame_full_size;
84     uint16_t ynr_lbf_weight_thres;
85 
86     // YNR_2700_GAUSS1_COEFF  (0x0030)
87     uint16_t ynr_low_gauss1_coeff[3];
88 
89     // YNR_2700_GAUSS2_COEFF  (0x0034)
90     uint16_t ynr_low_gauss2_coeff[3];
91 
92     // YNR_2700_DIRECTION_W_0_3  (0x0038 - 0x003c)
93     uint8_t ynr_direction_weight[8];
94 
95     // YNR_2700_SGM_DX_0_1 (0x0040 - 0x0060)
96     uint16_t ynr_luma_points_x[17];
97 
98     // YNR_2700_LSGM_Y_0_1 (0x0070- 0x0090)
99     uint16_t ynr_lsgm_y[17];
100 
101     // YNR_2700_HSGM_Y_0_1 (0x00a0- 0x00c0)
102     uint16_t ynr_hsgm_y[17];
103 
104     // YNR_2700_RNR_STRENGTH03 (0x00d0- 0x00e0)
105     uint16_t ynr_rnr_strength[17];
106 
107 } RK_YNR_Fix_V3_t;
108 
109 
110 #endif
111 
112 
113 
114