blob: ebc08160eb141125df29ebb98130ff52eacda20a
1 | #ifndef __VE_H |
2 | #define __VE_H |
3 | |
4 | // *************************************************************************** |
5 | // *** enum definitions ********************************************* |
6 | // *************************************************************************** |
7 | |
8 | typedef enum ve_demo_pos_e { |
9 | VE_DEMO_POS_TOP = 0, |
10 | VE_DEMO_POS_BOTTOM, |
11 | VE_DEMO_POS_LEFT, |
12 | VE_DEMO_POS_RIGHT, |
13 | } ve_demo_pos_t; |
14 | |
15 | typedef enum ve_dnlp_rt_e { |
16 | VE_DNLP_RT_0S = 0, |
17 | VE_DNLP_RT_1S = 6, |
18 | VE_DNLP_RT_2S, |
19 | VE_DNLP_RT_4S, |
20 | VE_DNLP_RT_8S, |
21 | VE_DNLP_RT_16S, |
22 | VE_DNLP_RT_32S, |
23 | VE_DNLP_RT_64S, |
24 | VE_DNLP_RT_FREEZE, |
25 | } ve_dnlp_rt_t; |
26 | |
27 | // *************************************************************************** |
28 | // *** struct definitions ********************************************* |
29 | // *************************************************************************** |
30 | |
31 | typedef enum ve_dnlp_rl_e { |
32 | VE_DNLP_RL_01 = 1, // max_contrast = 1.0625x |
33 | VE_DNLP_RL_02, // max_contrast = 1.1250x |
34 | VE_DNLP_RL_03, // max_contrast = 1.1875x |
35 | VE_DNLP_RL_04, // max_contrast = 1.2500x |
36 | VE_DNLP_RL_05, // max_contrast = 1.3125x |
37 | VE_DNLP_RL_06, // max_contrast = 1.3750x |
38 | VE_DNLP_RL_07, // max_contrast = 1.4375x |
39 | VE_DNLP_RL_08, // max_contrast = 1.5000x |
40 | VE_DNLP_RL_09, // max_contrast = 1.5625x |
41 | VE_DNLP_RL_10, // max_contrast = 1.6250x |
42 | VE_DNLP_RL_11, // max_contrast = 1.6875x |
43 | VE_DNLP_RL_12, // max_contrast = 1.7500x |
44 | VE_DNLP_RL_13, // max_contrast = 1.8125x |
45 | VE_DNLP_RL_14, // max_contrast = 1.8750x |
46 | VE_DNLP_RL_15, // max_contrast = 1.9375x |
47 | VE_DNLP_RL_16, // max_contrast = 2.0000x |
48 | } ve_dnlp_rl_t; |
49 | |
50 | typedef enum ve_dnlp_ext_e { |
51 | VE_DNLP_EXT_00 = 0, // weak |
52 | VE_DNLP_EXT_01, |
53 | VE_DNLP_EXT_02, |
54 | VE_DNLP_EXT_03, |
55 | VE_DNLP_EXT_04, |
56 | VE_DNLP_EXT_05, |
57 | VE_DNLP_EXT_06, |
58 | VE_DNLP_EXT_07, |
59 | VE_DNLP_EXT_08, |
60 | VE_DNLP_EXT_09, |
61 | VE_DNLP_EXT_10, |
62 | VE_DNLP_EXT_11, |
63 | VE_DNLP_EXT_12, |
64 | VE_DNLP_EXT_13, |
65 | VE_DNLP_EXT_14, |
66 | VE_DNLP_EXT_15, |
67 | VE_DNLP_EXT_16, // strong |
68 | } ve_dnlp_ext_t; |
69 | |
70 | typedef struct ve_bext_s { |
71 | unsigned char en; |
72 | unsigned char start; |
73 | unsigned char slope1; |
74 | unsigned char midpt; |
75 | unsigned char slope2; |
76 | } ve_bext_t; |
77 | |
78 | typedef struct ve_dnlp_s { |
79 | unsigned int en; |
80 | enum ve_dnlp_rt_e rt; |
81 | enum ve_dnlp_rl_e rl; |
82 | enum ve_dnlp_ext_e black; |
83 | enum ve_dnlp_ext_e white; |
84 | } ve_dnlp_t; |
85 | typedef struct ve_hist_s { |
86 | unsigned long sum; |
87 | int width; |
88 | int height; |
89 | int ave; |
90 | } ve_hist_t; |
91 | typedef struct ve_dnlp_table_s { |
92 | unsigned int en; |
93 | unsigned int method; |
94 | unsigned int cliprate; |
95 | unsigned int lowrange; |
96 | unsigned int hghrange; |
97 | unsigned int lowalpha; |
98 | unsigned int midalpha; |
99 | unsigned int hghalpha; |
100 | } ve_dnlp_table_t; |
101 | typedef struct ve_hsvs_s { |
102 | unsigned char en; |
103 | unsigned char peak_gain_h1; |
104 | unsigned char peak_gain_h2; |
105 | unsigned char peak_gain_h3; |
106 | unsigned char peak_gain_h4; |
107 | unsigned char peak_gain_h5; |
108 | unsigned char peak_gain_v1; |
109 | unsigned char peak_gain_v2; |
110 | unsigned char peak_gain_v3; |
111 | unsigned char peak_gain_v4; |
112 | unsigned char peak_gain_v5; |
113 | unsigned char peak_gain_v6; |
114 | unsigned char hpeak_slope1; |
115 | unsigned char hpeak_slope2; |
116 | unsigned char hpeak_thr1; |
117 | unsigned char hpeak_thr2; |
118 | unsigned char hpeak_nlp_cor_thr; |
119 | unsigned char hpeak_nlp_gain_pos; |
120 | unsigned char hpeak_nlp_gain_neg; |
121 | unsigned char vpeak_slope1; |
122 | unsigned char vpeak_slope2; |
123 | unsigned char vpeak_thr1; |
124 | unsigned char vpeak_thr2; |
125 | unsigned char vpeak_nlp_cor_thr; |
126 | unsigned char vpeak_nlp_gain_pos; |
127 | unsigned char vpeak_nlp_gain_neg; |
128 | unsigned char speak_slope1; |
129 | unsigned char speak_slope2; |
130 | unsigned char speak_thr1; |
131 | unsigned char speak_thr2; |
132 | unsigned char speak_nlp_cor_thr; |
133 | unsigned char speak_nlp_gain_pos; |
134 | unsigned char speak_nlp_gain_neg; |
135 | unsigned char peak_cor_gain; |
136 | unsigned char peak_cor_thr_l; |
137 | unsigned char peak_cor_thr_h; |
138 | unsigned char vlti_step; |
139 | unsigned char vlti_step2; |
140 | unsigned char vlti_thr; |
141 | unsigned char vlti_gain_pos; |
142 | unsigned char vlti_gain_neg; |
143 | unsigned char vlti_blend_factor; |
144 | unsigned char hlti_step; |
145 | unsigned char hlti_thr; |
146 | unsigned char hlti_gain_pos; |
147 | unsigned char hlti_gain_neg; |
148 | unsigned char hlti_blend_factor; |
149 | unsigned char vlimit_coef_h; |
150 | unsigned char vlimit_coef_l; |
151 | unsigned char hlimit_coef_h; |
152 | unsigned char hlimit_coef_l; |
153 | unsigned char cti_444_422_en; |
154 | unsigned char cti_422_444_en; |
155 | unsigned char cti_blend_factor; |
156 | unsigned char vcti_buf_en; |
157 | unsigned char vcti_buf_mode_c5l; |
158 | unsigned char vcti_filter; |
159 | unsigned char hcti_step; |
160 | unsigned char hcti_step2; |
161 | unsigned char hcti_thr; |
162 | unsigned char hcti_gain; |
163 | unsigned char hcti_mode_median; |
164 | } ve_hsvs_t; |
165 | |
166 | typedef struct ve_ccor_s { |
167 | unsigned char en; |
168 | unsigned char slope; |
169 | unsigned char thr; |
170 | } ve_ccor_t; |
171 | |
172 | typedef struct ve_benh_s { |
173 | unsigned char en; |
174 | unsigned char cb_inc; |
175 | unsigned char cr_inc; |
176 | unsigned char gain_cr; |
177 | unsigned char gain_cb4cr; |
178 | unsigned char luma_h; |
179 | unsigned char err_crp; |
180 | unsigned char err_crn; |
181 | unsigned char err_cbp; |
182 | unsigned char err_cbn; |
183 | } ve_benh_t; |
184 | |
185 | typedef struct ve_cbar_s { |
186 | unsigned char en; |
187 | unsigned char wid; |
188 | unsigned char cr; |
189 | unsigned char cb; |
190 | unsigned char y; |
191 | } ve_cbar_t; |
192 | typedef struct ve_demo_s { |
193 | unsigned char bext; |
194 | unsigned char dnlp; |
195 | unsigned char hsvs; |
196 | unsigned char ccor; |
197 | unsigned char benh; |
198 | enum ve_demo_pos_e pos; |
199 | unsigned long wid; |
200 | struct ve_cbar_s cbar; |
201 | } ve_demo_t; |
202 | |
203 | typedef struct vdo_meas_s { |
204 | //... |
205 | } vdo_meas_t; |
206 | |
207 | typedef struct ve_regmap_s { |
208 | unsigned long reg[43]; |
209 | } ve_regmap_t; |
210 | |
211 | // *************************************************************************** |
212 | // *** MACRO definitions ********** |
213 | // *************************************************************************** |
214 | |
215 | // *************************************************************************** |
216 | // *** FUNCTION definitions ********** |
217 | // *************************************************************************** |
218 | |
219 | #endif // _VE_H |
220 |