summaryrefslogtreecommitdiff
path: root/mainline/runtime/sdk/linux_bionic/include/bionic/libc/kernel/uapi/linux/rkisp1-config.h
blob: 7175c23fcacd3e9bbc58d6cce9faa350790fb8d5 (plain)
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
/****************************************************************************
 ****************************************************************************
 ***
 ***   This header was automatically generated from a Linux kernel header
 ***   of the same name, to make information necessary for userspace to
 ***   call into the kernel available to libc.  It contains only constants,
 ***   structures, and macros generated from the original header, and thus,
 ***   contains no copyrightable information.
 ***
 ***   To edit the content of this header, modify the corresponding
 ***   source file (e.g. under external/kernel-headers/original/) then
 ***   run bionic/libc/kernel/tools/update_all.py
 ***
 ***   Any manual change here will be lost the next time this script will
 ***   be run. You've been warned!
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef _UAPI_RKISP1_CONFIG_H
#define _UAPI_RKISP1_CONFIG_H
#include <linux/types.h>
#define RKISP1_CIF_ISP_MODULE_DPCC (1U << 0)
#define RKISP1_CIF_ISP_MODULE_BLS (1U << 1)
#define RKISP1_CIF_ISP_MODULE_SDG (1U << 2)
#define RKISP1_CIF_ISP_MODULE_HST (1U << 3)
#define RKISP1_CIF_ISP_MODULE_LSC (1U << 4)
#define RKISP1_CIF_ISP_MODULE_AWB_GAIN (1U << 5)
#define RKISP1_CIF_ISP_MODULE_FLT (1U << 6)
#define RKISP1_CIF_ISP_MODULE_BDM (1U << 7)
#define RKISP1_CIF_ISP_MODULE_CTK (1U << 8)
#define RKISP1_CIF_ISP_MODULE_GOC (1U << 9)
#define RKISP1_CIF_ISP_MODULE_CPROC (1U << 10)
#define RKISP1_CIF_ISP_MODULE_AFC (1U << 11)
#define RKISP1_CIF_ISP_MODULE_AWB (1U << 12)
#define RKISP1_CIF_ISP_MODULE_IE (1U << 13)
#define RKISP1_CIF_ISP_MODULE_AEC (1U << 14)
#define RKISP1_CIF_ISP_MODULE_WDR (1U << 15)
#define RKISP1_CIF_ISP_MODULE_DPF (1U << 16)
#define RKISP1_CIF_ISP_MODULE_DPF_STRENGTH (1U << 17)
#define RKISP1_CIF_ISP_CTK_COEFF_MAX 0x100
#define RKISP1_CIF_ISP_CTK_OFFSET_MAX 0x800
#define RKISP1_CIF_ISP_AE_MEAN_MAX_V10 25
#define RKISP1_CIF_ISP_AE_MEAN_MAX_V12 81
#define RKISP1_CIF_ISP_AE_MEAN_MAX RKISP1_CIF_ISP_AE_MEAN_MAX_V12
#define RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10 16
#define RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12 32
#define RKISP1_CIF_ISP_HIST_BIN_N_MAX RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12
#define RKISP1_CIF_ISP_AFM_MAX_WINDOWS 3
#define RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE 17
#define RKISP1_CIF_ISP_BDM_MAX_TH 0xff
#define RKISP1_CIF_ISP_BLS_START_H_MAX 0x00000fff
#define RKISP1_CIF_ISP_BLS_STOP_H_MAX 0x00000fff
#define RKISP1_CIF_ISP_BLS_START_V_MAX 0x00000fff
#define RKISP1_CIF_ISP_BLS_STOP_V_MAX 0x00000fff
#define RKISP1_CIF_ISP_BLS_SAMPLES_MAX 0x00000012
#define RKISP1_CIF_ISP_BLS_FIX_SUB_MAX 0x00000fff
#define RKISP1_CIF_ISP_BLS_FIX_SUB_MIN 0xfffff000
#define RKISP1_CIF_ISP_BLS_FIX_MASK 0x00001fff
#define RKISP1_CIF_ISP_AWB_MAX_GRID 1
#define RKISP1_CIF_ISP_AWB_MAX_FRAMES 7
#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10 17
#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12 34
#define RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12
#define RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE 8
#define RKISP1_CIF_ISP_LSC_SAMPLES_MAX 17
#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10 25
#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12 81
#define RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12
#define RKISP1_CIF_ISP_DPCC_METHODS_MAX 3
#define RKISP1_CIF_ISP_DPCC_MODE_STAGE1_ENABLE (1U << 2)
#define RKISP1_CIF_ISP_DPCC_OUTPUT_MODE_STAGE1_INCL_G_CENTER (1U << 0)
#define RKISP1_CIF_ISP_DPCC_OUTPUT_MODE_STAGE1_INCL_RB_CENTER (1U << 1)
#define RKISP1_CIF_ISP_DPCC_OUTPUT_MODE_STAGE1_G_3X3 (1U << 2)
#define RKISP1_CIF_ISP_DPCC_OUTPUT_MODE_STAGE1_RB_3X3 (1U << 3)
#define RKISP1_CIF_ISP_DPCC_SET_USE_STAGE1_USE_SET(n) ((n) << 0)
#define RKISP1_CIF_ISP_DPCC_SET_USE_STAGE1_USE_FIX_SET (1U << 3)
#define RKISP1_CIF_ISP_DPCC_METHODS_SET_PG_GREEN_ENABLE (1U << 0)
#define RKISP1_CIF_ISP_DPCC_METHODS_SET_LC_GREEN_ENABLE (1U << 1)
#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RO_GREEN_ENABLE (1U << 2)
#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RND_GREEN_ENABLE (1U << 3)
#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RG_GREEN_ENABLE (1U << 4)
#define RKISP1_CIF_ISP_DPCC_METHODS_SET_PG_RED_BLUE_ENABLE (1U << 8)
#define RKISP1_CIF_ISP_DPCC_METHODS_SET_LC_RED_BLUE_ENABLE (1U << 9)
#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RO_RED_BLUE_ENABLE (1U << 10)
#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RND_RED_BLUE_ENABLE (1U << 11)
#define RKISP1_CIF_ISP_DPCC_METHODS_SET_RG_RED_BLUE_ENABLE (1U << 12)
#define RKISP1_CIF_ISP_DPCC_LINE_THRESH_G(v) ((v) << 0)
#define RKISP1_CIF_ISP_DPCC_LINE_THRESH_RB(v) ((v) << 8)
#define RKISP1_CIF_ISP_DPCC_LINE_MAD_FAC_G(v) ((v) << 0)
#define RKISP1_CIF_ISP_DPCC_LINE_MAD_FAC_RB(v) ((v) << 8)
#define RKISP1_CIF_ISP_DPCC_PG_FAC_G(v) ((v) << 0)
#define RKISP1_CIF_ISP_DPCC_PG_FAC_RB(v) ((v) << 8)
#define RKISP1_CIF_ISP_DPCC_RND_THRESH_G(v) ((v) << 0)
#define RKISP1_CIF_ISP_DPCC_RND_THRESH_RB(v) ((v) << 8)
#define RKISP1_CIF_ISP_DPCC_RG_FAC_G(v) ((v) << 0)
#define RKISP1_CIF_ISP_DPCC_RG_FAC_RB(v) ((v) << 8)
#define RKISP1_CIF_ISP_DPCC_RO_LIMITS_n_G(n,v) ((v) << ((n) * 4))
#define RKISP1_CIF_ISP_DPCC_RO_LIMITS_n_RB(n,v) ((v) << ((n) * 4 + 2))
#define RKISP1_CIF_ISP_DPCC_RND_OFFS_n_G(n,v) ((v) << ((n) * 4))
#define RKISP1_CIF_ISP_DPCC_RND_OFFS_n_RB(n,v) ((v) << ((n) * 4 + 2))
#define RKISP1_CIF_ISP_DPF_MAX_NLF_COEFFS 17
#define RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS 6
#define RKISP1_CIF_ISP_STAT_AWB (1U << 0)
#define RKISP1_CIF_ISP_STAT_AUTOEXP (1U << 1)
#define RKISP1_CIF_ISP_STAT_AFM (1U << 2)
#define RKISP1_CIF_ISP_STAT_HIST (1U << 3)
enum rkisp1_cif_isp_version {
  RKISP1_V10 = 10,
  RKISP1_V11,
  RKISP1_V12,
  RKISP1_V13,
};
enum rkisp1_cif_isp_histogram_mode {
  RKISP1_CIF_ISP_HISTOGRAM_MODE_DISABLE,
  RKISP1_CIF_ISP_HISTOGRAM_MODE_RGB_COMBINED,
  RKISP1_CIF_ISP_HISTOGRAM_MODE_R_HISTOGRAM,
  RKISP1_CIF_ISP_HISTOGRAM_MODE_G_HISTOGRAM,
  RKISP1_CIF_ISP_HISTOGRAM_MODE_B_HISTOGRAM,
  RKISP1_CIF_ISP_HISTOGRAM_MODE_Y_HISTOGRAM
};
enum rkisp1_cif_isp_awb_mode_type {
  RKISP1_CIF_ISP_AWB_MODE_MANUAL,
  RKISP1_CIF_ISP_AWB_MODE_RGB,
  RKISP1_CIF_ISP_AWB_MODE_YCBCR
};
enum rkisp1_cif_isp_flt_mode {
  RKISP1_CIF_ISP_FLT_STATIC_MODE,
  RKISP1_CIF_ISP_FLT_DYNAMIC_MODE
};
enum rkisp1_cif_isp_exp_ctrl_autostop {
  RKISP1_CIF_ISP_EXP_CTRL_AUTOSTOP_0 = 0,
  RKISP1_CIF_ISP_EXP_CTRL_AUTOSTOP_1 = 1,
};
enum rkisp1_cif_isp_exp_meas_mode {
  RKISP1_CIF_ISP_EXP_MEASURING_MODE_0,
  RKISP1_CIF_ISP_EXP_MEASURING_MODE_1,
};
struct rkisp1_cif_isp_window {
  __u16 h_offs;
  __u16 v_offs;
  __u16 h_size;
  __u16 v_size;
};
struct rkisp1_cif_isp_bls_fixed_val {
  __s16 r;
  __s16 gr;
  __s16 gb;
  __s16 b;
};
struct rkisp1_cif_isp_bls_config {
  __u8 enable_auto;
  __u8 en_windows;
  struct rkisp1_cif_isp_window bls_window1;
  struct rkisp1_cif_isp_window bls_window2;
  __u8 bls_samples;
  struct rkisp1_cif_isp_bls_fixed_val fixed_val;
};
struct rkisp1_cif_isp_dpcc_methods_config {
  __u32 method;
  __u32 line_thresh;
  __u32 line_mad_fac;
  __u32 pg_fac;
  __u32 rnd_thresh;
  __u32 rg_fac;
};
struct rkisp1_cif_isp_dpcc_config {
  __u32 mode;
  __u32 output_mode;
  __u32 set_use;
  struct rkisp1_cif_isp_dpcc_methods_config methods[RKISP1_CIF_ISP_DPCC_METHODS_MAX];
  __u32 ro_limits;
  __u32 rnd_offs;
};
struct rkisp1_cif_isp_gamma_corr_curve {
  __u16 gamma_y[RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE];
};
struct rkisp1_cif_isp_gamma_curve_x_axis_pnts {
  __u32 gamma_dx0;
  __u32 gamma_dx1;
};
struct rkisp1_cif_isp_sdg_config {
  struct rkisp1_cif_isp_gamma_corr_curve curve_r;
  struct rkisp1_cif_isp_gamma_corr_curve curve_g;
  struct rkisp1_cif_isp_gamma_corr_curve curve_b;
  struct rkisp1_cif_isp_gamma_curve_x_axis_pnts xa_pnts;
};
struct rkisp1_cif_isp_lsc_config {
  __u16 r_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX];
  __u16 gr_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX];
  __u16 gb_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX];
  __u16 b_data_tbl[RKISP1_CIF_ISP_LSC_SAMPLES_MAX][RKISP1_CIF_ISP_LSC_SAMPLES_MAX];
  __u16 x_grad_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE];
  __u16 y_grad_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE];
  __u16 x_size_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE];
  __u16 y_size_tbl[RKISP1_CIF_ISP_LSC_SECTORS_TBL_SIZE];
  __u16 config_width;
  __u16 config_height;
};
struct rkisp1_cif_isp_ie_config {
  __u16 effect;
  __u16 color_sel;
  __u16 eff_mat_1;
  __u16 eff_mat_2;
  __u16 eff_mat_3;
  __u16 eff_mat_4;
  __u16 eff_mat_5;
  __u16 eff_tint;
};
struct rkisp1_cif_isp_cproc_config {
  __u8 c_out_range;
  __u8 y_in_range;
  __u8 y_out_range;
  __u8 contrast;
  __u8 brightness;
  __u8 sat;
  __u8 hue;
};
struct rkisp1_cif_isp_awb_meas_config {
  struct rkisp1_cif_isp_window awb_wnd;
  __u32 awb_mode;
  __u8 max_y;
  __u8 min_y;
  __u8 max_csum;
  __u8 min_c;
  __u8 frames;
  __u8 awb_ref_cr;
  __u8 awb_ref_cb;
  __u8 enable_ymax_cmp;
};
struct rkisp1_cif_isp_awb_gain_config {
  __u16 gain_red;
  __u16 gain_green_r;
  __u16 gain_blue;
  __u16 gain_green_b;
};
struct rkisp1_cif_isp_flt_config {
  __u32 mode;
  __u8 grn_stage1;
  __u8 chr_h_mode;
  __u8 chr_v_mode;
  __u32 thresh_bl0;
  __u32 thresh_bl1;
  __u32 thresh_sh0;
  __u32 thresh_sh1;
  __u32 lum_weight;
  __u32 fac_sh1;
  __u32 fac_sh0;
  __u32 fac_mid;
  __u32 fac_bl0;
  __u32 fac_bl1;
};
struct rkisp1_cif_isp_bdm_config {
  __u8 demosaic_th;
};
struct rkisp1_cif_isp_ctk_config {
  __u16 coeff[3][3];
  __u16 ct_offset[3];
};
enum rkisp1_cif_isp_goc_mode {
  RKISP1_CIF_ISP_GOC_MODE_LOGARITHMIC,
  RKISP1_CIF_ISP_GOC_MODE_EQUIDISTANT
};
struct rkisp1_cif_isp_goc_config {
  __u32 mode;
  __u16 gamma_y[RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES];
};
struct rkisp1_cif_isp_hst_config {
  __u32 mode;
  __u8 histogram_predivider;
  struct rkisp1_cif_isp_window meas_window;
  __u8 hist_weight[RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE];
};
struct rkisp1_cif_isp_aec_config {
  __u32 mode;
  __u32 autostop;
  struct rkisp1_cif_isp_window meas_window;
};
struct rkisp1_cif_isp_afc_config {
  __u8 num_afm_win;
  struct rkisp1_cif_isp_window afm_win[RKISP1_CIF_ISP_AFM_MAX_WINDOWS];
  __u32 thres;
  __u32 var_shift;
};
enum rkisp1_cif_isp_dpf_gain_usage {
  RKISP1_CIF_ISP_DPF_GAIN_USAGE_DISABLED,
  RKISP1_CIF_ISP_DPF_GAIN_USAGE_NF_GAINS,
  RKISP1_CIF_ISP_DPF_GAIN_USAGE_LSC_GAINS,
  RKISP1_CIF_ISP_DPF_GAIN_USAGE_NF_LSC_GAINS,
  RKISP1_CIF_ISP_DPF_GAIN_USAGE_AWB_GAINS,
  RKISP1_CIF_ISP_DPF_GAIN_USAGE_AWB_LSC_GAINS,
  RKISP1_CIF_ISP_DPF_GAIN_USAGE_MAX
};
enum rkisp1_cif_isp_dpf_rb_filtersize {
  RKISP1_CIF_ISP_DPF_RB_FILTERSIZE_13x9,
  RKISP1_CIF_ISP_DPF_RB_FILTERSIZE_9x9,
};
enum rkisp1_cif_isp_dpf_nll_scale_mode {
  RKISP1_CIF_ISP_NLL_SCALE_LINEAR,
  RKISP1_CIF_ISP_NLL_SCALE_LOGARITHMIC,
};
struct rkisp1_cif_isp_dpf_nll {
  __u16 coeff[RKISP1_CIF_ISP_DPF_MAX_NLF_COEFFS];
  __u32 scale_mode;
};
struct rkisp1_cif_isp_dpf_rb_flt {
  __u32 fltsize;
  __u8 spatial_coeff[RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS];
  __u8 r_enable;
  __u8 b_enable;
};
struct rkisp1_cif_isp_dpf_g_flt {
  __u8 spatial_coeff[RKISP1_CIF_ISP_DPF_MAX_SPATIAL_COEFFS];
  __u8 gr_enable;
  __u8 gb_enable;
};
struct rkisp1_cif_isp_dpf_gain {
  __u32 mode;
  __u16 nf_r_gain;
  __u16 nf_b_gain;
  __u16 nf_gr_gain;
  __u16 nf_gb_gain;
};
struct rkisp1_cif_isp_dpf_config {
  struct rkisp1_cif_isp_dpf_gain gain;
  struct rkisp1_cif_isp_dpf_g_flt g_flt;
  struct rkisp1_cif_isp_dpf_rb_flt rb_flt;
  struct rkisp1_cif_isp_dpf_nll nll;
};
struct rkisp1_cif_isp_dpf_strength_config {
  __u8 r;
  __u8 g;
  __u8 b;
};
struct rkisp1_cif_isp_isp_other_cfg {
  struct rkisp1_cif_isp_dpcc_config dpcc_config;
  struct rkisp1_cif_isp_bls_config bls_config;
  struct rkisp1_cif_isp_sdg_config sdg_config;
  struct rkisp1_cif_isp_lsc_config lsc_config;
  struct rkisp1_cif_isp_awb_gain_config awb_gain_config;
  struct rkisp1_cif_isp_flt_config flt_config;
  struct rkisp1_cif_isp_bdm_config bdm_config;
  struct rkisp1_cif_isp_ctk_config ctk_config;
  struct rkisp1_cif_isp_goc_config goc_config;
  struct rkisp1_cif_isp_dpf_config dpf_config;
  struct rkisp1_cif_isp_dpf_strength_config dpf_strength_config;
  struct rkisp1_cif_isp_cproc_config cproc_config;
  struct rkisp1_cif_isp_ie_config ie_config;
};
struct rkisp1_cif_isp_isp_meas_cfg {
  struct rkisp1_cif_isp_awb_meas_config awb_meas_config;
  struct rkisp1_cif_isp_hst_config hst_config;
  struct rkisp1_cif_isp_aec_config aec_config;
  struct rkisp1_cif_isp_afc_config afc_config;
};
struct rkisp1_params_cfg {
  __u32 module_en_update;
  __u32 module_ens;
  __u32 module_cfg_update;
  struct rkisp1_cif_isp_isp_meas_cfg meas;
  struct rkisp1_cif_isp_isp_other_cfg others;
};
struct rkisp1_cif_isp_awb_meas {
  __u32 cnt;
  __u8 mean_y_or_g;
  __u8 mean_cb_or_b;
  __u8 mean_cr_or_r;
};
struct rkisp1_cif_isp_awb_stat {
  struct rkisp1_cif_isp_awb_meas awb_mean[RKISP1_CIF_ISP_AWB_MAX_GRID];
};
struct rkisp1_cif_isp_bls_meas_val {
  __u16 meas_r;
  __u16 meas_gr;
  __u16 meas_gb;
  __u16 meas_b;
};
struct rkisp1_cif_isp_ae_stat {
  __u8 exp_mean[RKISP1_CIF_ISP_AE_MEAN_MAX];
  struct rkisp1_cif_isp_bls_meas_val bls_val;
};
struct rkisp1_cif_isp_af_meas_val {
  __u32 sum;
  __u32 lum;
};
struct rkisp1_cif_isp_af_stat {
  struct rkisp1_cif_isp_af_meas_val window[RKISP1_CIF_ISP_AFM_MAX_WINDOWS];
};
struct rkisp1_cif_isp_hist_stat {
  __u32 hist_bins[RKISP1_CIF_ISP_HIST_BIN_N_MAX];
};
struct rkisp1_cif_isp_stat {
  struct rkisp1_cif_isp_awb_stat awb;
  struct rkisp1_cif_isp_ae_stat ae;
  struct rkisp1_cif_isp_af_stat af;
  struct rkisp1_cif_isp_hist_stat hist;
};
struct rkisp1_stat_buffer {
  __u32 meas_type;
  __u32 frame_id;
  struct rkisp1_cif_isp_stat params;
};
#endif