-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.h
executable file
·112 lines (106 loc) · 2.9 KB
/
main.h
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
#include <string.h>
#define VERSION_SIZE 8
#define HEADER_FLAG_SIZE 8
typedef unsigned char contrast_curve[10][2];
struct customer_parameters {
union {
struct {
unsigned int : 2;
unsigned int sensor_offset : 1;
unsigned int digital_gain : 1;
unsigned int gamma_fe : 1;
unsigned int raw_front : 1;
unsigned int defect_pixel : 1;
unsigned int frame_stitch : 1;
unsigned int gamma_fe_pos : 1;
unsigned int sinter : 1;
unsigned int temper : 1;
unsigned int order : 1;
unsigned int wb_module : 1;
unsigned int : 1;
unsigned int mesh : 1;
unsigned int iridix : 1;
unsigned int : 1;
unsigned int matrix : 1;
unsigned int fr_crop : 1;
unsigned int fr_gamma : 1;
unsigned int fr_sharpen : 1;
unsigned int : 3;
unsigned int ds1_crop : 1;
unsigned int ds1_scaler : 1;
unsigned int ds1_gamma : 1;
unsigned int ds1_sharpen : 1;
unsigned int : 4;
};
unsigned int top;
};
/* green equalization */
unsigned int ge_strength;
unsigned int ge_threshold;
unsigned int ge_slope;
unsigned int ge_sensitivity;
/* defect pixel correct configuration */
unsigned int dp_module;
unsigned int hpdev_threshold;
unsigned int line_threshold;
unsigned int hp_blend;
/* demosaic configuration */
unsigned int dmsc_vh_slope;
unsigned int dmsc_aa_slope;
unsigned int dmsc_va_slope;
unsigned int dmsc_uu_slope;
unsigned int dmsc_sat_slope;
unsigned int dmsc_vh_threshold;
unsigned int dmsc_aa_threshold;
unsigned int dmsc_va_threshold;
unsigned int dmsc_uu_threshold;
unsigned int dmsc_sat_threshold;
unsigned int dmsc_vh_offset;
unsigned int dmsc_aa_offset;
unsigned int dmsc_va_offset;
unsigned int dmsc_uu_offset;
unsigned int dmsc_sat_offset;
unsigned int dmsc_luminance_thresh;
unsigned int dmsc_np_offset;
unsigned int dmsc_config;
unsigned int dmsc_ac_threshold;
unsigned int dmsc_ac_slope;
unsigned int dmsc_ac_offset;
unsigned int dmsc_fc_slope;
unsigned int dmsc_fc_alias_slope;
unsigned int dmsc_fc_alias_thresh;
struct {
unsigned int dmsc_np_off : 6;
unsigned int dmsc_np_reflect : 1;
unsigned int : 25;
};
unsigned int temper_recursion_limit;
/* WDR configuration */
unsigned int wdr_short_thresh;
unsigned int wdr_long_thresh;
unsigned int wdr_expo_ratio_thresh;
unsigned int wdr_stitch_correct;
unsigned int wdr_stitch_error_thresh;
unsigned int wdr_stitch_error_limit;
unsigned int wdr_stitch_bl_long;
unsigned int wdr_stitch_bl_short;
unsigned int wdr_stitch_bl_output;
/* other configuration */
unsigned int max_isp_dgain;
unsigned int max_sensor_again;
unsigned char sharpness;
unsigned char saturation;
unsigned char brightness;
/* the parameters of contrast curve */
contrast_curve contrast;
};
struct isp_parameter_header {
char flag[HEADER_FLAG_SIZE];
unsigned int size;
unsigned int crc;
};
enum isp_parameter_header_index {
ISP_PARAM_BASE_INDEX,
ISP_PARAM_CUSTOM_INDEX,
ISP_PARAM_MAX_INDEX,
};