SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
dvbs2_data.h
Go to the documentation of this file.
1 
2 /*
3  (defun ldpcformat ()
4  (interactive)
5  (save-restriction
6  (narrow-to-region (region-beginning) (region-end))
7  (goto-char (point-min))
8  (while (re-search-forward "\\([^ 0-9]\\)\\([0-9]\\)\\([^0-9]\\)" nil t) (replace-match "\\1 \\2\\3"))
9  (goto-char (point-min))
10  (while (re-search-forward "\\([^ 0-9]\\)\\([0-9][0-9]\\)\\([^0-9]\\)" nil t) (replace-match "\\1 \\2\\3"))
11  (goto-char (point-min))
12  (while (re-search-forward "\\([^ 0-9]\\)\\([0-9][0-9][0-9]\\)\\([^0-9]\\)" nil t) (replace-match "\\1 \\2\\3"))
13  (goto-char (point-min))
14  (while (re-search-forward "\\([^ 0-9]\\)\\([0-9][0-9][0-9][0-9]\\)\\([^0-9]\\)" nil t) (replace-match "\\1 \\2\\3"))
15  )
16  )
17  */
18 // (defun align2 () (interactive) (while (re-search-forward "\\([^ 0-9]\\)\\([0-9][0-9]\\)\\([^0-9]\\)" (region-end)) (replace-match "\\1 \\2\\3")))
19 // (defun align3 () (interactive) (while (re-search-forward "\\([^ 0-9]\\)\\([0-9][0-9][0-9]\\)\\([^0-9]\\)" (region-end)) (replace-match "\\1 \\2\\3")))
20 // (defun align4 () (interactive) (while (re-search-forward "\\([^ 0-9]\\)\\([0-9][0-9][0-9][0-9]\\)\\([^0-9]\\)" (region-end)) (replace-match "\\1 \\2\\3")))
21 
22 // EN 302 307-1 Table B.1
23 static const s2_ldpc_table ldpc_nf_fec14 =
24  {135, 45, {
25  {12, {23606, 36098, 1140, 28859, 18148, 18510, 6226, 540, 42014, 20879, 23802, 47088}},
26  {12, {16419, 24928, 16609, 17248, 7693, 24997, 42587, 16858, 34921, 21042, 37024, 20692}},
27  {12, {1874, 40094, 18704, 14474, 14004, 11519, 13106, 28826, 38669, 22363, 30255, 31105}},
28  {12, {22254, 40564, 22645, 22532, 6134, 9176, 39998, 23892, 8937, 15608, 16854, 31009}},
29  {12, {8037, 40401, 13550, 19526, 41902, 28782, 13304, 32796, 24679, 27140, 45980, 10021}},
30  {12, {40540, 44498, 13911, 22435, 32701, 18405, 39929, 25521, 12497, 9851, 39223, 34823}},
31  {12, {15233, 45333, 5041, 44979, 45710, 42150, 19416, 1892, 23121, 15860, 8832, 10308}},
32  {12, {10468, 44296, 3611, 1480, 37581, 32254, 13817, 6883, 32892, 40258, 46538, 11940}},
33  {12, {6705, 21634, 28150, 43757, 895, 6547, 20970, 28914, 30117, 25736, 41734, 11392}},
34  {12, {22002, 5739, 27210, 27828, 34192, 37992, 10915, 6998, 3824, 42130, 4494, 35739}},
35  {12, {8515, 1191, 13642, 30950, 25943, 12673, 16726, 34261, 31828, 3340, 8747, 39225}},
36  {12, {18979, 17058, 43130, 4246, 4793, 44030, 19454, 29511, 47929, 15174, 24333, 19354}},
37  {12, {16694, 8381, 29642, 46516, 32224, 26344, 9405, 18292, 12437, 27316, 35466, 41992}},
38  {12, {15642, 5871, 46489, 26723, 23396, 7257, 8974, 3156, 37420, 44823, 35423, 13541}},
39  {12, {42858, 32008, 41282, 38773, 26570, 2702, 27260, 46974, 1469, 20887, 27426, 38553}},
40  {3, {22152, 24261, 8297}},
41  {3, {19347, 9978, 27802}},
42  {3, {34991, 6354, 33561}},
43  {3, {29782, 30875, 29523}},
44  {3, {9278, 48512, 14349}},
45  {3, {38061, 4165, 43878}},
46  {3, {8548, 33172, 34410}},
47  {3, {22535, 28811, 23950}},
48  {3, {20439, 4027, 24186}},
49  {3, {38618, 8187, 30947}},
50  {3, {35538, 43880, 21459}},
51  {3, {7091, 45616, 15063}},
52  {3, {5505, 9315, 21908}},
53  {3, {36046, 32914, 11836}},
54  {3, {7304, 39782, 33721}},
55  {3, {16905, 29962, 12980}},
56  {3, {11171, 23709, 22460}},
57  {3, {34541, 9937, 44500}},
58  {3, {14035, 47316, 8815}},
59  {3, {15057, 45482, 24461}},
60  {3, {30518, 36877, 879}},
61  {3, {7583, 13364, 24332}},
62  {3, {448, 27056, 4682}},
63  {3, {12083, 31378, 21670}},
64  {3, {1159, 18031, 2221}},
65  {3, {17028, 38715, 9350}},
66  {3, {17343, 24530, 29574}},
67  {3, {46128, 31039, 32818}},
68  {3, {20373, 36967, 18345}},
69  {3, {46685, 20622, 32806}},
70  }};
71 
72 // EN 302 307-1 Table B.2
73 static const s2_ldpc_table ldpc_nf_fec13 =
74  {120, 60, {
75  {12, {34903, 20927, 32093, 1052, 25611, 16093, 16454, 5520, 506, 37399, 18518, 21120}},
76  {11, {11636, 14594, 22158, 14763, 15333, 6838, 22222, 37856, 14985, 31041, 18704}},
77  {13, {32910, 17449, 1665, 35639, 16624, 12867, 12449, 10241, 11650, 25622, 34372, 19878, 26894}},
78  {12, {29235, 19780, 36056, 20129, 20029, 5457, 8157, 35554, 21237, 7943, 13873, 14980}},
79  {11, {9912, 7143, 35911, 12043, 17360, 37253, 25588, 11827, 29152, 21936, 24125}},
80  {13, {40870, 40701, 36035, 39556, 12366, 19946, 29072, 16365, 35495, 22686, 11106, 8756, 34863}},
81  {12, {19165, 15702, 13536, 40238, 4465, 40034, 40590, 37540, 17162, 1712, 20577, 14138}},
82  {12, {31338, 19342, 9301, 39375, 3211, 1316, 33409, 28670, 12282, 6118, 29236, 35787}},
83  {12, {11504, 30506, 19558, 5100, 24188, 24738, 30397, 33775, 9699, 6215, 3397, 37451}},
84  {12, {34689, 23126, 7571, 1058, 12127, 27518, 23064, 11265, 14867, 30451, 28289, 2966}},
85  {12, {11660, 15334, 16867, 15160, 38343, 3778, 4265, 39139, 17293, 26229, 42604, 13486}},
86  {12, {31497, 1365, 14828, 7453, 26350, 41346, 28643, 23421, 8354, 16255, 11055, 24279}},
87  {12, {15687, 12467, 13906, 5215, 41328, 23755, 20800, 6447, 7970, 2803, 33262, 39843}},
88  {12, {5363, 22469, 38091, 28457, 36696, 34471, 23619, 2404, 24229, 41754, 1297, 18563}},
89  {12, {3673, 39070, 14480, 30279, 37483, 7580, 29519, 30519, 39831, 20252, 18132, 20010}},
90  {12, {34386, 7252, 27526, 12950, 6875, 43020, 31566, 39069, 18985, 15541, 40020, 16715}},
91  {12, {1721, 37332, 39953, 17430, 32134, 29162, 10490, 12971, 28581, 29331, 6489, 35383}},
92  {12, {736, 7022, 42349, 8783, 6767, 11871, 21675, 10325, 11548, 25978, 431, 24085}},
93  {12, {1925, 10602, 28585, 12170, 15156, 34404, 8351, 13273, 20208, 5800, 15367, 21764}},
94  {12, {16279, 37832, 34792, 21250, 34192, 7406, 41488, 18346, 29227, 26127, 25493, 7048}},
95  {3, {39948, 28229, 24899}},
96  {3, {17408, 14274, 38993}},
97  {3, {38774, 15968, 28459}},
98  {3, {41404, 27249, 27425}},
99  {3, {41229, 6082, 43114}},
100  {3, {13957, 4979, 40654}},
101  {3, {3093, 3438, 34992}},
102  {3, {34082, 6172, 28760}},
103  {3, {42210, 34141, 41021}},
104  {3, {14705, 17783, 10134}},
105  {3, {41755, 39884, 22773}},
106  {3, {14615, 15593, 1642}},
107  {3, {29111, 37061, 39860}},
108  {3, {9579, 33552, 633}},
109  {3, {12951, 21137, 39608}},
110  {3, {38244, 27361, 29417}},
111  {3, {2939, 10172, 36479}},
112  {3, {29094, 5357, 19224}},
113  {3, {9562, 24436, 28637}},
114  {3, {40177, 2326, 13504}},
115  {3, {6834, 21583, 42516}},
116  {3, {40651, 42810, 25709}},
117  {3, {31557, 32138, 38142}},
118  {3, {18624, 41867, 39296}},
119  {3, {37560, 14295, 16245}},
120  {3, {6821, 21679, 31570}},
121  {3, {25339, 25083, 22081}},
122  {3, {8047, 697, 35268}},
123  {3, {9884, 17073, 19995}},
124  {3, {26848, 35245, 8390}},
125  {3, {18658, 16134, 14807}},
126  {3, {12201, 32944, 5035}},
127  {3, {25236, 1216, 38986}},
128  {3, {42994, 24782, 8681}},
129  {3, {28321, 4932, 34249}},
130  {3, {4107, 29382, 32124}},
131  {3, {22157, 2624, 14468}},
132  {3, {38788, 27081, 7936}},
133  {3, {4368, 26148, 10578}},
134  {3, {25353, 4122, 39751}},
135  }};
136 
137 // EN 302 307-1 Table B.3
138 static const s2_ldpc_table ldpc_nf_fec25 =
139  {108, 72, {
140  {12, {31413, 18834, 28884, 947, 23050, 14484, 14809, 4968, 455, 33659, 16666, 19008}},
141  {12, {13172, 19939, 13354, 13719, 6132, 20086, 34040, 13442, 27958, 16813, 29619, 16553}},
142  {12, {1499, 32075, 14962, 11578, 11204, 9217, 10485, 23062, 30936, 17892, 24204, 24885}},
143  {12, {32490, 18086, 18007, 4957, 7285, 32073, 19038, 7152, 12486, 13483, 24808, 21759}},
144  {12, {32321, 10839, 15620, 33521, 23030, 10646, 26236, 19744, 21713, 36784, 8016, 12869}},
145  {12, {35597, 11129, 17948, 26160, 14729, 31943, 20416, 10000, 7882, 31380, 27858, 33356}},
146  {12, {14125, 12131, 36199, 4058, 35992, 36594, 33698, 15475, 1566, 18498, 12725, 7067}},
147  {12, {17406, 8372, 35437, 2888, 1184, 30068, 25802, 11056, 5507, 26313, 32205, 37232}},
148  {12, {15254, 5365, 17308, 22519, 35009, 718, 5240, 16778, 23131, 24092, 20587, 33385}},
149  {12, {27455, 17602, 4590, 21767, 22266, 27357, 30400, 8732, 5596, 3060, 33703, 3596}},
150  {12, {6882, 873, 10997, 24738, 20770, 10067, 13379, 27409, 25463, 2673, 6998, 31378}},
151  {12, {15181, 13645, 34501, 3393, 3840, 35227, 15562, 23615, 38342, 12139, 19471, 15483}},
152  {12, {13350, 6707, 23709, 37204, 25778, 21082, 7511, 14588, 10010, 21854, 28375, 33591}},
153  {12, {12514, 4695, 37190, 21379, 18723, 5802, 7182, 2529, 29936, 35860, 28338, 10835}},
154  {12, {34283, 25610, 33026, 31017, 21259, 2165, 21807, 37578, 1175, 16710, 21939, 30841}},
155  {12, {27292, 33730, 6836, 26476, 27539, 35784, 18245, 16394, 17939, 23094, 19216, 17432}},
156  {12, {11655, 6183, 38708, 28408, 35157, 17089, 13998, 36029, 15052, 16617, 5638, 36464}},
157  {12, {15693, 28923, 26245, 9432, 11675, 25720, 26405, 5838, 31851, 26898, 8090, 37037}},
158  {12, {24418, 27583, 7959, 35562, 37771, 17784, 11382, 11156, 37855, 7073, 21685, 34515}},
159  {12, {10977, 13633, 30969, 7516, 11943, 18199, 5231, 13825, 19589, 23661, 11150, 35602}},
160  {12, {19124, 30774, 6670, 37344, 16510, 26317, 23518, 22957, 6348, 34069, 8845, 20175}},
161  {12, {34985, 14441, 25668, 4116, 3019, 21049, 37308, 24551, 24727, 20104, 24850, 12114}},
162  {12, {38187, 28527, 13108, 13985, 1425, 21477, 30807, 8613, 26241, 33368, 35913, 32477}},
163  {12, {5903, 34390, 24641, 26556, 23007, 27305, 38247, 2621, 9122, 32806, 21554, 18685}},
164  {3, {17287, 27292, 19033}},
165  {3, {25796, 31795, 12152}},
166  {3, {12184, 35088, 31226}},
167  {3, {38263, 33386, 24892}},
168  {3, {23114, 37995, 29796}},
169  {3, {34336, 10551, 36245}},
170  {3, {35407, 175, 7203}},
171  {3, {14654, 38201, 22605}},
172  {3, {28404, 6595, 1018}},
173  {3, {19932, 3524, 29305}},
174  {3, {31749, 20247, 8128}},
175  {3, {18026, 36357, 26735}},
176  {3, {7543, 29767, 13588}},
177  {3, {13333, 25965, 8463}},
178  {3, {14504, 36796, 19710}},
179  {3, {4528, 25299, 7318}},
180  {3, {35091, 25550, 14798}},
181  {3, {7824, 215, 1248}},
182  {3, {30848, 5362, 17291}},
183  {3, {28932, 30249, 27073}},
184  {3, {13062, 2103, 16206}},
185  {3, {7129, 32062, 19612}},
186  {3, {9512, 21936, 38833}},
187  {3, {35849, 33754, 23450}},
188  {3, {18705, 28656, 18111}},
189  {3, {22749, 27456, 32187}},
190  {3, {28229, 31684, 30160}},
191  {3, {15293, 8483, 28002}},
192  {3, {14880, 13334, 12584}},
193  {3, {28646, 2558, 19687}},
194  {3, {6259, 4499, 26336}},
195  {3, {11952, 28386, 8405}},
196  {3, {10609, 961, 7582}},
197  {3, {10423, 13191, 26818}},
198  {3, {15922, 36654, 21450}},
199  {3, {10492, 1532, 1205}},
200  {3, {30551, 36482, 22153}},
201  {3, {5156, 11330, 34243}},
202  {3, {28616, 35369, 13322}},
203  {3, {8962, 1485, 21186}},
204  {3, {23541, 17445, 35561}},
205  {3, {33133, 11593, 19895}},
206  {3, {33917, 7863, 33651}},
207  {3, {20063, 28331, 10702}},
208  {3, {13195, 21107, 21859}},
209  {3, {4364, 31137, 4804}},
210  {3, {5585, 2037, 4830}},
211  {3, {30672, 16927, 14800}},
212  }};
213 
214 // EN 302 307-1 Table B.4
215 static const s2_ldpc_table ldpc_nf_fec12 =
216  {90, 90, {
217  {8, {54, 9318, 14392, 27561, 26909, 10219, 2534, 8597}},
218  {8, {55, 7263, 4635, 2530, 28130, 3033, 23830, 3651}},
219  {8, {56, 24731, 23583, 26036, 17299, 5750, 792, 9169}},
220  {8, {57, 5811, 26154, 18653, 11551, 15447, 13685, 16264}},
221  {8, {58, 12610, 11347, 28768, 2792, 3174, 29371, 12997}},
222  {8, {59, 16789, 16018, 21449, 6165, 21202, 15850, 3186}},
223  {8, {60, 31016, 21449, 17618, 6213, 12166, 8334, 18212}},
224  {8, {61, 22836, 14213, 11327, 5896, 718, 11727, 9308}},
225  {8, {62, 2091, 24941, 29966, 23634, 9013, 15587, 5444}},
226  {8, {63, 22207, 3983, 16904, 28534, 21415, 27524, 25912}},
227  {8, {64, 25687, 4501, 22193, 14665, 14798, 16158, 5491}},
228  {8, {65, 4520, 17094, 23397, 4264, 22370, 16941, 21526}},
229  {8, {66, 10490, 6182, 32370, 9597, 30841, 25954, 2762}},
230  {8, {67, 22120, 22865, 29870, 15147, 13668, 14955, 19235}},
231  {8, {68, 6689, 18408, 18346, 9918, 25746, 5443, 20645}},
232  {8, {69, 29982, 12529, 13858, 4746, 30370, 10023, 24828}},
233  {8, {70, 1262, 28032, 29888, 13063, 24033, 21951, 7863}},
234  {8, {71, 6594, 29642, 31451, 14831, 9509, 9335, 31552}},
235  {8, {72, 1358, 6454, 16633, 20354, 24598, 624, 5265}},
236  {8, {73, 19529, 295, 18011, 3080, 13364, 8032, 15323}},
237  {8, {74, 11981, 1510, 7960, 21462, 9129, 11370, 25741}},
238  {8, {75, 9276, 29656, 4543, 30699, 20646, 21921, 28050}},
239  {8, {76, 15975, 25634, 5520, 31119, 13715, 21949, 19605}},
240  {8, {77, 18688, 4608, 31755, 30165, 13103, 10706, 29224}},
241  {8, {78, 21514, 23117, 12245, 26035, 31656, 25631, 30699}},
242  {8, {79, 9674, 24966, 31285, 29908, 17042, 24588, 31857}},
243  {8, {80, 21856, 27777, 29919, 27000, 14897, 11409, 7122}},
244  {8, {81, 29773, 23310, 263, 4877, 28622, 20545, 22092}},
245  {8, {82, 15605, 5651, 21864, 3967, 14419, 22757, 15896}},
246  {8, {83, 30145, 1759, 10139, 29223, 26086, 10556, 5098}},
247  {8, {84, 18815, 16575, 2936, 24457, 26738, 6030, 505}},
248  {8, {85, 30326, 22298, 27562, 20131, 26390, 6247, 24791}},
249  {8, {86, 928, 29246, 21246, 12400, 15311, 32309, 18608}},
250  {8, {87, 20314, 6025, 26689, 16302, 2296, 3244, 19613}},
251  {8, {88, 6237, 11943, 22851, 15642, 23857, 15112, 20947}},
252  {8, {89, 26403, 25168, 19038, 18384, 8882, 12719, 7093}},
253  {3, {0, 14567, 24965}},
254  {3, {1, 3908, 100}},
255  {3, {2, 10279, 240}},
256  {3, {3, 24102, 764}},
257  {3, {4, 12383, 4173}},
258  {3, {5, 13861, 15918}},
259  {3, {6, 21327, 1046}},
260  {3, {7, 5288, 14579}},
261  {3, {8, 28158, 8069}},
262  {3, {9, 16583, 11098}},
263  {3, {10, 16681, 28363}},
264  {3, {11, 13980, 24725}},
265  {3, {12, 32169, 17989}},
266  {3, {13, 10907, 2767}},
267  {3, {14, 21557, 3818}},
268  {3, {15, 26676, 12422}},
269  {3, {16, 7676, 8754}},
270  {3, {17, 14905, 20232}},
271  {3, {18, 15719, 24646}},
272  {3, {19, 31942, 8589}},
273  {3, {20, 19978, 27197}},
274  {3, {21, 27060, 15071}},
275  {3, {22, 6071, 26649}},
276  {3, {23, 10393, 11176}},
277  {3, {24, 9597, 13370}},
278  {3, {25, 7081, 17677}},
279  {3, {26, 1433, 19513}},
280  {3, {27, 26925, 9014}},
281  {3, {28, 19202, 8900}},
282  {3, {29, 18152, 30647}},
283  {3, {30, 20803, 1737}},
284  {3, {31, 11804, 25221}},
285  {3, {32, 31683, 17783}},
286  {3, {33, 29694, 9345}},
287  {3, {34, 12280, 26611}},
288  {3, {35, 6526, 26122}},
289  {3, {36, 26165, 11241}},
290  {3, {37, 7666, 26962}},
291  {3, {38, 16290, 8480}},
292  {3, {39, 11774, 10120}},
293  {3, {40, 30051, 30426}},
294  {3, {41, 1335, 15424}},
295  {3, {42, 6865, 17742}},
296  {3, {43, 31779, 12489}},
297  {3, {44, 32120, 21001}},
298  {3, {45, 14508, 6996}},
299  {3, {46, 979, 25024}},
300  {3, {47, 4554, 21896}},
301  {3, {48, 7989, 21777}},
302  {3, {49, 4972, 20661}},
303  {3, {50, 6612, 2730}},
304  {3, {51, 12742, 4418}},
305  {3, {52, 29194, 595}},
306  {3, {53, 19267, 20113}},
307  }};
308 
309 // EN 302 307-1 Table B.5
310 static const s2_ldpc_table ldpc_nf_fec35 =
311  {72, 108, {
312  {12, {22422, 10282, 11626, 19997, 11161, 2922, 3122, 99, 5625, 17064, 8270, 179}},
313  {12, {25087, 16218, 17015, 828, 20041, 25656, 4186, 11629, 22599, 17305, 22515, 6463}},
314  {12, {11049, 22853, 25706, 14388, 5500, 19245, 8732, 2177, 13555, 11346, 17265, 3069}},
315  {12, {16581, 22225, 12563, 19717, 23577, 11555, 25496, 6853, 25403, 5218, 15925, 21766}},
316  {12, {16529, 14487, 7643, 10715, 17442, 11119, 5679, 14155, 24213, 21000, 1116, 15620}},
317  {12, {5340, 8636, 16693, 1434, 5635, 6516, 9482, 20189, 1066, 15013, 25361, 14243}},
318  {12, {18506, 22236, 20912, 8952, 5421, 15691, 6126, 21595, 500, 6904, 13059, 6802}},
319  {12, {8433, 4694, 5524, 14216, 3685, 19721, 25420, 9937, 23813, 9047, 25651, 16826}},
320  {12, {21500, 24814, 6344, 17382, 7064, 13929, 4004, 16552, 12818, 8720, 5286, 2206}},
321  {12, {22517, 2429, 19065, 2921, 21611, 1873, 7507, 5661, 23006, 23128, 20543, 19777}},
322  {12, {1770, 4636, 20900, 14931, 9247, 12340, 11008, 12966, 4471, 2731, 16445, 791}},
323  {12, {6635, 14556, 18865, 22421, 22124, 12697, 9803, 25485, 7744, 18254, 11313, 9004}},
324  {12, {19982, 23963, 18912, 7206, 12500, 4382, 20067, 6177, 21007, 1195, 23547, 24837}},
325  {12, {756, 11158, 14646, 20534, 3647, 17728, 11676, 11843, 12937, 4402, 8261, 22944}},
326  {12, {9306, 24009, 10012, 11081, 3746, 24325, 8060, 19826, 842, 8836, 2898, 5019}},
327  {12, {7575, 7455, 25244, 4736, 14400, 22981, 5543, 8006, 24203, 13053, 1120, 5128}},
328  {12, {3482, 9270, 13059, 15825, 7453, 23747, 3656, 24585, 16542, 17507, 22462, 14670}},
329  {12, {15627, 15290, 4198, 22748, 5842, 13395, 23918, 16985, 14929, 3726, 25350, 24157}},
330  {12, {24896, 16365, 16423, 13461, 16615, 8107, 24741, 3604, 25904, 8716, 9604, 20365}},
331  {12, {3729, 17245, 18448, 9862, 20831, 25326, 20517, 24618, 13282, 5099, 14183, 8804}},
332  {12, {16455, 17646, 15376, 18194, 25528, 1777, 6066, 21855, 14372, 12517, 4488, 17490}},
333  {12, {1400, 8135, 23375, 20879, 8476, 4084, 12936, 25536, 22309, 16582, 6402, 24360}},
334  {12, {25119, 23586, 128, 4761, 10443, 22536, 8607, 9752, 25446, 15053, 1856, 4040}},
335  {12, {377, 21160, 13474, 5451, 17170, 5938, 10256, 11972, 24210, 17833, 22047, 16108}},
336  {12, {13075, 9648, 24546, 13150, 23867, 7309, 19798, 2988, 16858, 4825, 23950, 15125}},
337  {12, {20526, 3553, 11525, 23366, 2452, 17626, 19265, 20172, 18060, 24593, 13255, 1552}},
338  {12, {18839, 21132, 20119, 15214, 14705, 7096, 10174, 5663, 18651, 19700, 12524, 14033}},
339  {12, {4127, 2971, 17499, 16287, 22368, 21463, 7943, 18880, 5567, 8047, 23363, 6797}},
340  {12, {10651, 24471, 14325, 4081, 7258, 4949, 7044, 1078, 797, 22910, 20474, 4318}},
341  {12, {21374, 13231, 22985, 5056, 3821, 23718, 14178, 9978, 19030, 23594, 8895, 25358}},
342  {12, {6199, 22056, 7749, 13310, 3999, 23697, 16445, 22636, 5225, 22437, 24153, 9442}},
343  {12, {7978, 12177, 2893, 20778, 3175, 8645, 11863, 24623, 10311, 25767, 17057, 3691}},
344  {12, {20473, 11294, 9914, 22815, 2574, 8439, 3699, 5431, 24840, 21908, 16088, 18244}},
345  {12, {8208, 5755, 19059, 8541, 24924, 6454, 11234, 10492, 16406, 10831, 11436, 9649}},
346  {12, {16264, 11275, 24953, 2347, 12667, 19190, 7257, 7174, 24819, 2938, 2522, 11749}},
347  {12, {3627, 5969, 13862, 1538, 23176, 6353, 2855, 17720, 2472, 7428, 573, 15036}},
348  {3, {0, 18539, 18661}},
349  {3, {1, 10502, 3002}},
350  {3, {2, 9368, 10761}},
351  {3, {3, 12299, 7828}},
352  {3, {4, 15048, 13362}},
353  {3, {5, 18444, 24640}},
354  {3, {6, 20775, 19175}},
355  {3, {7, 18970, 10971}},
356  {3, {8, 5329, 19982}},
357  {3, {9, 11296, 18655}},
358  {3, {10, 15046, 20659}},
359  {3, {11, 7300, 22140}},
360  {3, {12, 22029, 14477}},
361  {3, {13, 11129, 742}},
362  {3, {14, 13254, 13813}},
363  {3, {15, 19234, 13273}},
364  {3, {16, 6079, 21122}},
365  {3, {17, 22782, 5828}},
366  {3, {18, 19775, 4247}},
367  {3, {19, 1660, 19413}},
368  {3, {20, 4403, 3649}},
369  {3, {21, 13371, 25851}},
370  {3, {22, 22770, 21784}},
371  {3, {23, 10757, 14131}},
372  {3, {24, 16071, 21617}},
373  {3, {25, 6393, 3725}},
374  {3, {26, 597, 19968}},
375  {3, {27, 5743, 8084}},
376  {3, {28, 6770, 9548}},
377  {3, {29, 4285, 17542}},
378  {3, {30, 13568, 22599}},
379  {3, {31, 1786, 4617}},
380  {3, {32, 23238, 11648}},
381  {3, {33, 19627, 2030}},
382  {3, {34, 13601, 13458}},
383  {3, {35, 13740, 17328}},
384  {3, {36, 25012, 13944}},
385  {3, {37, 22513, 6687}},
386  {3, {38, 4934, 12587}},
387  {3, {39, 21197, 5133}},
388  {3, {40, 22705, 6938}},
389  {3, {41, 7534, 24633}},
390  {3, {42, 24400, 12797}},
391  {3, {43, 21911, 25712}},
392  {3, {44, 12039, 1140}},
393  {3, {45, 24306, 1021}},
394  {3, {46, 14012, 20747}},
395  {3, {47, 11265, 15219}},
396  {3, {48, 4670, 15531}},
397  {3, {49, 9417, 14359}},
398  {3, {50, 2415, 6504}},
399  {3, {51, 24964, 24690}},
400  {3, {52, 14443, 8816}},
401  {3, {53, 6926, 1291}},
402  {3, {54, 6209, 20806}},
403  {3, {55, 13915, 4079}},
404  {3, {56, 24410, 13196}},
405  {3, {57, 13505, 6117}},
406  {3, {58, 9869, 8220}},
407  {3, {59, 1570, 6044}},
408  {3, {60, 25780, 17387}},
409  {3, {61, 20671, 24913}},
410  {3, {62, 24558, 20591}},
411  {3, {63, 12402, 3702}},
412  {3, {64, 8314, 1357}},
413  {3, {65, 20071, 14616}},
414  {3, {66, 17014, 3688}},
415  {3, {67, 19837, 946}},
416  {3, {68, 15195, 12136}},
417  {3, {69, 7758, 22808}},
418  {3, {70, 3564, 2925}},
419  {3, {71, 3434, 7769}},
420  }};
421 
422 // EN 302 307-1 Table B.6
423 static const s2_ldpc_table ldpc_nf_fec23 =
424  {60, 120, {
425  {13, {0, 10491, 16043, 506, 12826, 8065, 8226, 2767, 240, 18673, 9279, 10579, 20928}},
426  {13, {1, 17819, 8313, 6433, 6224, 5120, 5824, 12812, 17187, 9940, 13447, 13825, 18483}},
427  {13, {2, 17957, 6024, 8681, 18628, 12794, 5915, 14576, 10970, 12064, 20437, 4455, 7151}},
428  {13, {3, 19777, 6183, 9972, 14536, 8182, 17749, 11341, 5556, 4379, 17434, 15477, 18532}},
429  {13, {4, 4651, 19689, 1608, 659, 16707, 14335, 6143, 3058, 14618, 17894, 20684, 5306}},
430  {13, {5, 9778, 2552, 12096, 12369, 15198, 16890, 4851, 3109, 1700, 18725, 1997, 15882}},
431  {13, {6, 486, 6111, 13743, 11537, 5591, 7433, 15227, 14145, 1483, 3887, 17431, 12430}},
432  {13, {7, 20647, 14311, 11734, 4180, 8110, 5525, 12141, 15761, 18661, 18441, 10569, 8192}},
433  {13, {8, 3791, 14759, 15264, 19918, 10132, 9062, 10010, 12786, 10675, 9682, 19246, 5454}},
434  {13, {9, 19525, 9485, 7777, 19999, 8378, 9209, 3163, 20232, 6690, 16518, 716, 7353}},
435  {13, {10, 4588, 6709, 20202, 10905, 915, 4317, 11073, 13576, 16433, 368, 3508, 21171}},
436  {13, {11, 14072, 4033, 19959, 12608, 631, 19494, 14160, 8249, 10223, 21504, 12395, 4322}},
437  {3, {12, 13800, 14161}},
438  {3, {13, 2948, 9647}},
439  {3, {14, 14693, 16027}},
440  {3, {15, 20506, 11082}},
441  {3, {16, 1143, 9020}},
442  {3, {17, 13501, 4014}},
443  {3, {18, 1548, 2190}},
444  {3, {19, 12216, 21556}},
445  {3, {20, 2095, 19897}},
446  {3, {21, 4189, 7958}},
447  {3, {22, 15940, 10048}},
448  {3, {23, 515, 12614}},
449  {3, {24, 8501, 8450}},
450  {3, {25, 17595, 16784}},
451  {3, {26, 5913, 8495}},
452  {3, {27, 16394, 10423}},
453  {3, {28, 7409, 6981}},
454  {3, {29, 6678, 15939}},
455  {3, {30, 20344, 12987}},
456  {3, {31, 2510, 14588}},
457  {3, {32, 17918, 6655}},
458  {3, {33, 6703, 19451}},
459  {3, {34, 496, 4217}},
460  {3, {35, 7290, 5766}},
461  {3, {36, 10521, 8925}},
462  {3, {37, 20379, 11905}},
463  {3, {38, 4090, 5838}},
464  {3, {39, 19082, 17040}},
465  {3, {40, 20233, 12352}},
466  {3, {41, 19365, 19546}},
467  {3, {42, 6249, 19030}},
468  {3, {43, 11037, 19193}},
469  {3, {44, 19760, 11772}},
470  {3, {45, 19644, 7428}},
471  {3, {46, 16076, 3521}},
472  {3, {47, 11779, 21062}},
473  {3, {48, 13062, 9682}},
474  {3, {49, 8934, 5217}},
475  {3, {50, 11087, 3319}},
476  {3, {51, 18892, 4356}},
477  {3, {52, 7894, 3898}},
478  {3, {53, 5963, 4360}},
479  {3, {54, 7346, 11726}},
480  {3, {55, 5182, 5609}},
481  {3, {56, 2412, 17295}},
482  {3, {57, 9845, 20494}},
483  {3, {58, 6687, 1864}},
484  {3, {59, 20564, 5216}},
485  {3, {0, 18226, 17207}},
486  {3, {1, 9380, 8266}},
487  {3, {2, 7073, 3065}},
488  {3, {3, 18252, 13437}},
489  {3, {4, 9161, 15642}},
490  {3, {5, 10714, 10153}},
491  {3, {6, 11585, 9078}},
492  {3, {7, 5359, 9418}},
493  {3, {8, 9024, 9515}},
494  {3, {9, 1206, 16354}},
495  {3, {10, 14994, 1102}},
496  {3, {11, 9375, 20796}},
497  {3, {12, 15964, 6027}},
498  {3, {13, 14789, 6452}},
499  {3, {14, 8002, 18591}},
500  {3, {15, 14742, 14089}},
501  {3, {16, 253, 3045}},
502  {3, {17, 1274, 19286}},
503  {3, {18, 14777, 2044}},
504  {3, {19, 13920, 9900}},
505  {3, {20, 452, 7374}},
506  {3, {21, 18206, 9921}},
507  {3, {22, 6131, 5414}},
508  {3, {23, 10077, 9726}},
509  {3, {24, 12045, 5479}},
510  {3, {25, 4322, 7990}},
511  {3, {26, 15616, 5550}},
512  {3, {27, 15561, 10661}},
513  {3, {28, 20718, 7387}},
514  {3, {29, 2518, 18804}},
515  {3, {30, 8984, 2600}},
516  {3, {31, 6516, 17909}},
517  {3, {32, 11148, 98}},
518  {3, {33, 20559, 3704}},
519  {3, {34, 7510, 1569}},
520  {3, {35, 16000, 11692}},
521  {3, {36, 9147, 10303}},
522  {3, {37, 16650, 191}},
523  {3, {38, 15577, 18685}},
524  {3, {39, 17167, 20917}},
525  {3, {40, 4256, 3391}},
526  {3, {41, 20092, 17219}},
527  {3, {42, 9218, 5056}},
528  {3, {43, 18429, 8472}},
529  {3, {44, 12093, 20753}},
530  {3, {45, 16345, 12748}},
531  {3, {46, 16023, 11095}},
532  {3, {47, 5048, 17595}},
533  {3, {48, 18995, 4817}},
534  {3, {49, 16483, 3536}},
535  {3, {50, 1439, 16148}},
536  {3, {51, 3661, 3039}},
537  {3, {52, 19010, 18121}},
538  {3, {53, 8968, 11793}},
539  {3, {54, 13427, 18003}},
540  {3, {55, 5303, 3083}},
541  {3, {56, 531, 16668}},
542  {3, {57, 4771, 6722}},
543  {3, {58, 5695, 7960}},
544  {3, {59, 3589, 14630}},
545  }};
546 
547 // EN 302 307-1 Table B.7
548 static const s2_ldpc_table ldpc_nf_fec34 =
549  {45, 135, {
550  {12, {0, 6385, 7901, 14611, 13389, 11200, 3252, 5243, 2504, 2722, 821, 7374}},
551  {12, {1, 11359, 2698, 357, 13824, 12772, 7244, 6752, 15310, 852, 2001, 11417}},
552  {12, {2, 7862, 7977, 6321, 13612, 12197, 14449, 15137, 13860, 1708, 6399, 13444}},
553  {12, {3, 1560, 11804, 6975, 13292, 3646, 3812, 8772, 7306, 5795, 14327, 7866}},
554  {12, {4, 7626, 11407, 14599, 9689, 1628, 2113, 10809, 9283, 1230, 15241, 4870}},
555  {12, {5, 1610, 5699, 15876, 9446, 12515, 1400, 6303, 5411, 14181, 13925, 7358}},
556  {12, {6, 4059, 8836, 3405, 7853, 7992, 15336, 5970, 10368, 10278, 9675, 4651}},
557  {12, {7, 4441, 3963, 9153, 2109, 12683, 7459, 12030, 12221, 629, 15212, 406}},
558  {12, {8, 6007, 8411, 5771, 3497, 543, 14202, 875, 9186, 6235, 13908, 3563}},
559  {12, {9, 3232, 6625, 4795, 546, 9781, 2071, 7312, 3399, 7250, 4932, 12652}},
560  {12, {10, 8820, 10088, 11090, 7069, 6585, 13134, 10158, 7183, 488, 7455, 9238}},
561  {12, {11, 1903, 10818, 119, 215, 7558, 11046, 10615, 11545, 14784, 7961, 15619}},
562  {12, {12, 3655, 8736, 4917, 15874, 5129, 2134, 15944, 14768, 7150, 2692, 1469}},
563  {12, {13, 8316, 3820, 505, 8923, 6757, 806, 7957, 4216, 15589, 13244, 2622}},
564  {12, {14, 14463, 4852, 15733, 3041, 11193, 12860, 13673, 8152, 6551, 15108, 8758}},
565  {3, {15, 3149, 11981}},
566  {3, {16, 13416, 6906}},
567  {3, {17, 13098, 13352}},
568  {3, {18, 2009, 14460}},
569  {3, {19, 7207, 4314}},
570  {3, {20, 3312, 3945}},
571  {3, {21, 4418, 6248}},
572  {3, {22, 2669, 13975}},
573  {3, {23, 7571, 9023}},
574  {3, {24, 14172, 2967}},
575  {3, {25, 7271, 7138}},
576  {3, {26, 6135, 13670}},
577  {3, {27, 7490, 14559}},
578  {3, {28, 8657, 2466}},
579  {3, {29, 8599, 12834}},
580  {3, {30, 3470, 3152}},
581  {3, {31, 13917, 4365}},
582  {3, {32, 6024, 13730}},
583  {3, {33, 10973, 14182}},
584  {3, {34, 2464, 13167}},
585  {3, {35, 5281, 15049}},
586  {3, {36, 1103, 1849}},
587  {3, {37, 2058, 1069}},
588  {3, {38, 9654, 6095}},
589  {3, {39, 14311, 7667}},
590  {3, {40, 15617, 8146}},
591  {3, {41, 4588, 11218}},
592  {3, {42, 13660, 6243}},
593  {3, {43, 8578, 7874}},
594  {3, {44, 11741, 2686}},
595  {3, {0, 1022, 1264}},
596  {3, {1, 12604, 9965}},
597  {3, {2, 8217, 2707}},
598  {3, {3, 3156, 11793}},
599  {3, {4, 354, 1514}},
600  {3, {5, 6978, 14058}},
601  {3, {6, 7922, 16079}},
602  {3, {7, 15087, 12138}},
603  {3, {8, 5053, 6470}},
604  {3, {9, 12687, 14932}},
605  {3, {10, 15458, 1763}},
606  {3, {11, 8121, 1721}},
607  {3, {12, 12431, 549}},
608  {3, {13, 4129, 7091}},
609  {3, {14, 1426, 8415}},
610  {3, {15, 9783, 7604}},
611  {3, {16, 6295, 11329}},
612  {3, {17, 1409, 12061}},
613  {3, {18, 8065, 9087}},
614  {3, {19, 2918, 8438}},
615  {3, {20, 1293, 14115}},
616  {3, {21, 3922, 13851}},
617  {3, {22, 3851, 4000}},
618  {3, {23, 5865, 1768}},
619  {3, {24, 2655, 14957}},
620  {3, {25, 5565, 6332}},
621  {3, {26, 4303, 12631}},
622  {3, {27, 11653, 12236}},
623  {3, {28, 16025, 7632}},
624  {3, {29, 4655, 14128}},
625  {3, {30, 9584, 13123}},
626  {3, {31, 13987, 9597}},
627  {3, {32, 15409, 12110}},
628  {3, {33, 8754, 15490}},
629  {3, {34, 7416, 15325}},
630  {3, {35, 2909, 15549}},
631  {3, {36, 2995, 8257}},
632  {3, {37, 9406, 4791}},
633  {3, {38, 11111, 4854}},
634  {3, {39, 2812, 8521}},
635  {3, {40, 8476, 14717}},
636  {3, {41, 7820, 15360}},
637  {3, {42, 1179, 7939}},
638  {3, {43, 2357, 8678}},
639  {3, {44, 7703, 6216}},
640  {3, {0, 3477, 7067}},
641  {3, {1, 3931, 13845}},
642  {3, {2, 7675, 12899}},
643  {3, {3, 1754, 8187}},
644  {3, {4, 7785, 1400}},
645  {3, {5, 9213, 5891}},
646  {3, {6, 2494, 7703}},
647  {3, {7, 2576, 7902}},
648  {3, {8, 4821, 15682}},
649  {3, {9, 10426, 11935}},
650  {3, {10, 1810, 904}},
651  {3, {11, 11332, 9264}},
652  {3, {12, 11312, 3570}},
653  {3, {13, 14916, 2650}},
654  {3, {14, 7679, 7842}},
655  {3, {15, 6089, 13084}},
656  {3, {16, 3938, 2751}},
657  {3, {17, 8509, 4648}},
658  {3, {18, 12204, 8917}},
659  {3, {19, 5749, 12443}},
660  {3, {20, 12613, 4431}},
661  {3, {21, 1344, 4014}},
662  {3, {22, 8488, 13850}},
663  {3, {23, 1730, 14896}},
664  {3, {24, 14942, 7126}},
665  {3, {25, 14983, 8863}},
666  {3, {26, 6578, 8564}},
667  {3, {27, 4947, 396}},
668  {3, {28, 297, 12805}},
669  {3, {29, 13878, 6692}},
670  {3, {30, 11857, 11186}},
671  {3, {31, 14395, 11493}},
672  {3, {32, 16145, 12251}},
673  {3, {33, 13462, 7428}},
674  {3, {34, 14526, 13119}},
675  {3, {35, 2535, 11243}},
676  {3, {36, 6465, 12690}},
677  {3, {37, 6872, 9334}},
678  {3, {38, 15371, 14023}},
679  {3, {39, 8101, 10187}},
680  {3, {40, 11963, 4848}},
681  {3, {41, 15125, 6119}},
682  {3, {42, 8051, 14465}},
683  {3, {43, 11139, 5167}},
684  {3, {44, 2883, 14521}},
685  }};
686 
687 // EN 302 307-1 Table B.8
688 static const s2_ldpc_table ldpc_nf_fec45 =
689  {36, 144, {
690  {11, {0, 149, 11212, 5575, 6360, 12559, 8108, 8505, 408, 10026, 12828}},
691  {11, {1, 5237, 490, 10677, 4998, 3869, 3734, 3092, 3509, 7703, 10305}},
692  {11, {2, 8742, 5553, 2820, 7085, 12116, 10485, 564, 7795, 2972, 2157}},
693  {11, {3, 2699, 4304, 8350, 712, 2841, 3250, 4731, 10105, 517, 7516}},
694  {11, {4, 12067, 1351, 11992, 12191, 11267, 5161, 537, 6166, 4246, 2363}},
695  {11, {5, 6828, 7107, 2127, 3724, 5743, 11040, 10756, 4073, 1011, 3422}},
696  {11, {6, 11259, 1216, 9526, 1466, 10816, 940, 3744, 2815, 11506, 11573}},
697  {11, {7, 4549, 11507, 1118, 1274, 11751, 5207, 7854, 12803, 4047, 6484}},
698  {11, {8, 8430, 4115, 9440, 413, 4455, 2262, 7915, 12402, 8579, 7052}},
699  {11, {9, 3885, 9126, 5665, 4505, 2343, 253, 4707, 3742, 4166, 1556}},
700  {11, {10, 1704, 8936, 6775, 8639, 8179, 7954, 8234, 7850, 8883, 8713}},
701  {11, {11, 11716, 4344, 9087, 11264, 2274, 8832, 9147, 11930, 6054, 5455}},
702  {11, {12, 7323, 3970, 10329, 2170, 8262, 3854, 2087, 12899, 9497, 11700}},
703  {11, {13, 4418, 1467, 2490, 5841, 817, 11453, 533, 11217, 11962, 5251}},
704  {11, {14, 1541, 4525, 7976, 3457, 9536, 7725, 3788, 2982, 6307, 5997}},
705  {11, {15, 11484, 2739, 4023, 12107, 6516, 551, 2572, 6628, 8150, 9852}},
706  {11, {16, 6070, 1761, 4627, 6534, 7913, 3730, 11866, 1813, 12306, 8249}},
707  {11, {17, 12441, 5489, 8748, 7837, 7660, 2102, 11341, 2936, 6712, 11977}},
708  {3, {18, 10155, 4210}},
709  {3, {19, 1010, 10483}},
710  {3, {20, 8900, 10250}},
711  {3, {21, 10243, 12278}},
712  {3, {22, 7070, 4397}},
713  {3, {23, 12271, 3887}},
714  {3, {24, 11980, 6836}},
715  {3, {25, 9514, 4356}},
716  {3, {26, 7137, 10281}},
717  {3, {27, 11881, 2526}},
718  {3, {28, 1969, 11477}},
719  {3, {29, 3044, 10921}},
720  {3, {30, 2236, 8724}},
721  {3, {31, 9104, 6340}},
722  {3, {32, 7342, 8582}},
723  {3, {33, 11675, 10405}},
724  {3, {34, 6467, 12775}},
725  {3, {35, 3186, 12198}},
726  {3, {0, 9621, 11445}},
727  {3, {1, 7486, 5611}},
728  {3, {2, 4319, 4879}},
729  {3, {3, 2196, 344}},
730  {3, {4, 7527, 6650}},
731  {3, {5, 10693, 2440}},
732  {3, {6, 6755, 2706}},
733  {3, {7, 5144, 5998}},
734  {3, {8, 11043, 8033}},
735  {3, {9, 4846, 4435}},
736  {3, {10, 4157, 9228}},
737  {3, {11, 12270, 6562}},
738  {3, {12, 11954, 7592}},
739  {3, {13, 7420, 2592}},
740  {3, {14, 8810, 9636}},
741  {3, {15, 689, 5430}},
742  {3, {16, 920, 1304}},
743  {3, {17, 1253, 11934}},
744  {3, {18, 9559, 6016}},
745  {3, {19, 312, 7589}},
746  {3, {20, 4439, 4197}},
747  {3, {21, 4002, 9555}},
748  {3, {22, 12232, 7779}},
749  {3, {23, 1494, 8782}},
750  {3, {24, 10749, 3969}},
751  {3, {25, 4368, 3479}},
752  {3, {26, 6316, 5342}},
753  {3, {27, 2455, 3493}},
754  {3, {28, 12157, 7405}},
755  {3, {29, 6598, 11495}},
756  {3, {30, 11805, 4455}},
757  {3, {31, 9625, 2090}},
758  {3, {32, 4731, 2321}},
759  {3, {33, 3578, 2608}},
760  {3, {34, 8504, 1849}},
761  {3, {35, 4027, 1151}},
762  {3, {0, 5647, 4935}},
763  {3, {1, 4219, 1870}},
764  {3, {2, 10968, 8054}},
765  {3, {3, 6970, 5447}},
766  {3, {4, 3217, 5638}},
767  {3, {5, 8972, 669}},
768  {3, {6, 5618, 12472}},
769  {3, {7, 1457, 1280}},
770  {3, {8, 8868, 3883}},
771  {3, {9, 8866, 1224}},
772  {3, {10, 8371, 5972}},
773  {3, {11, 266, 4405}},
774  {3, {12, 3706, 3244}},
775  {3, {13, 6039, 5844}},
776  {3, {14, 7200, 3283}},
777  {3, {15, 1502, 11282}},
778  {3, {16, 12318, 2202}},
779  {3, {17, 4523, 965}},
780  {3, {18, 9587, 7011}},
781  {3, {19, 2552, 2051}},
782  {3, {20, 12045, 10306}},
783  {3, {21, 11070, 5104}},
784  {3, {22, 6627, 6906}},
785  {3, {23, 9889, 2121}},
786  {3, {24, 829, 9701}},
787  {3, {25, 2201, 1819}},
788  {3, {26, 6689, 12925}},
789  {3, {27, 2139, 8757}},
790  {3, {28, 12004, 5948}},
791  {3, {29, 8704, 3191}},
792  {3, {30, 8171, 10933}},
793  {3, {31, 6297, 7116}},
794  {3, {32, 616, 7146}},
795  {3, {33, 5142, 9761}},
796  {3, {34, 10377, 8138}},
797  {3, {35, 7616, 5811}},
798  {3, {0, 7285, 9863}},
799  {3, {1, 7764, 10867}},
800  {3, {2, 12343, 9019}},
801  {3, {3, 4414, 8331}},
802  {3, {4, 3464, 642}},
803  {3, {5, 6960, 2039}},
804  {3, {6, 786, 3021}},
805  {3, {7, 710, 2086}},
806  {3, {8, 7423, 5601}},
807  {3, {9, 8120, 4885}},
808  {3, {10, 12385, 11990}},
809  {3, {11, 9739, 10034}},
810  {3, {12, 424, 10162}},
811  {3, {13, 1347, 7597}},
812  {3, {14, 1450, 112}},
813  {3, {15, 7965, 8478}},
814  {3, {16, 8945, 7397}},
815  {3, {17, 6590, 8316}},
816  {3, {18, 6838, 9011}},
817  {3, {19, 6174, 9410}},
818  {3, {20, 255, 113}},
819  {3, {21, 6197, 5835}},
820  {3, {22, 12902, 3844}},
821  {3, {23, 4377, 3505}},
822  {3, {24, 5478, 8672}},
823  {3, {25, 4453, 2132}},
824  {3, {26, 9724, 1380}},
825  {3, {27, 12131, 11526}},
826  {3, {28, 12323, 9511}},
827  {3, {29, 8231, 1752}},
828  {3, {30, 497, 9022}},
829  {3, {31, 9288, 3080}},
830  {3, {32, 2481, 7515}},
831  {3, {33, 2696, 268}},
832  {3, {34, 4023, 12341}},
833  {3, {35, 7108, 5553}},
834  }};
835 
836 // EN 302 307-1 Table B.9
837 static const s2_ldpc_table ldpc_nf_fec56 =
838  {30, 150, {
839  {13, {0, 4362, 416, 8909, 4156, 3216, 3112, 2560, 2912, 6405, 8593, 4969, 6723}},
840  {13, {1, 2479, 1786, 8978, 3011, 4339, 9313, 6397, 2957, 7288, 5484, 6031, 10217}},
841  {13, {2, 10175, 9009, 9889, 3091, 4985, 7267, 4092, 8874, 5671, 2777, 2189, 8716}},
842  {13, {3, 9052, 4795, 3924, 3370, 10058, 1128, 9996, 10165, 9360, 4297, 434, 5138}},
843  {13, {4, 2379, 7834, 4835, 2327, 9843, 804, 329, 8353, 7167, 3070, 1528, 7311}},
844  {13, {5, 3435, 7871, 348, 3693, 1876, 6585, 10340, 7144, 5870, 2084, 4052, 2780}},
845  {13, {6, 3917, 3111, 3476, 1304, 10331, 5939, 5199, 1611, 1991, 699, 8316, 9960}},
846  {13, {7, 6883, 3237, 1717, 10752, 7891, 9764, 4745, 3888, 10009, 4176, 4614, 1567}},
847  {13, {8, 10587, 2195, 1689, 2968, 5420, 2580, 2883, 6496, 111, 6023, 1024, 4449}},
848  {13, {9, 3786, 8593, 2074, 3321, 5057, 1450, 3840, 5444, 6572, 3094, 9892, 1512}},
849  {13, {10, 8548, 1848, 10372, 4585, 7313, 6536, 6379, 1766, 9462, 2456, 5606, 9975}},
850  {13, {11, 8204, 10593, 7935, 3636, 3882, 394, 5968, 8561, 2395, 7289, 9267, 9978}},
851  {13, {12, 7795, 74, 1633, 9542, 6867, 7352, 6417, 7568, 10623, 725, 2531, 9115}},
852  {13, {13, 7151, 2482, 4260, 5003, 10105, 7419, 9203, 6691, 8798, 2092, 8263, 3755}},
853  {13, {14, 3600, 570, 4527, 200, 9718, 6771, 1995, 8902, 5446, 768, 1103, 6520}},
854  {3, {15, 6304, 7621}},
855  {3, {16, 6498, 9209}},
856  {3, {17, 7293, 6786}},
857  {3, {18, 5950, 1708}},
858  {3, {19, 8521, 1793}},
859  {3, {20, 6174, 7854}},
860  {3, {21, 9773, 1190}},
861  {3, {22, 9517, 10268}},
862  {3, {23, 2181, 9349}},
863  {3, {24, 1949, 5560}},
864  {3, {25, 1556, 555}},
865  {3, {26, 8600, 3827}},
866  {3, {27, 5072, 1057}},
867  {3, {28, 7928, 3542}},
868  {3, {29, 3226, 3762}},
869  {3, {0, 7045, 2420}},
870  {3, {1, 9645, 2641}},
871  {3, {2, 2774, 2452}},
872  {3, {3, 5331, 2031}},
873  {3, {4, 9400, 7503}},
874  {3, {5, 1850, 2338}},
875  {3, {6, 10456, 9774}},
876  {3, {7, 1692, 9276}},
877  {3, {8, 10037, 4038}},
878  {3, {9, 3964, 338}},
879  {3, {10, 2640, 5087}},
880  {3, {11, 858, 3473}},
881  {3, {12, 5582, 5683}},
882  {3, {13, 9523, 916}},
883  {3, {14, 4107, 1559}},
884  {3, {15, 4506, 3491}},
885  {3, {16, 8191, 4182}},
886  {3, {17, 10192, 6157}},
887  {3, {18, 5668, 3305}},
888  {3, {19, 3449, 1540}},
889  {3, {20, 4766, 2697}},
890  {3, {21, 4069, 6675}},
891  {3, {22, 1117, 1016}},
892  {3, {23, 5619, 3085}},
893  {3, {24, 8483, 8400}},
894  {3, {25, 8255, 394}},
895  {3, {26, 6338, 5042}},
896  {3, {27, 6174, 5119}},
897  {3, {28, 7203, 1989}},
898  {3, {29, 1781, 5174}},
899  {3, {0, 1464, 3559}},
900  {3, {1, 3376, 4214}},
901  {3, {2, 7238, 67}},
902  {3, {3, 10595, 8831}},
903  {3, {4, 1221, 6513}},
904  {3, {5, 5300, 4652}},
905  {3, {6, 1429, 9749}},
906  {3, {7, 7878, 5131}},
907  {3, {8, 4435, 10284}},
908  {3, {9, 6331, 5507}},
909  {3, {10, 6662, 4941}},
910  {3, {11, 9614, 10238}},
911  {3, {12, 8400, 8025}},
912  {3, {13, 9156, 5630}},
913  {3, {14, 7067, 8878}},
914  {3, {15, 9027, 3415}},
915  {3, {16, 1690, 3866}},
916  {3, {17, 2854, 8469}},
917  {3, {18, 6206, 630}},
918  {3, {19, 363, 5453}},
919  {3, {20, 4125, 7008}},
920  {3, {21, 1612, 6702}},
921  {3, {22, 9069, 9226}},
922  {3, {23, 5767, 4060}},
923  {3, {24, 3743, 9237}},
924  {3, {25, 7018, 5572}},
925  {3, {26, 8892, 4536}},
926  {3, {27, 853, 6064}},
927  {3, {28, 8069, 5893}},
928  {3, {29, 2051, 2885}},
929  {3, {0, 10691, 3153}},
930  {3, {1, 3602, 4055}},
931  {3, {2, 328, 1717}},
932  {3, {3, 2219, 9299}},
933  {3, {4, 1939, 7898}},
934  {3, {5, 617, 206}},
935  {3, {6, 8544, 1374}},
936  {3, {7, 10676, 3240}},
937  {3, {8, 6672, 9489}},
938  {3, {9, 3170, 7457}},
939  {3, {10, 7868, 5731}},
940  {3, {11, 6121, 10732}},
941  {3, {12, 4843, 9132}},
942  {3, {13, 580, 9591}},
943  {3, {14, 6267, 9290}},
944  {3, {15, 3009, 2268}},
945  {3, {16, 195, 2419}},
946  {3, {17, 8016, 1557}},
947  {3, {18, 1516, 9195}},
948  {3, {19, 8062, 9064}},
949  {3, {20, 2095, 8968}},
950  {3, {21, 753, 7326}},
951  {3, {22, 6291, 3833}},
952  {3, {23, 2614, 7844}},
953  {3, {24, 2303, 646}},
954  {3, {25, 2075, 611}},
955  {3, {26, 4687, 362}},
956  {3, {27, 8684, 9940}},
957  {3, {28, 4830, 2065}},
958  {3, {29, 7038, 1363}},
959  {3, {0, 1769, 7837}},
960  {3, {1, 3801, 1689}},
961  {3, {2, 10070, 2359}},
962  {3, {3, 3667, 9918}},
963  {3, {4, 1914, 6920}},
964  {3, {5, 4244, 5669}},
965  {3, {6, 10245, 7821}},
966  {3, {7, 7648, 3944}},
967  {3, {8, 3310, 5488}},
968  {3, {9, 6346, 9666}},
969  {3, {10, 7088, 6122}},
970  {3, {11, 1291, 7827}},
971  {3, {12, 10592, 8945}},
972  {3, {13, 3609, 7120}},
973  {3, {14, 9168, 9112}},
974  {3, {15, 6203, 8052}},
975  {3, {16, 3330, 2895}},
976  {3, {17, 4264, 10563}},
977  {3, {18, 10556, 6496}},
978  {3, {19, 8807, 7645}},
979  {3, {20, 1999, 4530}},
980  {3, {21, 9202, 6818}},
981  {3, {22, 3403, 1734}},
982  {3, {23, 2106, 9023}},
983  {3, {24, 6881, 3883}},
984  {3, {25, 3895, 2171}},
985  {3, {26, 4062, 6424}},
986  {3, {27, 3755, 9536}},
987  {3, {28, 4683, 2131}},
988  {3, {29, 7347, 8027}},
989  }};
990 
991 // EN 302 307-1 Table B.10
992 static const s2_ldpc_table ldpc_nf_fec89 =
993  {20, 160, {
994  {4, {0, 6235, 2848, 3222}},
995  {4, {1, 5800, 3492, 5348}},
996  {4, {2, 2757, 927, 90}},
997  {4, {3, 6961, 4516, 4739}},
998  {4, {4, 1172, 3237, 6264}},
999  {4, {5, 1927, 2425, 3683}},
1000  {4, {6, 3714, 6309, 2495}},
1001  {4, {7, 3070, 6342, 7154}},
1002  {4, {8, 2428, 613, 3761}},
1003  {4, {9, 2906, 264, 5927}},
1004  {4, {10, 1716, 1950, 4273}},
1005  {4, {11, 4613, 6179, 3491}},
1006  {4, {12, 4865, 3286, 6005}},
1007  {4, {13, 1343, 5923, 3529}},
1008  {4, {14, 4589, 4035, 2132}},
1009  {4, {15, 1579, 3920, 6737}},
1010  {4, {16, 1644, 1191, 5998}},
1011  {4, {17, 1482, 2381, 4620}},
1012  {4, {18, 6791, 6014, 6596}},
1013  {4, {19, 2738, 5918, 3786}},
1014  {3, {0, 5156, 6166}},
1015  {3, {1, 1504, 4356}},
1016  {3, {2, 130, 1904}},
1017  {3, {3, 6027, 3187}},
1018  {3, {4, 6718, 759}},
1019  {3, {5, 6240, 2870}},
1020  {3, {6, 2343, 1311}},
1021  {3, {7, 1039, 5465}},
1022  {3, {8, 6617, 2513}},
1023  {3, {9, 1588, 5222}},
1024  {3, {10, 6561, 535}},
1025  {3, {11, 4765, 2054}},
1026  {3, {12, 5966, 6892}},
1027  {3, {13, 1969, 3869}},
1028  {3, {14, 3571, 2420}},
1029  {3, {15, 4632, 981}},
1030  {3, {16, 3215, 4163}},
1031  {3, {17, 973, 3117}},
1032  {3, {18, 3802, 6198}},
1033  {3, {19, 3794, 3948}},
1034  {3, {0, 3196, 6126}},
1035  {3, {1, 573, 1909}},
1036  {3, {2, 850, 4034}},
1037  {3, {3, 5622, 1601}},
1038  {3, {4, 6005, 524}},
1039  {3, {5, 5251, 5783}},
1040  {3, {6, 172, 2032}},
1041  {3, {7, 1875, 2475}},
1042  {3, {8, 497, 1291}},
1043  {3, {9, 2566, 3430}},
1044  {3, {10, 1249, 740}},
1045  {3, {11, 2944, 1948}},
1046  {3, {12, 6528, 2899}},
1047  {3, {13, 2243, 3616}},
1048  {3, {14, 867, 3733}},
1049  {3, {15, 1374, 4702}},
1050  {3, {16, 4698, 2285}},
1051  {3, {17, 4760, 3917}},
1052  {3, {18, 1859, 4058}},
1053  {3, {19, 6141, 3527}},
1054  {3, {0, 2148, 5066}},
1055  {3, {1, 1306, 145}},
1056  {3, {2, 2319, 871}},
1057  {3, {3, 3463, 1061}},
1058  {3, {4, 5554, 6647}},
1059  {3, {5, 5837, 339}},
1060  {3, {6, 5821, 4932}},
1061  {3, {7, 6356, 4756}},
1062  {3, {8, 3930, 418}},
1063  {3, {9, 211, 3094}},
1064  {3, {10, 1007, 4928}},
1065  {3, {11, 3584, 1235}},
1066  {3, {12, 6982, 2869}},
1067  {3, {13, 1612, 1013}},
1068  {3, {14, 953, 4964}},
1069  {3, {15, 4555, 4410}},
1070  {3, {16, 4925, 4842}},
1071  {3, {17, 5778, 600}},
1072  {3, {18, 6509, 2417}},
1073  {3, {19, 1260, 4903}},
1074  {3, {0, 3369, 3031}},
1075  {3, {1, 3557, 3224}},
1076  {3, {2, 3028, 583}},
1077  {3, {3, 3258, 440}},
1078  {3, {4, 6226, 6655}},
1079  {3, {5, 4895, 1094}},
1080  {3, {6, 1481, 6847}},
1081  {3, {7, 4433, 1932}},
1082  {3, {8, 2107, 1649}},
1083  {3, {9, 2119, 2065}},
1084  {3, {10, 4003, 6388}},
1085  {3, {11, 6720, 3622}},
1086  {3, {12, 3694, 4521}},
1087  {3, {13, 1164, 7050}},
1088  {3, {14, 1965, 3613}},
1089  {3, {15, 4331, 66}},
1090  {3, {16, 2970, 1796}},
1091  {3, {17, 4652, 3218}},
1092  {3, {18, 1762, 4777}},
1093  {3, {19, 5736, 1399}},
1094  {3, {0, 970, 2572}},
1095  {3, {1, 2062, 6599}},
1096  {3, {2, 4597, 4870}},
1097  {3, {3, 1228, 6913}},
1098  {3, {4, 4159, 1037}},
1099  {3, {5, 2916, 2362}},
1100  {3, {6, 395, 1226}},
1101  {3, {7, 6911, 4548}},
1102  {3, {8, 4618, 2241}},
1103  {3, {9, 4120, 4280}},
1104  {3, {10, 5825, 474}},
1105  {3, {11, 2154, 5558}},
1106  {3, {12, 3793, 5471}},
1107  {3, {13, 5707, 1595}},
1108  {3, {14, 1403, 325}},
1109  {3, {15, 6601, 5183}},
1110  {3, {16, 6369, 4569}},
1111  {3, {17, 4846, 896}},
1112  {3, {18, 7092, 6184}},
1113  {3, {19, 6764, 7127}},
1114  {3, {0, 6358, 1951}},
1115  {3, {1, 3117, 6960}},
1116  {3, {2, 2710, 7062}},
1117  {3, {3, 1133, 3604}},
1118  {3, {4, 3694, 657}},
1119  {3, {5, 1355, 110}},
1120  {3, {6, 3329, 6736}},
1121  {3, {7, 2505, 3407}},
1122  {3, {8, 2462, 4806}},
1123  {3, {9, 4216, 214}},
1124  {3, {10, 5348, 5619}},
1125  {3, {11, 6627, 6243}},
1126  {3, {12, 2644, 5073}},
1127  {3, {13, 4212, 5088}},
1128  {3, {14, 3463, 3889}},
1129  {3, {15, 5306, 478}},
1130  {3, {16, 4320, 6121}},
1131  {3, {17, 3961, 1125}},
1132  {3, {18, 5699, 1195}},
1133  {3, {19, 6511, 792}},
1134  {3, {0, 3934, 2778}},
1135  {3, {1, 3238, 6587}},
1136  {3, {2, 1111, 6596}},
1137  {3, {3, 1457, 6226}},
1138  {3, {4, 1446, 3885}},
1139  {3, {5, 3907, 4043}},
1140  {3, {6, 6839, 2873}},
1141  {3, {7, 1733, 5615}},
1142  {3, {8, 5202, 4269}},
1143  {3, {9, 3024, 4722}},
1144  {3, {10, 5445, 6372}},
1145  {3, {11, 370, 1828}},
1146  {3, {12, 4695, 1600}},
1147  {3, {13, 680, 2074}},
1148  {3, {14, 1801, 6690}},
1149  {3, {15, 2669, 1377}},
1150  {3, {16, 2463, 1681}},
1151  {3, {17, 5972, 5171}},
1152  {3, {18, 5728, 4284}},
1153  {3, {19, 1696, 1459}},
1154  }};
1155 
1156 // EN 302 307-1 Table B.11
1157 static const s2_ldpc_table ldpc_nf_fec910 =
1158  {18, 162, {
1159  {4, {0, 5611, 2563, 2900}},
1160  {4, {1, 5220, 3143, 4813}},
1161  {4, {2, 2481, 834, 81}},
1162  {4, {3, 6265, 4064, 4265}},
1163  {4, {4, 1055, 2914, 5638}},
1164  {4, {5, 1734, 2182, 3315}},
1165  {4, {6, 3342, 5678, 2246}},
1166  {4, {7, 2185, 552, 3385}},
1167  {4, {8, 2615, 236, 5334}},
1168  {4, {9, 1546, 1755, 3846}},
1169  {4, {10, 4154, 5561, 3142}},
1170  {4, {11, 4382, 2957, 5400}},
1171  {4, {12, 1209, 5329, 3179}},
1172  {4, {13, 1421, 3528, 6063}},
1173  {4, {14, 1480, 1072, 5398}},
1174  {4, {15, 3843, 1777, 4369}},
1175  {4, {16, 1334, 2145, 4163}},
1176  {4, {17, 2368, 5055, 260}},
1177  {3, {0, 6118, 5405}},
1178  {3, {1, 2994, 4370}},
1179  {3, {2, 3405, 1669}},
1180  {3, {3, 4640, 5550}},
1181  {3, {4, 1354, 3921}},
1182  {3, {5, 117, 1713}},
1183  {3, {6, 5425, 2866}},
1184  {3, {7, 6047, 683}},
1185  {3, {8, 5616, 2582}},
1186  {3, {9, 2108, 1179}},
1187  {3, {10, 933, 4921}},
1188  {3, {11, 5953, 2261}},
1189  {3, {12, 1430, 4699}},
1190  {3, {13, 5905, 480}},
1191  {3, {14, 4289, 1846}},
1192  {3, {15, 5374, 6208}},
1193  {3, {16, 1775, 3476}},
1194  {3, {17, 3216, 2178}},
1195  {3, {0, 4165, 884}},
1196  {3, {1, 2896, 3744}},
1197  {3, {2, 874, 2801}},
1198  {3, {3, 3423, 5579}},
1199  {3, {4, 3404, 3552}},
1200  {3, {5, 2876, 5515}},
1201  {3, {6, 516, 1719}},
1202  {3, {7, 765, 3631}},
1203  {3, {8, 5059, 1441}},
1204  {3, {9, 5629, 598}},
1205  {3, {10, 5405, 473}},
1206  {3, {11, 4724, 5210}},
1207  {3, {12, 155, 1832}},
1208  {3, {13, 1689, 2229}},
1209  {3, {14, 449, 1164}},
1210  {3, {15, 2308, 3088}},
1211  {3, {16, 1122, 669}},
1212  {3, {17, 2268, 5758}},
1213  {3, {0, 5878, 2609}},
1214  {3, {1, 782, 3359}},
1215  {3, {2, 1231, 4231}},
1216  {3, {3, 4225, 2052}},
1217  {3, {4, 4286, 3517}},
1218  {3, {5, 5531, 3184}},
1219  {3, {6, 1935, 4560}},
1220  {3, {7, 1174, 131}},
1221  {3, {8, 3115, 956}},
1222  {3, {9, 3129, 1088}},
1223  {3, {10, 5238, 4440}},
1224  {3, {11, 5722, 4280}},
1225  {3, {12, 3540, 375}},
1226  {3, {13, 191, 2782}},
1227  {3, {14, 906, 4432}},
1228  {3, {15, 3225, 1111}},
1229  {3, {16, 6296, 2583}},
1230  {3, {17, 1457, 903}},
1231  {3, {0, 855, 4475}},
1232  {3, {1, 4097, 3970}},
1233  {3, {2, 4433, 4361}},
1234  {3, {3, 5198, 541}},
1235  {3, {4, 1146, 4426}},
1236  {3, {5, 3202, 2902}},
1237  {3, {6, 2724, 525}},
1238  {3, {7, 1083, 4124}},
1239  {3, {8, 2326, 6003}},
1240  {3, {9, 5605, 5990}},
1241  {3, {10, 4376, 1579}},
1242  {3, {11, 4407, 984}},
1243  {3, {12, 1332, 6163}},
1244  {3, {13, 5359, 3975}},
1245  {3, {14, 1907, 1854}},
1246  {3, {15, 3601, 5748}},
1247  {3, {16, 6056, 3266}},
1248  {3, {17, 3322, 4085}},
1249  {3, {0, 1768, 3244}},
1250  {3, {1, 2149, 144}},
1251  {3, {2, 1589, 4291}},
1252  {3, {3, 5154, 1252}},
1253  {3, {4, 1855, 5939}},
1254  {3, {5, 4820, 2706}},
1255  {3, {6, 1475, 3360}},
1256  {3, {7, 4266, 693}},
1257  {3, {8, 4156, 2018}},
1258  {3, {9, 2103, 752}},
1259  {3, {10, 3710, 3853}},
1260  {3, {11, 5123, 931}},
1261  {3, {12, 6146, 3323}},
1262  {3, {13, 1939, 5002}},
1263  {3, {14, 5140, 1437}},
1264  {3, {15, 1263, 293}},
1265  {3, {16, 5949, 4665}},
1266  {3, {17, 4548, 6380}},
1267  {3, {0, 3171, 4690}},
1268  {3, {1, 5204, 2114}},
1269  {3, {2, 6384, 5565}},
1270  {3, {3, 5722, 1757}},
1271  {3, {4, 2805, 6264}},
1272  {3, {5, 1202, 2616}},
1273  {3, {6, 1018, 3244}},
1274  {3, {7, 4018, 5289}},
1275  {3, {8, 2257, 3067}},
1276  {3, {9, 2483, 3073}},
1277  {3, {10, 1196, 5329}},
1278  {3, {11, 649, 3918}},
1279  {3, {12, 3791, 4581}},
1280  {3, {13, 5028, 3803}},
1281  {3, {14, 3119, 3506}},
1282  {3, {15, 4779, 431}},
1283  {3, {16, 3888, 5510}},
1284  {3, {17, 4387, 4084}},
1285  {3, {0, 5836, 1692}},
1286  {3, {1, 5126, 1078}},
1287  {3, {2, 5721, 6165}},
1288  {3, {3, 3540, 2499}},
1289  {3, {4, 2225, 6348}},
1290  {3, {5, 1044, 1484}},
1291  {3, {6, 6323, 4042}},
1292  {3, {7, 1313, 5603}},
1293  {3, {8, 1303, 3496}},
1294  {3, {9, 3516, 3639}},
1295  {3, {10, 5161, 2293}},
1296  {3, {11, 4682, 3845}},
1297  {3, {12, 3045, 643}},
1298  {3, {13, 2818, 2616}},
1299  {3, {14, 3267, 649}},
1300  {3, {15, 6236, 593}},
1301  {3, {16, 646, 2948}},
1302  {3, {17, 4213, 1442}},
1303  {3, {0, 5779, 1596}},
1304  {3, {1, 2403, 1237}},
1305  {3, {2, 2217, 1514}},
1306  {3, {3, 5609, 716}},
1307  {3, {4, 5155, 3858}},
1308  {3, {5, 1517, 1312}},
1309  {3, {6, 2554, 3158}},
1310  {3, {7, 5280, 2643}},
1311  {3, {8, 4990, 1353}},
1312  {3, {9, 5648, 1170}},
1313  {3, {10, 1152, 4366}},
1314  {3, {11, 3561, 5368}},
1315  {3, {12, 3581, 1411}},
1316  {3, {13, 5647, 4661}},
1317  {3, {14, 1542, 5401}},
1318  {3, {15, 5078, 2687}},
1319  {3, {16, 316, 1755}},
1320  {3, {17, 3392, 1991}},
1321  }};
1322 
1323 // EN 302 307-1 Table C.1
1324 static const s2_ldpc_table ldpc_sf_fec14 =
1325  {36, 9, {
1326  {12, {6295, 9626, 304, 7695, 4839, 4936, 1660, 144, 11203, 5567, 6347, 12557}},
1327  {12, {10691, 4988, 3859, 3734, 3071, 3494, 7687, 10313, 5964, 8069, 8296, 11090}},
1328  {12, {10774, 3613, 5208, 11177, 7676, 3549, 8746, 6583, 7239, 12265, 2674, 4292}},
1329  {12, {11869, 3708, 5981, 8718, 4908, 10650, 6805, 3334, 2627, 10461, 9285, 11120}},
1330  {3, {7844, 3079, 10773}},
1331  {3, {3385, 10854, 5747}},
1332  {3, {1360, 12010, 12202}},
1333  {3, {6189, 4241, 2343}},
1334  {3, {9840, 12726, 4977}},
1335  }};
1336 
1337 // EN 302 307-1 Table C.2
1338 static const s2_ldpc_table ldpc_sf_fec13 =
1339  {30, 15, {
1340  {12, {416, 8909, 4156, 3216, 3112, 2560, 2912, 6405, 8593, 4969, 6723, 6912}},
1341  {12, {8978, 3011, 4339, 9312, 6396, 2957, 7288, 5485, 6031, 10218, 2226, 3575}},
1342  {12, {3383, 10059, 1114, 10008, 10147, 9384, 4290, 434, 5139, 3536, 1965, 2291}},
1343  {12, {2797, 3693, 7615, 7077, 743, 1941, 8716, 6215, 3840, 5140, 4582, 5420}},
1344  {12, {6110, 8551, 1515, 7404, 4879, 4946, 5383, 1831, 3441, 9569, 10472, 4306}},
1345  {3, {1505, 5682, 7778}},
1346  {3, {7172, 6830, 6623}},
1347  {3, {7281, 3941, 3505}},
1348  {3, {10270, 8669, 914}},
1349  {3, {3622, 7563, 9388}},
1350  {3, {9930, 5058, 4554}},
1351  {3, {4844, 9609, 2707}},
1352  {3, {6883, 3237, 1714}},
1353  {3, {4768, 3878, 10017}},
1354  {3, {10127, 3334, 8267}},
1355  }};
1356 
1357 // EN 302 307-1 Table C.3
1358 static const s2_ldpc_table ldpc_sf_fec25 =
1359  {27, 18, {
1360  {12, {5650, 4143, 8750, 583, 6720, 8071, 635, 1767, 1344, 6922, 738, 6658}},
1361  {12, {5696, 1685, 3207, 415, 7019, 5023, 5608, 2605, 857, 6915, 1770, 8016}},
1362  {12, {3992, 771, 2190, 7258, 8970, 7792, 1802, 1866, 6137, 8841, 886, 1931}},
1363  {12, {4108, 3781, 7577, 6810, 9322, 8226, 5396, 5867, 4428, 8827, 7766, 2254}},
1364  {12, {4247, 888, 4367, 8821, 9660, 324, 5864, 4774, 227, 7889, 6405, 8963}},
1365  {12, {9693, 500, 2520, 2227, 1811, 9330, 1928, 5140, 4030, 4824, 806, 3134}},
1366  {12, {1652, 8171, 1435}},
1367  {12, {3366, 6543, 3745}},
1368  {12, {9286, 8509, 4645}},
1369  {12, {7397, 5790, 8972}},
1370  {12, {6597, 4422, 1799}},
1371  {12, {9276, 4041, 3847}},
1372  {12, {8683, 7378, 4946}},
1373  {12, {5348, 1993, 9186}},
1374  {12, {6724, 9015, 5646}},
1375  {12, {4502, 4439, 8474}},
1376  {12, {5107, 7342, 9442}},
1377  {12, {1387, 8910, 2660}},
1378  }};
1379 
1380 // EN 302 307-1 Table C.4
1381 static const s2_ldpc_table ldpc_sf_fec12 =
1382  {25, 20, {
1383  {8, {20, 712, 2386, 6354, 4061, 1062, 5045, 5158}},
1384  {8, {21, 2543, 5748, 4822, 2348, 3089, 6328, 5876}},
1385  {8, {22, 926, 5701, 269, 3693, 2438, 3190, 3507}},
1386  {8, {23, 2802, 4520, 3577, 5324, 1091, 4667, 4449}},
1387  {8, {24, 5140, 2003, 1263, 4742, 6497, 1185, 6202}},
1388  {3, {0, 4046, 6934}},
1389  {3, {1, 2855, 66}},
1390  {3, {2, 6694, 212}},
1391  {3, {3, 3439, 1158}},
1392  {3, {4, 3850, 4422}},
1393  {3, {5, 5924, 290}},
1394  {3, {6, 1467, 4049}},
1395  {3, {7, 7820, 2242}},
1396  {3, {8, 4606, 3080}},
1397  {3, {9, 4633, 7877}},
1398  {3, {10, 3884, 6868}},
1399  {3, {11, 8935, 4996}},
1400  {3, {12, 3028, 764}},
1401  {3, {13, 5988, 1057}},
1402  {3, {14, 7411, 3450}},
1403  }};
1404 
1405 // EN 302 307-1 Table C.5
1406 static const s2_ldpc_table ldpc_sf_fec35 =
1407  {18, 27, {
1408  {12, {2765, 5713, 6426, 3596, 1374, 4811, 2182, 544, 3394, 2840, 4310, 771}},
1409  {12, {4951, 211, 2208, 723, 1246, 2928, 398, 5739, 265, 5601, 5993, 2615}},
1410  {12, {210, 4730, 5777, 3096, 4282, 6238, 4939, 1119, 6463, 5298, 6320, 4016}},
1411  {12, {4167, 2063, 4757, 3157, 5664, 3956, 6045, 563, 4284, 2441, 3412, 6334}},
1412  {12, {4201, 2428, 4474, 59, 1721, 736, 2997, 428, 3807, 1513, 4732, 6195}},
1413  {12, {2670, 3081, 5139, 3736, 1999, 5889, 4362, 3806, 4534, 5409, 6384, 5809}},
1414  {12, {5516, 1622, 2906, 3285, 1257, 5797, 3816, 817, 875, 2311, 3543, 1205}},
1415  {12, {4244, 2184, 5415, 1705, 5642, 4886, 2333, 287, 1848, 1121, 3595, 6022}},
1416  {12, {2142, 2830, 4069, 5654, 1295, 2951, 3919, 1356, 884, 1786, 396, 4738}},
1417  {3, {0, 2161, 2653}},
1418  {3, {1, 1380, 1461}},
1419  {3, {2, 2502, 3707}},
1420  {3, {3, 3971, 1057}},
1421  {3, {4, 5985, 6062}},
1422  {3, {5, 1733, 6028}},
1423  {3, {6, 3786, 1936}},
1424  {3, {7, 4292, 956}},
1425  {3, {8, 5692, 3417}},
1426  {3, {9, 266, 4878}},
1427  {3, {10, 4913, 3247}},
1428  {3, {11, 4763, 3937}},
1429  {3, {12, 3590, 2903}},
1430  {3, {13, 2566, 4215}},
1431  {3, {14, 5208, 4707}},
1432  {3, {15, 3940, 3388}},
1433  {3, {16, 5109, 4556}},
1434  {3, {17, 4908, 4177}},
1435  }};
1436 
1437 // EN 302 307-1 Table C.6
1438 static const s2_ldpc_table ldpc_sf_fec23 =
1439  {15, 30, {
1440  {13, {0, 2084, 1613, 1548, 1286, 1460, 3196, 4297, 2481, 3369, 3451, 4620, 2622}},
1441  {13, {1, 122, 1516, 3448, 2880, 1407, 1847, 3799, 3529, 373, 971, 4358, 3108}},
1442  {13, {2, 259, 3399, 929, 2650, 864, 3996, 3833, 107, 5287, 164, 3125, 2350}},
1443  {3, {3, 342, 3529}},
1444  {3, {4, 4198, 2147}},
1445  {3, {5, 1880, 4836}},
1446  {3, {6, 3864, 4910}},
1447  {3, {7, 243, 1542}},
1448  {3, {8, 3011, 1436}},
1449  {3, {9, 2167, 2512}},
1450  {3, {10, 4606, 1003}},
1451  {3, {11, 2835, 705}},
1452  {3, {12, 3426, 2365}},
1453  {3, {13, 3848, 2474}},
1454  {3, {14, 1360, 1743}},
1455  {3, {0, 163, 2536}},
1456  {3, {1, 2583, 1180}},
1457  {3, {2, 1542, 509}},
1458  {3, {3, 4418, 1005}},
1459  {3, {4, 5212, 5117}},
1460  {3, {5, 2155, 2922}},
1461  {3, {6, 347, 2696}},
1462  {3, {7, 226, 4296}},
1463  {3, {8, 1560, 487}},
1464  {3, {9, 3926, 1640}},
1465  {3, {10, 149, 2928}},
1466  {3, {11, 2364, 563}},
1467  {3, {12, 635, 688}},
1468  {3, {13, 231, 1684}},
1469  {3, {14, 1129, 3894}},
1470  }};
1471 
1472 // EN 302 307-1 Table C.7
1473 static const s2_ldpc_table ldpc_sf_fec34 =
1474  {12, 33, {
1475  {3, {3, 3198, 478, 4207, 1481, 1009, 2616, 1924, 3437, 554, 683, 1801}},
1476  {3, {4, 2681, 2135}},
1477  {3, {5, 3107, 4027}},
1478  {3, {6, 2637, 3373}},
1479  {3, {7, 3830, 3449}},
1480  {3, {8, 4129, 2060}},
1481  {3, {9, 4184, 2742}},
1482  {3, {10, 3946, 1070}},
1483  {3, {11, 2239, 984}},
1484  {3, {0, 1458, 3031}},
1485  {3, {1, 3003, 1328}},
1486  {3, {2, 1137, 1716}},
1487  {3, {3, 132, 3725}},
1488  {3, {4, 1817, 638}},
1489  {3, {5, 1774, 3447}},
1490  {3, {6, 3632, 1257}},
1491  {3, {7, 542, 3694}},
1492  {3, {8, 1015, 1945}},
1493  {3, {9, 1948, 412}},
1494  {3, {10, 995, 2238}},
1495  {3, {11, 4141, 1907}},
1496  {3, {0, 2480, 3079}},
1497  {3, {1, 3021, 1088}},
1498  {3, {2, 713, 1379}},
1499  {3, {3, 997, 3903}},
1500  {3, {4, 2323, 3361}},
1501  {3, {5, 1110, 986}},
1502  {3, {6, 2532, 142}},
1503  {3, {7, 1690, 2405}},
1504  {3, {8, 1298, 1881}},
1505  {3, {9, 615, 174}},
1506  {3, {10, 1648, 3112}},
1507  {3, {11, 1415, 2808}},
1508  }};
1509 
1510 // EN 302 307-1 Table C.8
1511 static const s2_ldpc_table ldpc_sf_fec45 =
1512  {10, 35, {
1513  {3, {5, 896, 1565}},
1514  {3, {6, 2493, 184}},
1515  {3, {7, 212, 3210}},
1516  {3, {8, 727, 1339}},
1517  {3, {9, 3428, 612}},
1518  {3, {0, 2663, 1947}},
1519  {3, {1, 230, 2695}},
1520  {3, {2, 2025, 2794}},
1521  {3, {3, 3039, 283}},
1522  {3, {4, 862, 2889}},
1523  {3, {5, 376, 2110}},
1524  {3, {6, 2034, 2286}},
1525  {3, {7, 951, 2068}},
1526  {3, {8, 3108, 3542}},
1527  {3, {9, 307, 1421}},
1528  {3, {0, 2272, 1197}},
1529  {3, {1, 1800, 3280}},
1530  {3, {2, 331, 2308}},
1531  {3, {3, 465, 2552}},
1532  {3, {4, 1038, 2479}},
1533  {3, {5, 1383, 343}},
1534  {3, {6, 94, 236}},
1535  {3, {7, 2619, 121}},
1536  {3, {8, 1497, 2774}},
1537  {3, {9, 2116, 1855}},
1538  {3, {0, 722, 1584}},
1539  {3, {1, 2767, 1881}},
1540  {3, {2, 2701, 1610}},
1541  {3, {3, 3283, 1732}},
1542  {3, {4, 168, 1099}},
1543  {3, {5, 3074, 243}},
1544  {3, {6, 3460, 945}},
1545  {3, {7, 2049, 1746}},
1546  {3, {8, 566, 1427}},
1547  {3, {9, 3545, 1168}},
1548  }};
1549 
1550 // EN 302 307-1 Table C.9
1551 static const s2_ldpc_table ldpc_sf_fec56 =
1552  {8, 37, {
1553  {13, {3, 2409, 499, 1481, 908, 559, 716, 1270, 333, 2508, 2264, 1702, 2805}},
1554  {3, {4, 2447, 1926}},
1555  {3, {5, 414, 1224}},
1556  {3, {6, 2114, 842}},
1557  {3, {7, 212, 573}},
1558  {3, {0, 2383, 2112}},
1559  {3, {1, 2286, 2348}},
1560  {3, {2, 545, 819}},
1561  {3, {3, 1264, 143}},
1562  {3, {4, 1701, 2258}},
1563  {3, {5, 964, 166}},
1564  {3, {6, 114, 2413}},
1565  {3, {7, 2243, 81}},
1566  {3, {0, 1245, 1581}},
1567  {3, {1, 775, 169}},
1568  {3, {2, 1696, 1104}},
1569  {3, {3, 1914, 2831}},
1570  {3, {4, 532, 1450}},
1571  {3, {5, 91, 974}},
1572  {3, {6, 497, 2228}},
1573  {3, {7, 2326, 1579}},
1574  {3, {0, 2482, 256}},
1575  {3, {1, 1117, 1261}},
1576  {3, {2, 1257, 1658}},
1577  {3, {3, 1478, 1225}},
1578  {3, {4, 2511, 980}},
1579  {3, {5, 2320, 2675}},
1580  {3, {6, 435, 1278}},
1581  {3, {7, 228, 503}},
1582  {3, {0, 1885, 2369}},
1583  {3, {1, 57, 483}},
1584  {3, {2, 838, 1050}},
1585  {3, {3, 1231, 1990}},
1586  {3, {4, 1738, 68}},
1587  {3, {5, 2392, 951}},
1588  {3, {6, 163, 645}},
1589  {3, {7, 2644, 1704}},
1590  }};
1591 
1592 // EN 302 307-1 Table C.10
1593 static const s2_ldpc_table ldpc_sf_fec89 =
1594  {5, 40, {
1595  {4, {0, 1558, 712, 805}},
1596  {4, {1, 1450, 873, 1337}},
1597  {4, {2, 1741, 1129, 1184}},
1598  {4, {3, 294, 806, 1566}},
1599  {4, {4, 482, 605, 923}},
1600  {3, {0, 926, 1578}},
1601  {3, {1, 777, 1374}},
1602  {3, {2, 608, 151}},
1603  {3, {3, 1195, 210}},
1604  {3, {4, 1484, 692}},
1605  {3, {0, 427, 488}},
1606  {3, {1, 828, 1124}},
1607  {3, {2, 874, 1366}},
1608  {3, {3, 1500, 835}},
1609  {3, {4, 1496, 502}},
1610  {3, {0, 1006, 1701}},
1611  {3, {1, 1155, 97}},
1612  {3, {2, 657, 1403}},
1613  {3, {3, 1453, 624}},
1614  {3, {4, 429, 1495}},
1615  {3, {0, 809, 385}},
1616  {3, {1, 367, 151}},
1617  {3, {2, 1323, 202}},
1618  {3, {3, 960, 318}},
1619  {3, {4, 1451, 1039}},
1620  {3, {0, 1098, 1722}},
1621  {3, {1, 1015, 1428}},
1622  {3, {2, 1261, 1564}},
1623  {3, {3, 544, 1190}},
1624  {3, {4, 1472, 1246}},
1625  {3, {0, 508, 630}},
1626  {3, {1, 421, 1704}},
1627  {3, {2, 284, 898}},
1628  {3, {3, 392, 577}},
1629  {3, {4, 1155, 556}},
1630  {3, {0, 631, 1000}},
1631  {3, {1, 732, 1368}},
1632  {3, {2, 1328, 329}},
1633  {3, {3, 1515, 506}},
1634  {3, {4, 1104, 1172}},
1635  }};
ldpc_table< uint16_t > s2_ldpc_table
Definition: dvbs2.h:1867