Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
libisp_config.h
Go to the documentation of this file.
1 #ifndef _LIBISP_CONFIG_H
2 #define _LIBISP_CONFIG_H
3 
4 #define ISP_CFA 2
5 
6 #include "boards/bebop/mt9f002.h"
7 
8 #define MT9F002_BAYERSTATS_STATX 64
9 #define MT9F002_BAYERSTATS_STATY 48
10 
11 #define MT9F002_FISHEYE_RADIUS 1920
12 #define MT9F002_FISHEYE_CENTER_X ((CFG_MT9F002_X_ADDR_MAX + CFG_MT9F002_X_ADDR_MIN)/2)
13 #define MT9F002_FISHEYE_CENTER_Y ((CFG_MT9F002_Y_ADDR_MAX + CFG_MT9F002_Y_ADDR_MIN)/2)
14 #define MT9F002_SENSOR_HEIGHT (CFG_MT9F002_Y_ADDR_MAX - CFG_MT9F002_Y_ADDR_MIN)
15 #define MT9F002_SENSOR_WIDTH (CFG_MT9F002_X_ADDR_MAX - CFG_MT9F002_X_ADDR_MIN)
16 
17 #define COMPLEMENT_2(i, r) (((i) >= 0) ? (r) : (~(r) + 1) & 0x3fff)
18 #define Q311(i) (COMPLEMENT_2(i, (unsigned)(((ABS(i)) * (1 << 11)) + 0.5)))
19 #define AVI_CONV_MATRIX(_c00, _c01, _c02, \
20  _c10, _c11, _c12, \
21  _c20, _c21, _c22) \
22  .coeff_01_00 = {{ .coeff_00 = Q311(_c00), .coeff_01 = Q311(_c01) }}, \
23  .coeff_10_02 = {{ .coeff_02 = Q311(_c02), .coeff_10 = Q311(_c10) }}, \
24  .coeff_12_11 = {{ .coeff_11 = Q311(_c11), .coeff_12 = Q311(_c12) }}, \
25  .coeff_21_20 = {{ .coeff_20 = Q311(_c20), .coeff_21 = Q311(_c21) }}, \
26  .coeff_22 = {{ .coeff_22 = Q311(_c22) }}
27 
28 #define AVI_CONV_OFFSETS(_ryin, _ryout, \
29  _guin, _guout, \
30  _bvin, _bvout) \
31  .offset_ry = {{ .offset_in = _ryin, .offset_out = _ryout }}, \
32  .offset_gu = {{ .offset_in = _guin, .offset_out = _guout }}, \
33  .offset_bv = {{ .offset_in = _bvin, .offset_out = _bvout }}
34 
35 #define AVI_CONV_CLIPS(_rymin, _rymax, \
36  _gumin, _gumax, \
37  _bvmin, _bvmax) \
38  .clip_ry = {{ .clip_min = _rymin, .clip_max = _rymax }}, \
39  .clip_gu = {{ .clip_min = _gumin, .clip_max = _gumax }}, \
40  .clip_bv = {{ .clip_min = _bvmin, .clip_max = _bvmax }}
41 
42 struct libisp_config isp_config = {
43  /* RAW 10bit to 10bit */
44  .vlformat_32to40 = {{
45  .format = 0x00,
46  }},
47 
48  /* Don't bypass a bayer function */
49  .bayer_inter = {{
50  .pedestal_bypass = 0,//0
51  .grim_bypass = 0,
52  .rip_bypass = 1,
53  .denoise_bypass = 0,//0
54  .lsc_bypass = 0,//0
55  .chroma_aber_bypass = 1,
56  .bayer_bypass = 0,//0
57  .color_matrix_bypass = 0,//0
58  }},
59 
60  /* Pedestal */
61  .pedestal = {
62  .cfa = {{ ISP_CFA }},
63  .sub_r = {{ 42 }},
64  .sub_gb = {{ 42 }},
65  .sub_gr = {{ 42 }},
66  .sub_b = {{ 42 }},
67  },
68 
69  /* Green imbalance (grim) */
70  .green_imbalance = {
71  .bayer_cfa = {{ ISP_CFA }},
72  .offset_x_y = {._register = 4718720},
73  .cell_id_x_y = {._register = 131076},
74  .cell_w = {{288}},
75  .cell_h = {{274}},
76  .cell_w_inv = {{455}},
77  .cell_h_inv = {{478}},
78  .alpha = {{58254}},
79  .beta = {{34442}},
80  },
81 
82  .grim_gr = {
83  .red_coeff_mem = {
84  {{64}}, {{ 64}}, {{64}}, {{72}}, {{61}}, {{61}}, {{61}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{63}}, {{62}}, {{64}}, {{64}}, {{64}},
85  {{64}}, {{ 64}}, {{74}}, {{60}}, {{60}}, {{61}}, {{61}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{59}}, {{64}}, {{64}},
86  {{64}}, {{ 64}}, {{61}}, {{60}}, {{60}}, {{60}}, {{61}}, {{61}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{34}}, {{64}},
87  {{64}}, {{102}}, {{60}}, {{60}}, {{60}}, {{61}}, {{61}}, {{61}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{63}}, {{64}},
88  {{64}}, {{ 61}}, {{60}}, {{60}}, {{60}}, {{61}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{63}}, {{64}},
89  {{64}}, {{ 61}}, {{60}}, {{60}}, {{61}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{64}}, {{64}},
90  {{64}}, {{ 61}}, {{60}}, {{60}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{64}}, {{64}},
91  {{64}}, {{ 61}}, {{60}}, {{61}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{64}}, {{64}}, {{64}},
92  {{64}}, {{ 61}}, {{61}}, {{60}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{63}}, {{63}}, {{64}},
93  {{64}}, {{ 64}}, {{61}}, {{60}}, {{60}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{63}}, {{63}}, {{64}},
94  {{64}}, {{ 64}}, {{61}}, {{60}}, {{60}}, {{60}}, {{61}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{63}}, {{64}}, {{64}},
95  {{64}}, {{ 64}}, {{64}}, {{60}}, {{61}}, {{60}}, {{61}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{63}}, {{63}}, {{62}}, {{64}}, {{64}},
96  {{64}}, {{ 64}}, {{64}}, {{64}}, {{60}}, {{60}}, {{61}}, {{61}}, {{61}}, {{62}}, {{62}}, {{62}}, {{62}}, {{62}}, {{64}}, {{64}}, {{64}},
97  }
98  },
99 
100  .grim_gb = {
101  .green_coeff_mem = {
102  {{64}}, {{64}}, {{64}}, {{55}}, {{67}}, {{67}}, {{67}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{65}}, {{66}}, {{64}}, {{64}}, {{64}},
103  {{64}}, {{64}}, {{53}}, {{68}}, {{68}}, {{68}}, {{67}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{69}}, {{64}}, {{64}},
104  {{64}}, {{64}}, {{67}}, {{68}}, {{68}}, {{68}}, {{67}}, {{67}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{95}}, {{64}},
105  {{64}}, {{22}}, {{68}}, {{68}}, {{68}}, {{68}}, {{67}}, {{67}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{65}}, {{64}},
106  {{64}}, {{68}}, {{68}}, {{68}}, {{68}}, {{67}}, {{67}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{65}}, {{64}},
107  {{64}}, {{68}}, {{68}}, {{68}}, {{68}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{64}}, {{64}},
108  {{64}}, {{68}}, {{68}}, {{68}}, {{67}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{64}}, {{64}},
109  {{64}}, {{67}}, {{68}}, {{68}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{64}}, {{64}}, {{64}},
110  {{64}}, {{67}}, {{68}}, {{68}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{65}}, {{65}}, {{64}},
111  {{64}}, {{64}}, {{68}}, {{68}}, {{68}}, {{67}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{65}}, {{65}}, {{64}},
112  {{64}}, {{64}}, {{67}}, {{68}}, {{68}}, {{68}}, {{67}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{65}}, {{64}}, {{64}},
113  {{64}}, {{64}}, {{64}}, {{68}}, {{68}}, {{68}}, {{68}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{65}}, {{65}}, {{66}}, {{64}}, {{64}},
114  {{64}}, {{64}}, {{64}}, {{64}}, {{68}}, {{68}}, {{68}}, {{67}}, {{67}}, {{66}}, {{66}}, {{66}}, {{66}}, {{66}}, {{64}}, {{64}}, {{64}},
115  }
116  },
117 
118  /* Dead pixel correction (for now bypass) */
119  .dead_pixel_correction = {
120  .cfa = {{ ISP_CFA }},
121  .bypass = { ._register = 1 },
122  .threshold = {{ 0xdc }},
123  .rgrim_conf = { ._register = 0x40264006 },
124  .rgrim_gain = {{ 0x52 }},
125  },
126 
127  /* Denoising */
128  .denoising = {
129  .cfa = {{ ISP_CFA }},
130  .lumocoeff_r_03_00 = {{ 0, 0, 1, 2 }},
131  .lumocoeff_r_07_04 = {{ 4, 6, 9, 13 }},
132  .lumocoeff_r_11_08 = {{ 16, 18, 21, 23 }},
133  .lumocoeff_r_13_12 = {{ 25, 26 }},
134  .lumocoeff_g_03_00 = {{ 0, 1, 1, 2 }},
135  .lumocoeff_g_07_04 = {{ 4, 6, 8, 12 }},
136  .lumocoeff_g_11_08 = {{ 15, 18, 20, 22 }},
137  .lumocoeff_g_13_12 = {{ 24, 26 }},
138  .lumocoeff_b_03_00 = {{ 0, 0, 1, 2 }},
139  .lumocoeff_b_07_04 = {{ 4, 6, 9, 13 }},
140  .lumocoeff_b_11_08 = {{ 16, 19, 21, 23 }},
141  .lumocoeff_b_13_12 = {{ 25, 27 }},
142  },
143 
144  .statistics_bayer = {
145  .measure_req = {{ 0 }},
146  .window_x = {{ .x_offset = ((MT9F002_SENSOR_WIDTH - ((MT9F002_SENSOR_WIDTH / MT9F002_BAYERSTATS_STATX) & 0xFFFFFFFE)*MT9F002_BAYERSTATS_STATX) / 2) & 0xFFFFFFFE, .x_width = (MT9F002_SENSOR_WIDTH / MT9F002_BAYERSTATS_STATX) & 0xFFFFFFFE }},
147  .window_y = {{ .y_offset = ((MT9F002_SENSOR_HEIGHT - ((MT9F002_SENSOR_HEIGHT / MT9F002_BAYERSTATS_STATY) & 0xFFFFFFFE)*MT9F002_BAYERSTATS_STATY) / 2) & 0xFFFFFFFE, .y_width = (MT9F002_SENSOR_HEIGHT / MT9F002_BAYERSTATS_STATY) & 0xFFFFFFFE }},
148  .circle_pos_x_center = {{ MT9F002_FISHEYE_CENTER_X }},
149  .circle_pos_x_squared = {{ MT9F002_FISHEYE_CENTER_X * MT9F002_FISHEYE_CENTER_X }},
150  .circle_pos_y_center = {{ MT9F002_FISHEYE_CENTER_Y }},
151  .circle_pos_y_squared = {{ MT9F002_FISHEYE_CENTER_Y * MT9F002_FISHEYE_CENTER_Y }},
152  .circle_radius_squared = {{ MT9F002_FISHEYE_RADIUS * MT9F002_FISHEYE_RADIUS}},
153  .increments_log2 = {{ 0, 0}},
154  .sat_threshold = {{ 980 }}, //1022 - pedestal
155  .cfa = {{ ISP_CFA }},
156  .max_nb_windows = {{ .x_window_count=MT9F002_BAYERSTATS_STATX, .y_window_count=MT9F002_BAYERSTATS_STATY }},
157  },
158 
159  /* Lens shading correction + AWB */
160  .lens_shading_correction = {
161  .bayer_cfa = {{ ISP_CFA }},
162  .offset_x_y = { ._register = 4718720 },
163  .cell_id_x_y = { ._register = 131076 },
164  .cell_w = {{ 288 }},
165  .cell_h = {{ 274 }},
166  .cell_w_inv = {{ 455 }},
167  .cell_h_inv = {{ 478 }},
168  .alpha = {{ 0 }},
169  .beta = {{ 0 }},
170  .threshold = {{ .threshold_r=981, .threshold_g=981, .threshold_b=981 }}, // 1023 - pedestal
171  .gain = {{ .gain_r = 386, .gain_g = 256, .gain_b = 318 }}, // For AWB
172  },
173 
174  .lsc_red_coeffs = {
175  .red_coeff_mem = {
176  {{64}}, {{ 64}}, {{ 64}}, {{153}}, {{129}}, {{ 91}}, {{ 82}}, {{77}}, {{75}}, {{76}}, {{80}}, {{ 86}}, {{106}}, {{195}}, {{ 64}}, {{ 64}}, {{64}},
177  {{64}}, {{ 64}}, {{125}}, {{120}}, {{ 86}}, {{ 77}}, {{ 71}}, {{69}}, {{68}}, {{70}}, {{71}}, {{ 74}}, {{ 82}}, {{ 94}}, {{214}}, {{ 64}}, {{64}},
178  {{64}}, {{ 64}}, {{127}}, {{ 92}}, {{ 80}}, {{ 70}}, {{ 67}}, {{65}}, {{65}}, {{65}}, {{67}}, {{ 69}}, {{ 76}}, {{ 83}}, {{105}}, {{255}}, {{64}},
179  {{64}}, {{255}}, {{113}}, {{ 83}}, {{ 73}}, {{ 66}}, {{ 65}}, {{64}}, {{65}}, {{65}}, {{65}}, {{ 67}}, {{ 70}}, {{ 79}}, {{ 91}}, {{115}}, {{64}},
180  {{64}}, {{123}}, {{100}}, {{ 80}}, {{ 69}}, {{ 65}}, {{ 64}}, {{65}}, {{65}}, {{65}}, {{66}}, {{ 66}}, {{ 68}}, {{ 74}}, {{ 84}}, {{109}}, {{64}},
181  {{64}}, {{123}}, {{ 95}}, {{ 77}}, {{ 67}}, {{ 64}}, {{ 64}}, {{64}}, {{65}}, {{65}}, {{66}}, {{ 66}}, {{ 67}}, {{ 72}}, {{ 82}}, {{104}}, {{64}},
182  {{64}}, {{120}}, {{ 97}}, {{ 76}}, {{ 67}}, {{ 64}}, {{ 64}}, {{65}}, {{64}}, {{65}}, {{66}}, {{ 66}}, {{ 68}}, {{ 71}}, {{ 83}}, {{102}}, {{64}},
183  {{64}}, {{122}}, {{100}}, {{ 78}}, {{ 68}}, {{ 64}}, {{ 64}}, {{65}}, {{65}}, {{65}}, {{65}}, {{ 66}}, {{ 68}}, {{ 71}}, {{ 87}}, {{102}}, {{64}},
184  {{64}}, {{136}}, {{111}}, {{ 85}}, {{ 70}}, {{ 66}}, {{ 64}}, {{65}}, {{65}}, {{66}}, {{65}}, {{ 66}}, {{ 69}}, {{ 75}}, {{ 92}}, {{106}}, {{64}},
185  {{64}}, {{ 64}}, {{113}}, {{100}}, {{ 76}}, {{ 70}}, {{ 66}}, {{65}}, {{65}}, {{65}}, {{66}}, {{ 69}}, {{ 72}}, {{ 85}}, {{101}}, {{122}}, {{64}},
186  {{64}}, {{ 64}}, {{133}}, {{110}}, {{ 91}}, {{ 76}}, {{ 71}}, {{68}}, {{68}}, {{68}}, {{70}}, {{ 73}}, {{ 80}}, {{ 98}}, {{108}}, {{ 64}}, {{64}},
187  {{64}}, {{ 64}}, {{ 64}}, {{125}}, {{113}}, {{ 93}}, {{ 82}}, {{76}}, {{76}}, {{75}}, {{79}}, {{ 85}}, {{102}}, {{107}}, {{155}}, {{ 64}}, {{64}},
188  {{64}}, {{ 64}}, {{ 64}}, {{ 64}}, {{135}}, {{109}}, {{106}}, {{92}}, {{90}}, {{90}}, {{97}}, {{104}}, {{118}}, {{159}}, {{ 64}}, {{ 64}}, {{64}},
189  }
190  },
191 
192  .lsc_green_coeffs = {
193  .green_coeff_mem = {
194  {{64}}, {{ 64}}, {{ 64}}, {{127}}, {{129}}, {{ 91}}, {{ 82}}, {{77}}, {{76}}, {{77}}, {{81}}, {{ 87}}, {{106}}, {{185}}, {{ 64}}, {{ 64}}, {{64}},
195  {{64}}, {{ 64}}, {{ 76}}, {{120}}, {{ 86}}, {{ 77}}, {{ 72}}, {{70}}, {{69}}, {{71}}, {{72}}, {{ 76}}, {{ 84}}, {{ 96}}, {{196}}, {{ 64}}, {{64}},
196  {{64}}, {{ 64}}, {{128}}, {{ 92}}, {{ 80}}, {{ 70}}, {{ 67}}, {{66}}, {{66}}, {{66}}, {{68}}, {{ 70}}, {{ 77}}, {{ 84}}, {{106}}, {{255}}, {{64}},
197  {{64}}, {{255}}, {{115}}, {{ 83}}, {{ 73}}, {{ 67}}, {{ 65}}, {{65}}, {{65}}, {{65}}, {{65}}, {{ 67}}, {{ 71}}, {{ 80}}, {{ 92}}, {{113}}, {{64}},
198  {{64}}, {{125}}, {{101}}, {{ 81}}, {{ 69}}, {{ 66}}, {{ 65}}, {{65}}, {{65}}, {{65}}, {{65}}, {{ 66}}, {{ 68}}, {{ 75}}, {{ 85}}, {{108}}, {{64}},
199  {{64}}, {{126}}, {{ 97}}, {{ 77}}, {{ 68}}, {{ 65}}, {{ 65}}, {{65}}, {{65}}, {{65}}, {{66}}, {{ 66}}, {{ 67}}, {{ 72}}, {{ 83}}, {{104}}, {{64}},
200  {{64}}, {{123}}, {{ 98}}, {{ 77}}, {{ 68}}, {{ 65}}, {{ 65}}, {{65}}, {{64}}, {{65}}, {{65}}, {{ 65}}, {{ 68}}, {{ 71}}, {{ 84}}, {{101}}, {{64}},
201  {{64}}, {{125}}, {{101}}, {{ 78}}, {{ 68}}, {{ 65}}, {{ 64}}, {{65}}, {{65}}, {{65}}, {{65}}, {{ 65}}, {{ 68}}, {{ 72}}, {{ 87}}, {{101}}, {{64}},
202  {{64}}, {{137}}, {{111}}, {{ 86}}, {{ 70}}, {{ 67}}, {{ 65}}, {{65}}, {{65}}, {{66}}, {{65}}, {{ 66}}, {{ 69}}, {{ 75}}, {{ 91}}, {{103}}, {{64}},
203  {{64}}, {{ 64}}, {{112}}, {{ 99}}, {{ 75}}, {{ 70}}, {{ 66}}, {{65}}, {{65}}, {{65}}, {{66}}, {{ 68}}, {{ 71}}, {{ 84}}, {{ 98}}, {{117}}, {{64}},
204  {{64}}, {{ 64}}, {{131}}, {{109}}, {{ 90}}, {{ 75}}, {{ 71}}, {{68}}, {{67}}, {{68}}, {{69}}, {{ 72}}, {{ 79}}, {{ 96}}, {{105}}, {{ 64}}, {{64}},
205  {{64}}, {{ 64}}, {{ 64}}, {{122}}, {{111}}, {{ 92}}, {{ 81}}, {{75}}, {{74}}, {{74}}, {{77}}, {{ 83}}, {{ 99}}, {{103}}, {{146}}, {{ 64}}, {{64}},
206  {{64}}, {{ 64}}, {{ 64}}, {{ 64}}, {{131}}, {{107}}, {{103}}, {{90}}, {{88}}, {{87}}, {{94}}, {{100}}, {{112}}, {{149}}, {{ 64}}, {{ 64}}, {{64}},
207  }
208  },
209 
210  .lsc_blue_coeffs = {
211  .blue_coeff_mem = {
212  {{64}}, {{ 64}}, {{ 64}}, {{119}}, {{115}}, {{86}}, {{79}}, {{76}}, {{75}}, {{75}}, {{78}}, {{82}}, {{96}}, {{154}}, {{ 64}}, {{ 64}}, {{64}},
213  {{64}}, {{ 64}}, {{ 83}}, {{108}}, {{ 82}}, {{75}}, {{71}}, {{70}}, {{69}}, {{70}}, {{71}}, {{73}}, {{79}}, {{ 88}}, {{165}}, {{ 64}}, {{64}},
214  {{64}}, {{ 64}}, {{112}}, {{ 85}}, {{ 77}}, {{70}}, {{67}}, {{66}}, {{66}}, {{66}}, {{67}}, {{68}}, {{73}}, {{ 78}}, {{ 94}}, {{255}}, {{64}},
215  {{64}}, {{255}}, {{101}}, {{ 78}}, {{ 71}}, {{66}}, {{65}}, {{65}}, {{65}}, {{65}}, {{65}}, {{66}}, {{68}}, {{ 74}}, {{ 83}}, {{ 99}}, {{64}},
216  {{64}}, {{108}}, {{ 90}}, {{ 76}}, {{ 68}}, {{65}}, {{65}}, {{65}}, {{65}}, {{65}}, {{64}}, {{64}}, {{65}}, {{ 70}}, {{ 77}}, {{ 95}}, {{64}},
217  {{64}}, {{108}}, {{ 86}}, {{ 73}}, {{ 66}}, {{65}}, {{65}}, {{65}}, {{65}}, {{65}}, {{64}}, {{64}}, {{64}}, {{ 68}}, {{ 75}}, {{ 90}}, {{64}},
218  {{64}}, {{106}}, {{ 87}}, {{ 72}}, {{ 66}}, {{64}}, {{65}}, {{65}}, {{64}}, {{64}}, {{64}}, {{63}}, {{64}}, {{ 67}}, {{ 75}}, {{ 88}}, {{64}},
219  {{64}}, {{106}}, {{ 89}}, {{ 73}}, {{ 67}}, {{64}}, {{64}}, {{65}}, {{64}}, {{64}}, {{64}}, {{63}}, {{65}}, {{ 67}}, {{ 77}}, {{ 88}}, {{64}},
220  {{64}}, {{115}}, {{ 95}}, {{ 78}}, {{ 67}}, {{65}}, {{64}}, {{64}}, {{64}}, {{64}}, {{63}}, {{63}}, {{65}}, {{ 69}}, {{ 80}}, {{ 90}}, {{64}},
221  {{64}}, {{ 64}}, {{ 96}}, {{ 87}}, {{ 70}}, {{67}}, {{64}}, {{64}}, {{63}}, {{63}}, {{63}}, {{65}}, {{67}}, {{ 75}}, {{ 86}}, {{100}}, {{64}},
222  {{64}}, {{ 64}}, {{109}}, {{ 93}}, {{ 80}}, {{70}}, {{67}}, {{65}}, {{65}}, {{64}}, {{66}}, {{67}}, {{72}}, {{ 84}}, {{ 91}}, {{ 64}}, {{64}},
223  {{64}}, {{ 64}}, {{ 64}}, {{102}}, {{ 94}}, {{81}}, {{74}}, {{70}}, {{69}}, {{69}}, {{71}}, {{74}}, {{86}}, {{ 89}}, {{121}}, {{ 64}}, {{64}},
224  {{64}}, {{ 64}}, {{ 64}}, {{ 64}}, {{109}}, {{90}}, {{88}}, {{79}}, {{77}}, {{77}}, {{82}}, {{86}}, {{95}}, {{124}}, {{ 64}}, {{ 64}}, {{64}},
225  }
226  },
227 
228  /* Chromatic abberation (For now just bypass as it has too many difficult registers to set) */
229  /*
230  .chromatic_aberration = {
231  .circle_pos_x_center = {{ 2356 }},
232  .circle_pos_x_squared = {{ 5550736 }},
233  .circle_pos_y_center = {{ 1585 }},
234  .circle_pos_y_squared = {{ 2512225 }},
235  .cfa = {{ ISP_CFA }},
236  .green_variation = {{ 1 }},
237  .increments_log2 = {{ .x_log2_inc=0, .y_log2_inc=0 }},
238  },*/
239 
240  /* Demosaicking */
241  .bayer = {
242  .cfa = {{ ISP_CFA }}, /* GRGB (top left to bottom right order) */
243  .threshold_1 = {{ 20 }}, /* Lower threshold */
244  .threshold_2 = {{ 500 }}, /* Upper threshold */
245  },
246 
247  /* Color correction */
248  .color_correction = {
249  .coeff_01_00 = { ._register = 0xF3811477 },
250  .coeff_10_02 = { ._register = 0xFDF0021d },
251  .coeff_12_11 = { ._register = 0xFF9E0A33 },
252  .coeff_21_20 = { ._register = 0xF4DFFE25 },
253  .coeff_22 = { ._register = 0x00001B83 },
254  .offset_ry = { ._register = 0x00000000 },
255  .clip_ry = { ._register = 0x03FF0000 },
256  .offset_gu = { ._register = 0x00000000 },
257  .clip_gu = { ._register = 0x03FF0000 },
258  .offset_bv = { ._register = 0x00000000 },
259  .clip_bv = { ._register = 0x03FF0000 },
260  },
261 
262  /* RAW 10bit to 10bit */
263  .vlformat_40to32 = {{
264  .format = 0x03,
265  }},
266 
267  /* Gamma corrector (Curves) */
268  .gamma_corrector = {
269  .conf = {{
270  .bypass = 0, /* Enable gamma corrector */
271  .palette = 0, /* Non-linear correction mode (curve) */
272  .comp_width = 1 /* 10-bit */
273  }}
274  },
275 
276  .gc_ry_lut = {
277  .ry_lut = {
278  {{ 0}}, {{ 1}}, {{ 1}}, {{ 1}}, {{ 2}}, {{ 2}}, {{ 3}}, {{ 3}}, {{ 4}}, {{ 4}}, {{ 5}}, {{ 5}}, {{ 6}}, {{ 7}}, {{ 7}}, {{ 8}}, {{ 9}}, {{ 10}}, {{ 11}}, {{ 12}},
279  {{ 13}}, {{ 15}}, {{ 16}}, {{ 17}}, {{ 19}}, {{ 21}}, {{ 23}}, {{ 24}}, {{ 26}}, {{ 27}}, {{ 29}}, {{ 30}}, {{ 32}}, {{ 33}}, {{ 34}}, {{ 35}}, {{ 36}}, {{ 37}}, {{ 38}}, {{ 39}},
280  {{ 40}}, {{ 41}}, {{ 42}}, {{ 43}}, {{ 44}}, {{ 45}}, {{ 45}}, {{ 46}}, {{ 47}}, {{ 48}}, {{ 49}}, {{ 49}}, {{ 50}}, {{ 51}}, {{ 52}}, {{ 52}}, {{ 53}}, {{ 54}}, {{ 55}}, {{ 55}},
281  {{ 56}}, {{ 57}}, {{ 57}}, {{ 58}}, {{ 59}}, {{ 59}}, {{ 60}}, {{ 60}}, {{ 61}}, {{ 62}}, {{ 62}}, {{ 63}}, {{ 63}}, {{ 64}}, {{ 65}}, {{ 65}}, {{ 66}}, {{ 66}}, {{ 67}}, {{ 68}},
282  {{ 68}}, {{ 69}}, {{ 69}}, {{ 70}}, {{ 70}}, {{ 71}}, {{ 71}}, {{ 72}}, {{ 72}}, {{ 73}}, {{ 73}}, {{ 74}}, {{ 74}}, {{ 75}}, {{ 75}}, {{ 76}}, {{ 76}}, {{ 77}}, {{ 77}}, {{ 78}},
283  {{ 78}}, {{ 79}}, {{ 79}}, {{ 80}}, {{ 80}}, {{ 81}}, {{ 81}}, {{ 82}}, {{ 82}}, {{ 83}}, {{ 83}}, {{ 83}}, {{ 84}}, {{ 84}}, {{ 85}}, {{ 85}}, {{ 86}}, {{ 86}}, {{ 87}}, {{ 87}},
284  {{ 87}}, {{ 88}}, {{ 88}}, {{ 89}}, {{ 89}}, {{ 90}}, {{ 90}}, {{ 90}}, {{ 91}}, {{ 91}}, {{ 92}}, {{ 92}}, {{ 92}}, {{ 93}}, {{ 93}}, {{ 94}}, {{ 94}}, {{ 94}}, {{ 95}}, {{ 95}},
285  {{ 96}}, {{ 96}}, {{ 96}}, {{ 97}}, {{ 97}}, {{ 98}}, {{ 98}}, {{ 98}}, {{ 99}}, {{ 99}}, {{ 99}}, {{100}}, {{100}}, {{101}}, {{101}}, {{101}}, {{102}}, {{102}}, {{102}}, {{103}},
286  {{103}}, {{103}}, {{104}}, {{104}}, {{105}}, {{105}}, {{105}}, {{106}}, {{106}}, {{106}}, {{107}}, {{107}}, {{107}}, {{108}}, {{108}}, {{108}}, {{109}}, {{109}}, {{109}}, {{110}},
287  {{110}}, {{111}}, {{111}}, {{111}}, {{112}}, {{112}}, {{112}}, {{113}}, {{113}}, {{113}}, {{114}}, {{114}}, {{114}}, {{114}}, {{115}}, {{115}}, {{115}}, {{116}}, {{116}}, {{116}},
288  {{117}}, {{117}}, {{117}}, {{118}}, {{118}}, {{118}}, {{119}}, {{119}}, {{119}}, {{120}}, {{120}}, {{120}}, {{121}}, {{121}}, {{121}}, {{121}}, {{122}}, {{122}}, {{122}}, {{123}},
289  {{123}}, {{123}}, {{124}}, {{124}}, {{124}}, {{125}}, {{125}}, {{125}}, {{125}}, {{126}}, {{126}}, {{126}}, {{127}}, {{127}}, {{127}}, {{127}}, {{128}}, {{128}}, {{128}}, {{129}},
290  {{129}}, {{129}}, {{130}}, {{130}}, {{130}}, {{130}}, {{131}}, {{131}}, {{131}}, {{132}}, {{132}}, {{132}}, {{132}}, {{133}}, {{133}}, {{133}}, {{133}}, {{134}}, {{134}}, {{134}},
291  {{135}}, {{135}}, {{135}}, {{135}}, {{136}}, {{136}}, {{136}}, {{137}}, {{137}}, {{137}}, {{137}}, {{138}}, {{138}}, {{138}}, {{138}}, {{139}}, {{139}}, {{139}}, {{139}}, {{140}},
292  {{140}}, {{140}}, {{140}}, {{141}}, {{141}}, {{141}}, {{142}}, {{142}}, {{142}}, {{142}}, {{143}}, {{143}}, {{143}}, {{143}}, {{144}}, {{144}}, {{144}}, {{144}}, {{145}}, {{145}},
293  {{145}}, {{145}}, {{146}}, {{146}}, {{146}}, {{146}}, {{147}}, {{147}}, {{147}}, {{147}}, {{148}}, {{148}}, {{148}}, {{148}}, {{149}}, {{149}}, {{149}}, {{149}}, {{149}}, {{150}},
294  {{150}}, {{150}}, {{150}}, {{151}}, {{151}}, {{151}}, {{151}}, {{152}}, {{152}}, {{152}}, {{152}}, {{153}}, {{153}}, {{153}}, {{153}}, {{154}}, {{154}}, {{154}}, {{154}}, {{154}},
295  {{155}}, {{155}}, {{155}}, {{155}}, {{156}}, {{156}}, {{156}}, {{156}}, {{156}}, {{157}}, {{157}}, {{157}}, {{157}}, {{158}}, {{158}}, {{158}}, {{158}}, {{159}}, {{159}}, {{159}},
296  {{159}}, {{159}}, {{160}}, {{160}}, {{160}}, {{160}}, {{160}}, {{161}}, {{161}}, {{161}}, {{161}}, {{162}}, {{162}}, {{162}}, {{162}}, {{162}}, {{163}}, {{163}}, {{163}}, {{163}},
297  {{164}}, {{164}}, {{164}}, {{164}}, {{164}}, {{165}}, {{165}}, {{165}}, {{165}}, {{165}}, {{166}}, {{166}}, {{166}}, {{166}}, {{166}}, {{167}}, {{167}}, {{167}}, {{167}}, {{168}},
298  {{168}}, {{168}}, {{168}}, {{168}}, {{169}}, {{169}}, {{169}}, {{169}}, {{169}}, {{170}}, {{170}}, {{170}}, {{170}}, {{170}}, {{171}}, {{171}}, {{171}}, {{171}}, {{171}}, {{172}},
299  {{172}}, {{172}}, {{172}}, {{172}}, {{173}}, {{173}}, {{173}}, {{173}}, {{173}}, {{174}}, {{174}}, {{174}}, {{174}}, {{174}}, {{175}}, {{175}}, {{175}}, {{175}}, {{175}}, {{175}},
300  {{176}}, {{176}}, {{176}}, {{176}}, {{176}}, {{177}}, {{177}}, {{177}}, {{177}}, {{177}}, {{178}}, {{178}}, {{178}}, {{178}}, {{178}}, {{179}}, {{179}}, {{179}}, {{179}}, {{179}},
301  {{179}}, {{180}}, {{180}}, {{180}}, {{180}}, {{180}}, {{181}}, {{181}}, {{181}}, {{181}}, {{181}}, {{182}}, {{182}}, {{182}}, {{182}}, {{182}}, {{182}}, {{183}}, {{183}}, {{183}},
302  {{183}}, {{183}}, {{184}}, {{184}}, {{184}}, {{184}}, {{184}}, {{184}}, {{185}}, {{185}}, {{185}}, {{185}}, {{185}}, {{185}}, {{186}}, {{186}}, {{186}}, {{186}}, {{186}}, {{187}},
303  {{187}}, {{187}}, {{187}}, {{187}}, {{187}}, {{188}}, {{188}}, {{188}}, {{188}}, {{188}}, {{188}}, {{189}}, {{189}}, {{189}}, {{189}}, {{189}}, {{190}}, {{190}}, {{190}}, {{190}},
304  {{190}}, {{190}}, {{191}}, {{191}}, {{191}}, {{191}}, {{191}}, {{191}}, {{192}}, {{192}}, {{192}}, {{192}}, {{192}}, {{192}}, {{193}}, {{193}}, {{193}}, {{193}}, {{193}}, {{193}},
305  {{194}}, {{194}}, {{194}}, {{194}}, {{194}}, {{194}}, {{195}}, {{195}}, {{195}}, {{195}}, {{195}}, {{195}}, {{196}}, {{196}}, {{196}}, {{196}}, {{196}}, {{196}}, {{197}}, {{197}},
306  {{197}}, {{197}}, {{197}}, {{197}}, {{197}}, {{198}}, {{198}}, {{198}}, {{198}}, {{198}}, {{198}}, {{199}}, {{199}}, {{199}}, {{199}}, {{199}}, {{199}}, {{200}}, {{200}}, {{200}},
307  {{200}}, {{200}}, {{200}}, {{201}}, {{201}}, {{201}}, {{201}}, {{201}}, {{201}}, {{201}}, {{202}}, {{202}}, {{202}}, {{202}}, {{202}}, {{202}}, {{203}}, {{203}}, {{203}}, {{203}},
308  {{203}}, {{203}}, {{203}}, {{204}}, {{204}}, {{204}}, {{204}}, {{204}}, {{204}}, {{205}}, {{205}}, {{205}}, {{205}}, {{205}}, {{205}}, {{205}}, {{206}}, {{206}}, {{206}}, {{206}},
309  {{206}}, {{206}}, {{206}}, {{207}}, {{207}}, {{207}}, {{207}}, {{207}}, {{207}}, {{208}}, {{208}}, {{208}}, {{208}}, {{208}}, {{208}}, {{208}}, {{209}}, {{209}}, {{209}}, {{209}},
310  {{209}}, {{209}}, {{209}}, {{210}}, {{210}}, {{210}}, {{210}}, {{210}}, {{210}}, {{210}}, {{211}}, {{211}}, {{211}}, {{211}}, {{211}}, {{211}}, {{211}}, {{212}}, {{212}}, {{212}},
311  {{212}}, {{212}}, {{212}}, {{212}}, {{213}}, {{213}}, {{213}}, {{213}}, {{213}}, {{213}}, {{213}}, {{214}}, {{214}}, {{214}}, {{214}}, {{214}}, {{214}}, {{214}}, {{215}}, {{215}},
312  {{215}}, {{215}}, {{215}}, {{215}}, {{215}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{217}}, {{217}}, {{217}}, {{217}}, {{217}}, {{217}}, {{217}},
313  {{218}}, {{218}}, {{218}}, {{218}}, {{218}}, {{218}}, {{218}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{220}}, {{220}}, {{220}}, {{220}}, {{220}},
314  {{220}}, {{220}}, {{220}}, {{221}}, {{221}}, {{221}}, {{221}}, {{221}}, {{221}}, {{221}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{223}}, {{223}},
315  {{223}}, {{223}}, {{223}}, {{223}}, {{223}}, {{223}}, {{224}}, {{224}}, {{224}}, {{224}}, {{224}}, {{224}}, {{224}}, {{225}}, {{225}}, {{225}}, {{225}}, {{225}}, {{225}}, {{225}},
316  {{225}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{228}}, {{228}}, {{228}},
317  {{228}}, {{228}}, {{228}}, {{228}}, {{228}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{230}}, {{230}}, {{230}}, {{230}}, {{230}}, {{230}}, {{230}},
318  {{230}}, {{230}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{233}}, {{233}},
319  {{233}}, {{233}}, {{233}}, {{233}}, {{233}}, {{233}}, {{233}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{235}}, {{235}}, {{235}}, {{235}}, {{235}},
320  {{235}}, {{235}}, {{235}}, {{235}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{237}}, {{237}}, {{237}}, {{237}}, {{237}}, {{237}}, {{237}},
321  {{237}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{240}},
322  {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{242}}, {{242}}, {{242}},
323  {{242}}, {{242}}, {{242}}, {{242}}, {{242}}, {{242}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{244}}, {{244}}, {{244}}, {{244}}, {{244}},
324  {{244}}, {{244}}, {{244}}, {{244}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{246}}, {{246}}, {{246}}, {{246}}, {{246}}, {{246}},
325  {{246}}, {{246}}, {{246}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}},
326  {{248}}, {{248}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}},
327  {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}},
328  {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{255}},
329  {{255}}, {{255}}, {{255}}, {{255}}
330  }
331  },
332 
333  .gc_gu_lut = {
334  .gu_lut = {
335  {{ 0}}, {{ 1}}, {{ 1}}, {{ 1}}, {{ 2}}, {{ 2}}, {{ 3}}, {{ 3}}, {{ 4}}, {{ 4}}, {{ 5}}, {{ 5}}, {{ 6}}, {{ 7}}, {{ 7}}, {{ 8}}, {{ 9}}, {{ 10}}, {{ 11}}, {{ 12}},
336  {{ 13}}, {{ 15}}, {{ 16}}, {{ 17}}, {{ 19}}, {{ 21}}, {{ 23}}, {{ 24}}, {{ 26}}, {{ 27}}, {{ 29}}, {{ 30}}, {{ 32}}, {{ 33}}, {{ 34}}, {{ 35}}, {{ 36}}, {{ 37}}, {{ 38}}, {{ 39}},
337  {{ 40}}, {{ 41}}, {{ 42}}, {{ 43}}, {{ 44}}, {{ 45}}, {{ 45}}, {{ 46}}, {{ 47}}, {{ 48}}, {{ 49}}, {{ 49}}, {{ 50}}, {{ 51}}, {{ 52}}, {{ 52}}, {{ 53}}, {{ 54}}, {{ 55}}, {{ 55}},
338  {{ 56}}, {{ 57}}, {{ 57}}, {{ 58}}, {{ 59}}, {{ 59}}, {{ 60}}, {{ 60}}, {{ 61}}, {{ 62}}, {{ 62}}, {{ 63}}, {{ 63}}, {{ 64}}, {{ 65}}, {{ 65}}, {{ 66}}, {{ 66}}, {{ 67}}, {{ 68}},
339  {{ 68}}, {{ 69}}, {{ 69}}, {{ 70}}, {{ 70}}, {{ 71}}, {{ 71}}, {{ 72}}, {{ 72}}, {{ 73}}, {{ 73}}, {{ 74}}, {{ 74}}, {{ 75}}, {{ 75}}, {{ 76}}, {{ 76}}, {{ 77}}, {{ 77}}, {{ 78}},
340  {{ 78}}, {{ 79}}, {{ 79}}, {{ 80}}, {{ 80}}, {{ 81}}, {{ 81}}, {{ 82}}, {{ 82}}, {{ 83}}, {{ 83}}, {{ 83}}, {{ 84}}, {{ 84}}, {{ 85}}, {{ 85}}, {{ 86}}, {{ 86}}, {{ 87}}, {{ 87}},
341  {{ 87}}, {{ 88}}, {{ 88}}, {{ 89}}, {{ 89}}, {{ 90}}, {{ 90}}, {{ 90}}, {{ 91}}, {{ 91}}, {{ 92}}, {{ 92}}, {{ 92}}, {{ 93}}, {{ 93}}, {{ 94}}, {{ 94}}, {{ 94}}, {{ 95}}, {{ 95}},
342  {{ 96}}, {{ 96}}, {{ 96}}, {{ 97}}, {{ 97}}, {{ 98}}, {{ 98}}, {{ 98}}, {{ 99}}, {{ 99}}, {{ 99}}, {{100}}, {{100}}, {{101}}, {{101}}, {{101}}, {{102}}, {{102}}, {{102}}, {{103}},
343  {{103}}, {{103}}, {{104}}, {{104}}, {{105}}, {{105}}, {{105}}, {{106}}, {{106}}, {{106}}, {{107}}, {{107}}, {{107}}, {{108}}, {{108}}, {{108}}, {{109}}, {{109}}, {{109}}, {{110}},
344  {{110}}, {{111}}, {{111}}, {{111}}, {{112}}, {{112}}, {{112}}, {{113}}, {{113}}, {{113}}, {{114}}, {{114}}, {{114}}, {{114}}, {{115}}, {{115}}, {{115}}, {{116}}, {{116}}, {{116}},
345  {{117}}, {{117}}, {{117}}, {{118}}, {{118}}, {{118}}, {{119}}, {{119}}, {{119}}, {{120}}, {{120}}, {{120}}, {{121}}, {{121}}, {{121}}, {{121}}, {{122}}, {{122}}, {{122}}, {{123}},
346  {{123}}, {{123}}, {{124}}, {{124}}, {{124}}, {{125}}, {{125}}, {{125}}, {{125}}, {{126}}, {{126}}, {{126}}, {{127}}, {{127}}, {{127}}, {{127}}, {{128}}, {{128}}, {{128}}, {{129}},
347  {{129}}, {{129}}, {{130}}, {{130}}, {{130}}, {{130}}, {{131}}, {{131}}, {{131}}, {{132}}, {{132}}, {{132}}, {{132}}, {{133}}, {{133}}, {{133}}, {{133}}, {{134}}, {{134}}, {{134}},
348  {{135}}, {{135}}, {{135}}, {{135}}, {{136}}, {{136}}, {{136}}, {{137}}, {{137}}, {{137}}, {{137}}, {{138}}, {{138}}, {{138}}, {{138}}, {{139}}, {{139}}, {{139}}, {{139}}, {{140}},
349  {{140}}, {{140}}, {{140}}, {{141}}, {{141}}, {{141}}, {{142}}, {{142}}, {{142}}, {{142}}, {{143}}, {{143}}, {{143}}, {{143}}, {{144}}, {{144}}, {{144}}, {{144}}, {{145}}, {{145}},
350  {{145}}, {{145}}, {{146}}, {{146}}, {{146}}, {{146}}, {{147}}, {{147}}, {{147}}, {{147}}, {{148}}, {{148}}, {{148}}, {{148}}, {{149}}, {{149}}, {{149}}, {{149}}, {{149}}, {{150}},
351  {{150}}, {{150}}, {{150}}, {{151}}, {{151}}, {{151}}, {{151}}, {{152}}, {{152}}, {{152}}, {{152}}, {{153}}, {{153}}, {{153}}, {{153}}, {{154}}, {{154}}, {{154}}, {{154}}, {{154}},
352  {{155}}, {{155}}, {{155}}, {{155}}, {{156}}, {{156}}, {{156}}, {{156}}, {{156}}, {{157}}, {{157}}, {{157}}, {{157}}, {{158}}, {{158}}, {{158}}, {{158}}, {{159}}, {{159}}, {{159}},
353  {{159}}, {{159}}, {{160}}, {{160}}, {{160}}, {{160}}, {{160}}, {{161}}, {{161}}, {{161}}, {{161}}, {{162}}, {{162}}, {{162}}, {{162}}, {{162}}, {{163}}, {{163}}, {{163}}, {{163}},
354  {{164}}, {{164}}, {{164}}, {{164}}, {{164}}, {{165}}, {{165}}, {{165}}, {{165}}, {{165}}, {{166}}, {{166}}, {{166}}, {{166}}, {{166}}, {{167}}, {{167}}, {{167}}, {{167}}, {{168}},
355  {{168}}, {{168}}, {{168}}, {{168}}, {{169}}, {{169}}, {{169}}, {{169}}, {{169}}, {{170}}, {{170}}, {{170}}, {{170}}, {{170}}, {{171}}, {{171}}, {{171}}, {{171}}, {{171}}, {{172}},
356  {{172}}, {{172}}, {{172}}, {{172}}, {{173}}, {{173}}, {{173}}, {{173}}, {{173}}, {{174}}, {{174}}, {{174}}, {{174}}, {{174}}, {{175}}, {{175}}, {{175}}, {{175}}, {{175}}, {{175}},
357  {{176}}, {{176}}, {{176}}, {{176}}, {{176}}, {{177}}, {{177}}, {{177}}, {{177}}, {{177}}, {{178}}, {{178}}, {{178}}, {{178}}, {{178}}, {{179}}, {{179}}, {{179}}, {{179}}, {{179}},
358  {{179}}, {{180}}, {{180}}, {{180}}, {{180}}, {{180}}, {{181}}, {{181}}, {{181}}, {{181}}, {{181}}, {{182}}, {{182}}, {{182}}, {{182}}, {{182}}, {{182}}, {{183}}, {{183}}, {{183}},
359  {{183}}, {{183}}, {{184}}, {{184}}, {{184}}, {{184}}, {{184}}, {{184}}, {{185}}, {{185}}, {{185}}, {{185}}, {{185}}, {{185}}, {{186}}, {{186}}, {{186}}, {{186}}, {{186}}, {{187}},
360  {{187}}, {{187}}, {{187}}, {{187}}, {{187}}, {{188}}, {{188}}, {{188}}, {{188}}, {{188}}, {{188}}, {{189}}, {{189}}, {{189}}, {{189}}, {{189}}, {{190}}, {{190}}, {{190}}, {{190}},
361  {{190}}, {{190}}, {{191}}, {{191}}, {{191}}, {{191}}, {{191}}, {{191}}, {{192}}, {{192}}, {{192}}, {{192}}, {{192}}, {{192}}, {{193}}, {{193}}, {{193}}, {{193}}, {{193}}, {{193}},
362  {{194}}, {{194}}, {{194}}, {{194}}, {{194}}, {{194}}, {{195}}, {{195}}, {{195}}, {{195}}, {{195}}, {{195}}, {{196}}, {{196}}, {{196}}, {{196}}, {{196}}, {{196}}, {{197}}, {{197}},
363  {{197}}, {{197}}, {{197}}, {{197}}, {{197}}, {{198}}, {{198}}, {{198}}, {{198}}, {{198}}, {{198}}, {{199}}, {{199}}, {{199}}, {{199}}, {{199}}, {{199}}, {{200}}, {{200}}, {{200}},
364  {{200}}, {{200}}, {{200}}, {{201}}, {{201}}, {{201}}, {{201}}, {{201}}, {{201}}, {{201}}, {{202}}, {{202}}, {{202}}, {{202}}, {{202}}, {{202}}, {{203}}, {{203}}, {{203}}, {{203}},
365  {{203}}, {{203}}, {{203}}, {{204}}, {{204}}, {{204}}, {{204}}, {{204}}, {{204}}, {{205}}, {{205}}, {{205}}, {{205}}, {{205}}, {{205}}, {{205}}, {{206}}, {{206}}, {{206}}, {{206}},
366  {{206}}, {{206}}, {{206}}, {{207}}, {{207}}, {{207}}, {{207}}, {{207}}, {{207}}, {{208}}, {{208}}, {{208}}, {{208}}, {{208}}, {{208}}, {{208}}, {{209}}, {{209}}, {{209}}, {{209}},
367  {{209}}, {{209}}, {{209}}, {{210}}, {{210}}, {{210}}, {{210}}, {{210}}, {{210}}, {{210}}, {{211}}, {{211}}, {{211}}, {{211}}, {{211}}, {{211}}, {{211}}, {{212}}, {{212}}, {{212}},
368  {{212}}, {{212}}, {{212}}, {{212}}, {{213}}, {{213}}, {{213}}, {{213}}, {{213}}, {{213}}, {{213}}, {{214}}, {{214}}, {{214}}, {{214}}, {{214}}, {{214}}, {{214}}, {{215}}, {{215}},
369  {{215}}, {{215}}, {{215}}, {{215}}, {{215}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{217}}, {{217}}, {{217}}, {{217}}, {{217}}, {{217}}, {{217}},
370  {{218}}, {{218}}, {{218}}, {{218}}, {{218}}, {{218}}, {{218}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{220}}, {{220}}, {{220}}, {{220}}, {{220}},
371  {{220}}, {{220}}, {{220}}, {{221}}, {{221}}, {{221}}, {{221}}, {{221}}, {{221}}, {{221}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{223}}, {{223}},
372  {{223}}, {{223}}, {{223}}, {{223}}, {{223}}, {{223}}, {{224}}, {{224}}, {{224}}, {{224}}, {{224}}, {{224}}, {{224}}, {{225}}, {{225}}, {{225}}, {{225}}, {{225}}, {{225}}, {{225}},
373  {{225}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{228}}, {{228}}, {{228}},
374  {{228}}, {{228}}, {{228}}, {{228}}, {{228}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{230}}, {{230}}, {{230}}, {{230}}, {{230}}, {{230}}, {{230}},
375  {{230}}, {{230}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{233}}, {{233}},
376  {{233}}, {{233}}, {{233}}, {{233}}, {{233}}, {{233}}, {{233}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{235}}, {{235}}, {{235}}, {{235}}, {{235}},
377  {{235}}, {{235}}, {{235}}, {{235}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{237}}, {{237}}, {{237}}, {{237}}, {{237}}, {{237}}, {{237}},
378  {{237}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{240}},
379  {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{242}}, {{242}}, {{242}},
380  {{242}}, {{242}}, {{242}}, {{242}}, {{242}}, {{242}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{244}}, {{244}}, {{244}}, {{244}}, {{244}},
381  {{244}}, {{244}}, {{244}}, {{244}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{246}}, {{246}}, {{246}}, {{246}}, {{246}}, {{246}},
382  {{246}}, {{246}}, {{246}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}},
383  {{248}}, {{248}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}},
384  {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}},
385  {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{255}},
386  {{255}}, {{255}}, {{255}}, {{255}}
387  }
388  },
389 
390  .gc_bv_lut = {
391  .bv_lut = {
392  {{ 0}}, {{ 1}}, {{ 1}}, {{ 1}}, {{ 2}}, {{ 2}}, {{ 3}}, {{ 3}}, {{ 4}}, {{ 4}}, {{ 5}}, {{ 5}}, {{ 6}}, {{ 7}}, {{ 7}}, {{ 8}}, {{ 9}}, {{ 10}}, {{ 11}}, {{ 12}},
393  {{ 13}}, {{ 15}}, {{ 16}}, {{ 17}}, {{ 19}}, {{ 21}}, {{ 23}}, {{ 24}}, {{ 26}}, {{ 27}}, {{ 29}}, {{ 30}}, {{ 32}}, {{ 33}}, {{ 34}}, {{ 35}}, {{ 36}}, {{ 37}}, {{ 38}}, {{ 39}},
394  {{ 40}}, {{ 41}}, {{ 42}}, {{ 43}}, {{ 44}}, {{ 45}}, {{ 45}}, {{ 46}}, {{ 47}}, {{ 48}}, {{ 49}}, {{ 49}}, {{ 50}}, {{ 51}}, {{ 52}}, {{ 52}}, {{ 53}}, {{ 54}}, {{ 55}}, {{ 55}},
395  {{ 56}}, {{ 57}}, {{ 57}}, {{ 58}}, {{ 59}}, {{ 59}}, {{ 60}}, {{ 60}}, {{ 61}}, {{ 62}}, {{ 62}}, {{ 63}}, {{ 63}}, {{ 64}}, {{ 65}}, {{ 65}}, {{ 66}}, {{ 66}}, {{ 67}}, {{ 68}},
396  {{ 68}}, {{ 69}}, {{ 69}}, {{ 70}}, {{ 70}}, {{ 71}}, {{ 71}}, {{ 72}}, {{ 72}}, {{ 73}}, {{ 73}}, {{ 74}}, {{ 74}}, {{ 75}}, {{ 75}}, {{ 76}}, {{ 76}}, {{ 77}}, {{ 77}}, {{ 78}},
397  {{ 78}}, {{ 79}}, {{ 79}}, {{ 80}}, {{ 80}}, {{ 81}}, {{ 81}}, {{ 82}}, {{ 82}}, {{ 83}}, {{ 83}}, {{ 83}}, {{ 84}}, {{ 84}}, {{ 85}}, {{ 85}}, {{ 86}}, {{ 86}}, {{ 87}}, {{ 87}},
398  {{ 87}}, {{ 88}}, {{ 88}}, {{ 89}}, {{ 89}}, {{ 90}}, {{ 90}}, {{ 90}}, {{ 91}}, {{ 91}}, {{ 92}}, {{ 92}}, {{ 92}}, {{ 93}}, {{ 93}}, {{ 94}}, {{ 94}}, {{ 94}}, {{ 95}}, {{ 95}},
399  {{ 96}}, {{ 96}}, {{ 96}}, {{ 97}}, {{ 97}}, {{ 98}}, {{ 98}}, {{ 98}}, {{ 99}}, {{ 99}}, {{ 99}}, {{100}}, {{100}}, {{101}}, {{101}}, {{101}}, {{102}}, {{102}}, {{102}}, {{103}},
400  {{103}}, {{103}}, {{104}}, {{104}}, {{105}}, {{105}}, {{105}}, {{106}}, {{106}}, {{106}}, {{107}}, {{107}}, {{107}}, {{108}}, {{108}}, {{108}}, {{109}}, {{109}}, {{109}}, {{110}},
401  {{110}}, {{111}}, {{111}}, {{111}}, {{112}}, {{112}}, {{112}}, {{113}}, {{113}}, {{113}}, {{114}}, {{114}}, {{114}}, {{114}}, {{115}}, {{115}}, {{115}}, {{116}}, {{116}}, {{116}},
402  {{117}}, {{117}}, {{117}}, {{118}}, {{118}}, {{118}}, {{119}}, {{119}}, {{119}}, {{120}}, {{120}}, {{120}}, {{121}}, {{121}}, {{121}}, {{121}}, {{122}}, {{122}}, {{122}}, {{123}},
403  {{123}}, {{123}}, {{124}}, {{124}}, {{124}}, {{125}}, {{125}}, {{125}}, {{125}}, {{126}}, {{126}}, {{126}}, {{127}}, {{127}}, {{127}}, {{127}}, {{128}}, {{128}}, {{128}}, {{129}},
404  {{129}}, {{129}}, {{130}}, {{130}}, {{130}}, {{130}}, {{131}}, {{131}}, {{131}}, {{132}}, {{132}}, {{132}}, {{132}}, {{133}}, {{133}}, {{133}}, {{133}}, {{134}}, {{134}}, {{134}},
405  {{135}}, {{135}}, {{135}}, {{135}}, {{136}}, {{136}}, {{136}}, {{137}}, {{137}}, {{137}}, {{137}}, {{138}}, {{138}}, {{138}}, {{138}}, {{139}}, {{139}}, {{139}}, {{139}}, {{140}},
406  {{140}}, {{140}}, {{140}}, {{141}}, {{141}}, {{141}}, {{142}}, {{142}}, {{142}}, {{142}}, {{143}}, {{143}}, {{143}}, {{143}}, {{144}}, {{144}}, {{144}}, {{144}}, {{145}}, {{145}},
407  {{145}}, {{145}}, {{146}}, {{146}}, {{146}}, {{146}}, {{147}}, {{147}}, {{147}}, {{147}}, {{148}}, {{148}}, {{148}}, {{148}}, {{149}}, {{149}}, {{149}}, {{149}}, {{149}}, {{150}},
408  {{150}}, {{150}}, {{150}}, {{151}}, {{151}}, {{151}}, {{151}}, {{152}}, {{152}}, {{152}}, {{152}}, {{153}}, {{153}}, {{153}}, {{153}}, {{154}}, {{154}}, {{154}}, {{154}}, {{154}},
409  {{155}}, {{155}}, {{155}}, {{155}}, {{156}}, {{156}}, {{156}}, {{156}}, {{156}}, {{157}}, {{157}}, {{157}}, {{157}}, {{158}}, {{158}}, {{158}}, {{158}}, {{159}}, {{159}}, {{159}},
410  {{159}}, {{159}}, {{160}}, {{160}}, {{160}}, {{160}}, {{160}}, {{161}}, {{161}}, {{161}}, {{161}}, {{162}}, {{162}}, {{162}}, {{162}}, {{162}}, {{163}}, {{163}}, {{163}}, {{163}},
411  {{164}}, {{164}}, {{164}}, {{164}}, {{164}}, {{165}}, {{165}}, {{165}}, {{165}}, {{165}}, {{166}}, {{166}}, {{166}}, {{166}}, {{166}}, {{167}}, {{167}}, {{167}}, {{167}}, {{168}},
412  {{168}}, {{168}}, {{168}}, {{168}}, {{169}}, {{169}}, {{169}}, {{169}}, {{169}}, {{170}}, {{170}}, {{170}}, {{170}}, {{170}}, {{171}}, {{171}}, {{171}}, {{171}}, {{171}}, {{172}},
413  {{172}}, {{172}}, {{172}}, {{172}}, {{173}}, {{173}}, {{173}}, {{173}}, {{173}}, {{174}}, {{174}}, {{174}}, {{174}}, {{174}}, {{175}}, {{175}}, {{175}}, {{175}}, {{175}}, {{175}},
414  {{176}}, {{176}}, {{176}}, {{176}}, {{176}}, {{177}}, {{177}}, {{177}}, {{177}}, {{177}}, {{178}}, {{178}}, {{178}}, {{178}}, {{178}}, {{179}}, {{179}}, {{179}}, {{179}}, {{179}},
415  {{179}}, {{180}}, {{180}}, {{180}}, {{180}}, {{180}}, {{181}}, {{181}}, {{181}}, {{181}}, {{181}}, {{182}}, {{182}}, {{182}}, {{182}}, {{182}}, {{182}}, {{183}}, {{183}}, {{183}},
416  {{183}}, {{183}}, {{184}}, {{184}}, {{184}}, {{184}}, {{184}}, {{184}}, {{185}}, {{185}}, {{185}}, {{185}}, {{185}}, {{185}}, {{186}}, {{186}}, {{186}}, {{186}}, {{186}}, {{187}},
417  {{187}}, {{187}}, {{187}}, {{187}}, {{187}}, {{188}}, {{188}}, {{188}}, {{188}}, {{188}}, {{188}}, {{189}}, {{189}}, {{189}}, {{189}}, {{189}}, {{190}}, {{190}}, {{190}}, {{190}},
418  {{190}}, {{190}}, {{191}}, {{191}}, {{191}}, {{191}}, {{191}}, {{191}}, {{192}}, {{192}}, {{192}}, {{192}}, {{192}}, {{192}}, {{193}}, {{193}}, {{193}}, {{193}}, {{193}}, {{193}},
419  {{194}}, {{194}}, {{194}}, {{194}}, {{194}}, {{194}}, {{195}}, {{195}}, {{195}}, {{195}}, {{195}}, {{195}}, {{196}}, {{196}}, {{196}}, {{196}}, {{196}}, {{196}}, {{197}}, {{197}},
420  {{197}}, {{197}}, {{197}}, {{197}}, {{197}}, {{198}}, {{198}}, {{198}}, {{198}}, {{198}}, {{198}}, {{199}}, {{199}}, {{199}}, {{199}}, {{199}}, {{199}}, {{200}}, {{200}}, {{200}},
421  {{200}}, {{200}}, {{200}}, {{201}}, {{201}}, {{201}}, {{201}}, {{201}}, {{201}}, {{201}}, {{202}}, {{202}}, {{202}}, {{202}}, {{202}}, {{202}}, {{203}}, {{203}}, {{203}}, {{203}},
422  {{203}}, {{203}}, {{203}}, {{204}}, {{204}}, {{204}}, {{204}}, {{204}}, {{204}}, {{205}}, {{205}}, {{205}}, {{205}}, {{205}}, {{205}}, {{205}}, {{206}}, {{206}}, {{206}}, {{206}},
423  {{206}}, {{206}}, {{206}}, {{207}}, {{207}}, {{207}}, {{207}}, {{207}}, {{207}}, {{208}}, {{208}}, {{208}}, {{208}}, {{208}}, {{208}}, {{208}}, {{209}}, {{209}}, {{209}}, {{209}},
424  {{209}}, {{209}}, {{209}}, {{210}}, {{210}}, {{210}}, {{210}}, {{210}}, {{210}}, {{210}}, {{211}}, {{211}}, {{211}}, {{211}}, {{211}}, {{211}}, {{211}}, {{212}}, {{212}}, {{212}},
425  {{212}}, {{212}}, {{212}}, {{212}}, {{213}}, {{213}}, {{213}}, {{213}}, {{213}}, {{213}}, {{213}}, {{214}}, {{214}}, {{214}}, {{214}}, {{214}}, {{214}}, {{214}}, {{215}}, {{215}},
426  {{215}}, {{215}}, {{215}}, {{215}}, {{215}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{216}}, {{217}}, {{217}}, {{217}}, {{217}}, {{217}}, {{217}}, {{217}},
427  {{218}}, {{218}}, {{218}}, {{218}}, {{218}}, {{218}}, {{218}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{219}}, {{220}}, {{220}}, {{220}}, {{220}}, {{220}},
428  {{220}}, {{220}}, {{220}}, {{221}}, {{221}}, {{221}}, {{221}}, {{221}}, {{221}}, {{221}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{222}}, {{223}}, {{223}},
429  {{223}}, {{223}}, {{223}}, {{223}}, {{223}}, {{223}}, {{224}}, {{224}}, {{224}}, {{224}}, {{224}}, {{224}}, {{224}}, {{225}}, {{225}}, {{225}}, {{225}}, {{225}}, {{225}}, {{225}},
430  {{225}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{226}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{227}}, {{228}}, {{228}}, {{228}},
431  {{228}}, {{228}}, {{228}}, {{228}}, {{228}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{229}}, {{230}}, {{230}}, {{230}}, {{230}}, {{230}}, {{230}}, {{230}},
432  {{230}}, {{230}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{231}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{232}}, {{233}}, {{233}},
433  {{233}}, {{233}}, {{233}}, {{233}}, {{233}}, {{233}}, {{233}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{234}}, {{235}}, {{235}}, {{235}}, {{235}}, {{235}},
434  {{235}}, {{235}}, {{235}}, {{235}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{236}}, {{237}}, {{237}}, {{237}}, {{237}}, {{237}}, {{237}}, {{237}},
435  {{237}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{238}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{239}}, {{240}},
436  {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{240}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{241}}, {{242}}, {{242}}, {{242}},
437  {{242}}, {{242}}, {{242}}, {{242}}, {{242}}, {{242}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{243}}, {{244}}, {{244}}, {{244}}, {{244}}, {{244}},
438  {{244}}, {{244}}, {{244}}, {{244}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{245}}, {{246}}, {{246}}, {{246}}, {{246}}, {{246}}, {{246}},
439  {{246}}, {{246}}, {{246}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{247}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}}, {{248}},
440  {{248}}, {{248}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{249}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}}, {{250}},
441  {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{251}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}}, {{252}},
442  {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{253}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{254}}, {{255}},
443  {{255}}, {{255}}, {{255}}, {{255}}
444  }
445  },
446 
447  /* Color space conversion */
448  .chroma = {
449  .coeff_01_00 = {{ 526, 1032 }},
450  .coeff_10_02 = {{ 201, 900 }},
451  .coeff_12_11 = {{ -753,-146 }},
452  .coeff_21_20 = {{ -304,-596 }},
453  .coeff_22 = {{ 900 }},
454  .offset_ry = {{ 0, 16 }},
455  .clip_ry = {{ 16, 235 }},
456  .offset_gu = {{ 0, 128 }},
457  .clip_gu = {{ 16, 240 }},
458  .offset_bv = {{ 0, 128 }},
459  .clip_bv = {{ 16, 240 }},
460  },
461 
462  /* YUV statistics */
463  .statistics_yuv = {
464  .measure_req = {{1,1}},
465  .measure_status = {{0,0}},
466  .window_pos_x = {{ .window_x_start = 0, .window_x_end = MT9F002_SENSOR_WIDTH }},
467  .window_pos_y = {{ .window_y_start = 0, .window_y_end = MT9F002_SENSOR_HEIGHT }},
468  .circle_pos_x_center = {{ MT9F002_FISHEYE_CENTER_X }},
469  .circle_pos_x_squared = {{ MT9F002_FISHEYE_CENTER_X * MT9F002_FISHEYE_CENTER_X }},
470  .circle_pos_y_center = {{ MT9F002_FISHEYE_CENTER_Y }},
471  .circle_pos_y_squared = {{ MT9F002_FISHEYE_CENTER_Y * MT9F002_FISHEYE_CENTER_Y }},
472  .circle_radius_squared = {{ MT9F002_FISHEYE_RADIUS * MT9F002_FISHEYE_RADIUS }},
473  .increments_log2 = {{ 7, 7 }},
474  .awb_threshold = {{ 33 }},
475  },
476 
477  /* Edge enhancement + Color reduction filter */
478  .eecrf = {
479  .ee_kernel_coeff = { {{935}}, {{-30}}, {{-99}}, {{-45}}, {{-27}}, {{-6}} },
480  .crf_kernel_coeff = { {{41}}, {{41}}, {{41}}, {{41}}, {{41}}, {{41}} },
481  .m_coeff = {{ 16 }},
482  .d_coeff = {{ 64 }}
483  },
484 
485  .eecrf_lut = {
486  /* Office
487  .ee_lut = {
488  {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}},
489  {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 1}}, {{ 1}}, {{ 1}}, {{ 1}},
490  {{ 1}}, {{ 1}}, {{ 2}}, {{ 2}}, {{ 2}}, {{ 2}}, {{ 2}}, {{ 3}}, {{ 3}}, {{ 3}},
491  {{ 3}}, {{ 3}}, {{ 3}}, {{ 4}}, {{ 4}}, {{ 4}}, {{ 4}}, {{ 4}}, {{ 4}}, {{ 5}},
492  {{ 5}}, {{ 5}}, {{ 5}}, {{ 5}}, {{ 6}}, {{ 6}}, {{ 6}}, {{ 6}}, {{ 6}}, {{ 6}},
493  {{ 7}}, {{ 7}}, {{ 7}}, {{ 7}}, {{ 7}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}},
494  {{ 8}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{10}}, {{10}}, {{10}},
495  {{10}}, {{10}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{12}}, {{12}},
496  {{12}}, {{12}}, {{12}}, {{12}}, {{13}}, {{13}}, {{13}}, {{13}}, {{13}}, {{14}},
497  {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}},
498  {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}},
499  {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}},
500  {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}},
501  {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}},
502  {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}},
503  {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}},
504  {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}},
505  {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{15}}, {{14}}, {{14}}, {{14}}, {{14}},
506  {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}},
507  {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}},
508  {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}},
509  {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}},
510  {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}},
511  {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}},
512  {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{14}}, {{13}}, {{13}},
513  {{12}}, {{11}}, {{ 8}}, {{ 6}}, {{ 3}}, {{ 1}}
514  }*/
515  /* Cloudy */
516  .ee_lut = {
517  {{0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 1}},
518  {{1}}, {{ 1}}, {{ 1}}, {{ 2}}, {{ 2}}, {{ 2}}, {{ 2}}, {{ 3}}, {{ 3}}, {{ 3}},
519  {{4}}, {{ 4}}, {{ 4}}, {{ 4}}, {{ 5}}, {{ 5}}, {{ 5}}, {{ 5}}, {{ 6}}, {{ 6}},
520  {{6}}, {{ 6}}, {{ 7}}, {{ 7}}, {{ 7}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 9}},
521  {{9}}, {{ 9}}, {{ 9}}, {{10}}, {{10}}, {{10}}, {{10}}, {{11}}, {{11}}, {{11}},
522  {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}},
523  {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}},
524  {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}},
525  {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{11}}, {{10}}, {{10}},
526  {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}},
527  {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}},
528  {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}},
529  {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{10}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}},
530  {{9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}},
531  {{9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}},
532  {{9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}}, {{ 9}},
533  {{9}}, {{ 9}}, {{ 9}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}},
534  {{8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}},
535  {{8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}},
536  {{8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 8}}, {{ 7}},
537  {{7}}, {{ 7}}, {{ 7}}, {{ 7}}, {{ 7}}, {{ 7}}, {{ 7}}, {{ 6}}, {{ 6}}, {{ 6}},
538  {{6}}, {{ 6}}, {{ 6}}, {{ 6}}, {{ 6}}, {{ 5}}, {{ 5}}, {{ 5}}, {{ 5}}, {{ 5}},
539  {{5}}, {{ 5}}, {{ 4}}, {{ 4}}, {{ 4}}, {{ 4}}, {{ 4}}, {{ 4}}, {{ 3}}, {{ 3}},
540  {{3}}, {{ 3}}, {{ 3}}, {{ 3}}, {{ 3}}, {{ 3}}, {{ 2}}, {{ 2}}, {{ 2}}, {{ 2}},
541  {{2}}, {{ 2}}, {{ 2}}, {{ 1}}, {{ 1}}, {{ 1}}, {{ 1}}, {{ 1}}, {{ 1}}, {{ 0}},
542  {{0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0}}, {{ 0 }}
543  }
544  },
545 
546  /* Bypass 3D for now */
547 
548  /* Bypass Drop for now */
549 
550 
551  /* Bypass for YUV chain */
552  .chain_yuv_inter = {{
553  .ee_crf_bypass = 0,
554  .i3d_lut_bypass = 1,
555  .drop_bypass = 1,
556  }},
557 
558 };
559 
560 #endif /* _LIBISP_CONFIG_H */
union avi_isp_vlformat_32to40_format format
struct avi_isp_vlformat_32to40_regs vlformat_32to40
Conversion factor (10bit to 10bit default)
Definition: libisp.h:58
#define MT9F002_BAYERSTATS_STATX
Definition: libisp_config.h:8
struct libisp_config isp_config
Definition: libisp_config.h:42
#define MT9F002_FISHEYE_RADIUS
Definition: libisp_config.h:11
#define MT9F002_BAYERSTATS_STATY
Definition: libisp_config.h:9
#define ISP_CFA
Definition: libisp_config.h:4
#define MT9F002_SENSOR_HEIGHT
Definition: libisp_config.h:14
#define MT9F002_FISHEYE_CENTER_X
Definition: libisp_config.h:12
#define MT9F002_FISHEYE_CENTER_Y
Definition: libisp_config.h:13
#define MT9F002_SENSOR_WIDTH
Definition: libisp_config.h:15
Initialization and configuration of the MT9F002 CMOS Chip.