xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/include/algos/asharp/rk_aiq_types_asharp_hw.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 
2 /*
3  *rk_aiq_types_alsc_hw.h
4  *
5  *  Copyright (c) 2019 Rockchip Corporation
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20 
21 #ifndef _RK_AIQ_TYPE_ASHARP_HW_H_
22 #define _RK_AIQ_TYPE_ASHARP_HW_H_
23 
24 
25 RKAIQ_BEGIN_DECLARE
26 
27 typedef struct RKAsharp_Sharp_HW_Fix_s {
28     unsigned char sharp_en;
29     unsigned char yin_flt_en;
30     unsigned char edge_avg_en;
31 
32     unsigned short hbf_ratio;
33     unsigned char ehf_th;
34     unsigned char pbf_ratio;
35 
36     unsigned char pbf_k[3];
37     unsigned char mrf_k[6];
38     unsigned char mbf_k[12];
39     unsigned char hrf_k[6];
40     unsigned char hbf_k[3];
41 
42     unsigned char lum_point[6];
43 
44     unsigned char pbf_shf_bits;
45     unsigned char mbf_shf_bits;
46     unsigned char hbf_shf_bits;
47 
48     unsigned char pbf_sigma[8];
49     unsigned char lum_clp_m[8];
50     signed char lum_min_m[8];
51     unsigned char mbf_sigma[8];
52     unsigned char lum_clp_h[8];
53     unsigned char hbf_sigma[8];
54 
55     unsigned short rfl_ratio;
56     unsigned short rfh_ratio;
57 
58     unsigned char m_ratio;
59     unsigned char h_ratio;
60 
61 } RKAsharp_Sharp_HW_Fix_t;
62 
63 typedef struct RKAsharp_Sharp_HW_V2_Fix_s {
64     void* place_holder[1];
65 } RKAsharp_Sharp_HW_V2_Fix_t;
66 
67 typedef struct RKAsharp_Sharp_HW_V3_Fix_s {
68     void* place_holder[1];
69 } RKAsharp_Sharp_HW_V3_Fix_t;
70 
71 
72 typedef struct RKAsharp_Sharp_Fix_s {
73     RKAsharp_Sharp_HW_Fix_t stSharpFixV1;
74     RKAsharp_Sharp_HW_V2_Fix_t stSharpFixV2;
75     RKAsharp_Sharp_HW_V3_Fix_t stSharpFixV3;
76 
77 } RKAsharp_Sharp_Fix_t;
78 
79 typedef struct RKAsharp_Edgefilter_Fix_s {
80     unsigned char edgeflt_en;
81 
82     unsigned char alpha_adp_en;
83 
84     unsigned char edge_thed;
85     unsigned char dir_min;
86     unsigned short smoth_th4;
87     unsigned short l_alpha;
88     unsigned short g_alpha;
89 
90     signed char eg_coef[3];
91     unsigned char eg_smoth[3];
92     unsigned char eg_gaus[6];
93     signed char dog_k[6];
94 
95     unsigned char edge_lum_thed[8];
96     unsigned char clamp_pos[8];
97     unsigned char clamp_neg[8];
98     unsigned char detail_alpha[8];
99 
100 } RKAsharp_Edgefilter_Fix_t;
101 
102 RKAIQ_END_DECLARE
103 
104 #endif
105 
106 
107