11 #include <linux/dvb/frontend.h>
15 #include "libsi/section.h"
16 #include "libsi/descriptor.h"
19 #define DVB_SYSTEM_1 0 // see also dvbdevice.c
20 #define DVB_SYSTEM_2 1
47 for (
int i = 0; i <
numNits; i++) {
51 for (
int j = 0; j <
numNits; j++) {
52 if (
nits[j].hasTransponder) {
106 int Frequencies[NumFrequencies];
114 case 1: f =
BCD2INT(f) / 100;
break;
115 case 2: f =
BCD2INT(f) / 10;
break;
116 case 3: f = f * 10;
break;
119 Frequencies[n++] = f;
134 static char Polarizations[] = {
'H',
'V',
'L',
'R' };
136 static int CodeRates[] = { FEC_NONE, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_8_9, FEC_3_5, FEC_4_5, FEC_9_10, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_NONE };
138 static int Modulations[] = { QAM_AUTO, QPSK, PSK_8, QAM_16 };
141 static int RollOffs[] = { ROLLOFF_35, ROLLOFF_25, ROLLOFF_20, ROLLOFF_AUTO };
145 for (
int n = 0; n < NumFrequencies; n++) {
156 bool forceTransponderUpdate =
false;
162 for (
int n = 0; n < NumFrequencies; n++) {
164 Frequency = Frequencies[n];
172 forceTransponderUpdate =
true;
175 if (!found || forceTransponderUpdate) {
176 for (
int n = 0; n < NumFrequencies; n++) {
194 static int CodeRates[] = { FEC_NONE, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_8_9, FEC_3_5, FEC_4_5, FEC_9_10, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_NONE };
196 static int Modulations[] = { QPSK, QAM_16, QAM_32, QAM_64, QAM_128, QAM_256, QAM_AUTO };
200 for (
int n = 0; n < NumFrequencies; n++) {
211 bool forceTransponderUpdate =
false;
217 for (
int n = 0; n < NumFrequencies; n++) {
219 Frequency = Frequencies[n];
227 forceTransponderUpdate =
true;
230 if (!found || forceTransponderUpdate) {
231 for (
int n = 0; n < NumFrequencies; n++) {
247 int Frequency = Frequencies[0] = sd->
getFrequency() * 10;
248 static int Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 0, 0, 0, 0 };
250 static int Constellations[] = { QPSK, QAM_16, QAM_64, QAM_AUTO };
253 static int Hierarchies[] = { HIERARCHY_NONE, HIERARCHY_1, HIERARCHY_2, HIERARCHY_4, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO };
255 static int CodeRates[] = { FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_AUTO, FEC_AUTO, FEC_AUTO };
258 static int GuardIntervals[] = { GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_4 };
260 static int TransmissionModes[] = { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K, TRANSMISSION_MODE_4K, TRANSMISSION_MODE_AUTO };
263 for (
int n = 0; n < NumFrequencies; n++) {
274 bool forceTransponderUpdate =
false;
280 for (
int n = 0; n < NumFrequencies; n++) {
282 Frequency = Frequencies[n];
290 forceTransponderUpdate =
true;
293 if (!found || forceTransponderUpdate) {
294 for (
int n = 0; n < NumFrequencies; n++) {
322 static int T2Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 10000000, 1712000, 0, 0 };
324 static int T2GuardIntervals[] = { GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_4, GUARD_INTERVAL_1_128, GUARD_INTERVAL_19_128, GUARD_INTERVAL_19_256, 0 };
326 static int T2TransmissionModes[] = { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K, TRANSMISSION_MODE_4K, TRANSMISSION_MODE_1K, TRANSMISSION_MODE_16K, TRANSMISSION_MODE_32K, TRANSMISSION_MODE_AUTO, TRANSMISSION_MODE_AUTO };