xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/include/algos/af/rk_aiq_af_hw_v200.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 #ifndef __RK_AIQ_AF_HW_V200_H__
2 #define __RK_AIQ_AF_HW_V200_H__
3 
4 #include "rk_aiq_types_af_algo.h"
5 
6 #define ISP_SHARPNESS_GRID_ITEMS 225
7 
8 typedef struct {
9     unsigned char sw_rawaf_en;
10 
11     unsigned char window_num;
12     unsigned short wina_h_offs;
13     unsigned short wina_v_offs;
14     unsigned short wina_h_size;
15     unsigned short wina_v_size;
16 
17     unsigned short winb_h_offs;
18     unsigned short winb_v_offs;
19     unsigned short winb_h_size;
20     unsigned short winb_v_size;
21 
22     unsigned char gamma_flt_en;
23 
24     unsigned short gamma_y1;
25     unsigned short gamma_y2;
26     unsigned short gamma_y3;
27     unsigned short gamma_y4;
28     unsigned short gamma_y5;
29     unsigned short gamma_y6;
30     unsigned short gamma_y7;
31     unsigned short gamma_y8;
32 
33     unsigned char gaus_flt_en;
34 
35     unsigned char gaus_h0;
36     unsigned char gaus_h1;
37     unsigned char gaus_h2;
38 
39     unsigned char int_lin0_en;
40     unsigned char int_lin1_en;
41     unsigned char int_lin2_en;
42     unsigned char int_lin3_en;
43     unsigned char int_lin4_en;
44 
45     unsigned char int_lin0;
46     unsigned char int_lin1;
47     unsigned char int_lin2;
48     unsigned char int_lin3;
49     unsigned char int_lin4;
50 
51     unsigned int roi_threshold;
52     unsigned int global_threshold;
53 
54     unsigned char afm_var_shift_a;
55     unsigned char afm_var_shift_b;
56     unsigned char lum_var_shift_a;
57     unsigned char lum_var_shift_b;
58 
59     unsigned long long roia_sharpness;
60     unsigned int roia_luminance;
61     unsigned int roib_sharpness;
62     unsigned int roib_luminance;
63     unsigned int global_sharpness[ISP_SHARPNESS_GRID_ITEMS];
64 } rawaf_isp_af_stat_t;
65 
66 typedef struct {
67     unsigned char sw_rawaf_en;
68 
69     unsigned char window_num;
70     unsigned short wina_h_offs;
71     unsigned short wina_v_offs;
72     unsigned short wina_h_size;
73     unsigned short wina_v_size;
74 
75     unsigned short winb_h_offs;
76     unsigned short winb_v_offs;
77     unsigned short winb_h_size;
78     unsigned short winb_v_size;
79 
80     unsigned char gamma_flt_en;
81 
82     unsigned short gamma_y1;
83     unsigned short gamma_y2;
84     unsigned short gamma_y3;
85     unsigned short gamma_y4;
86     unsigned short gamma_y5;
87     unsigned short gamma_y6;
88     unsigned short gamma_y7;
89     unsigned short gamma_y8;
90 
91     unsigned char gaus_flt_en;
92 
93     unsigned char gaus_h0;
94     unsigned char gaus_h1;
95     unsigned char gaus_h2;
96 
97     unsigned char int_lin0_en;
98     unsigned char int_lin1_en;
99     unsigned char int_lin2_en;
100     unsigned char int_lin3_en;
101     unsigned char int_lin4_en;
102 
103     unsigned char int_lin0;
104     unsigned char int_lin1;
105     unsigned char int_lin2;
106     unsigned char int_lin3;
107     unsigned char int_lin4;
108 
109     unsigned short roi_threshold;
110     unsigned short global_threshold;
111 
112     unsigned char afm_var_shift_a;
113     unsigned char afm_var_shift_b;
114     unsigned char lum_var_shift_a;
115     unsigned char lum_var_shift_b;
116 } rawaf_isp_af_meas_t;
117 
118 typedef struct {
119     bool vcm_config_valid;
120     bool zoomfocus_modifypos;
121     bool focus_correction;
122     bool zoom_correction;
123     bool lens_pos_valid;
124     bool zoom_pos_valid;
125     bool send_zoom_reback;
126     bool send_focus_reback;
127     bool end_zoom_chg;
128     bool focus_noreback;
129     int next_pos_num;
130     int next_lens_pos[RKAIQ_RAWAF_NEXT_ZOOMFOCUS_NUM];
131     int next_zoom_pos[RKAIQ_RAWAF_NEXT_ZOOMFOCUS_NUM];
132     int use_manual;
133     int auto_focpos;
134     int auto_zoompos;
135     int manual_focpos;
136     int manual_zoompos;
137     int vcm_start_ma;
138     int vcm_end_ma;
139 } rawaf_focus_pos_meas_t;
140 
141 #endif
142