Support turbo2.
[vuplus_dvbapp] / lib / dvb / frontendparms.h
1 #ifndef __lib_dvb_frontendparms_h
2 #define __lib_dvb_frontendparms_h
3
4 #include <lib/python/swig.h>
5
6 #include <dvbsi++/satellite_delivery_system_descriptor.h>
7 #include <dvbsi++/cable_delivery_system_descriptor.h>
8 #include <dvbsi++/terrestrial_delivery_system_descriptor.h>
9 #include <dvbsi++/t2_delivery_system_descriptor.h>
10
11 struct eDVBFrontendParametersSatellite
12 {
13 #ifndef SWIG
14         void set(const SatelliteDeliverySystemDescriptor  &);
15 #endif
16         enum {
17                 Polarisation_Horizontal, Polarisation_Vertical, Polarisation_CircularLeft, Polarisation_CircularRight
18         };
19
20         enum {
21                 Inversion_Off, Inversion_On, Inversion_Unknown
22         };
23
24         enum {
25                 FEC_Auto=0, FEC_1_2=1, FEC_2_3=2, FEC_3_4=3, FEC_5_6=4, FEC_7_8=5, FEC_8_9=6, FEC_3_5=7, FEC_4_5=8, FEC_9_10=9, FEC_None=15,
26                 FEC_13_45=16, FEC_9_20=17, FEC_11_20=18, FEC_23_36=19, FEC_25_36=20,
27                 FEC_13_18=21, FEC_26_45=22, FEC_28_45=23, FEC_7_9=24, FEC_77_90=25,
28                 FEC_32_45=26, FEC_11_15=27, FEC_1_2_L=28, FEC_8_15_L=29, FEC_3_5_L=30,
29                 FEC_2_3_L=31, FEC_5_9_L=32, FEC_26_45_L=33
30         };
31
32         enum {
33                 System_DVB_S, System_DVB_S2, System_DVB_S2X
34         };
35
36         enum {
37                 Modulation_Auto, Modulation_QPSK, Modulation_8PSK, Modulation_QAM16, Modulation_16APSK, Modulation_32APSK, Modulation_8APSK
38         };
39
40         // dvb-s2
41         enum {
42                 RollOff_alpha_0_35, RollOff_alpha_0_25, RollOff_alpha_0_20
43         };
44
45         enum {
46                 Pilot_Off, Pilot_On, Pilot_Unknown
47         };
48
49         enum {
50                 PLS_Root, PLS_Gold, PLS_Combo, PLS_Unknown
51         };
52
53         bool no_rotor_command_on_tune;
54         unsigned int frequency, symbol_rate;
55         int polarisation, fec, inversion, orbital_position, system, modulation, rolloff, pilot, is_id, pls_mode, pls_code;
56 };
57 SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersSatellite);
58
59 struct eDVBFrontendParametersCable
60 {
61 #ifndef SWIG
62         void set(const CableDeliverySystemDescriptor  &);
63 #endif
64         enum {
65                 Inversion_Off, Inversion_On, Inversion_Unknown
66         };
67
68         enum {
69                 FEC_Auto, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_8_9, FEC_None=15
70         };
71
72         enum {
73                 Modulation_Auto, Modulation_QAM16, Modulation_QAM32, Modulation_QAM64, Modulation_QAM128, Modulation_QAM256
74         };
75
76         unsigned int frequency, symbol_rate;
77         int modulation, inversion, fec_inner;
78 };
79 SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersCable);
80
81 struct eDVBFrontendParametersTerrestrial
82 {
83 #ifndef SWIG
84         void set(const TerrestrialDeliverySystemDescriptor  &);
85         void set(const T2DeliverySystemDescriptor &);
86 #endif
87
88         enum {
89                 Bandwidth_8MHz, Bandwidth_7MHz, Bandwidth_6MHz, Bandwidth_Auto, Bandwidth_5MHz, Bandwidth_10MHz, Bandwidth_1_712MHz
90         };
91
92         enum {
93                 FEC_1_2, FEC_2_3, FEC_3_4, FEC_4_5, FEC_5_6, FEC_7_8, FEC_Auto, FEC_6_7, FEC_8_9
94         };
95
96         enum {
97                 TransmissionMode_2k, TransmissionMode_8k, TransmissionMode_Auto, TransmissionMode_4k, TransmissionMode_1k, TransmissionMode_16k, TransmissionMode_32k
98         };
99
100         enum {
101                 GuardInterval_1_32, GuardInterval_1_16, GuardInterval_1_8, GuardInterval_1_4, GuardInterval_Auto, GuardInterval_1_128, GuardInterval_19_128, GuardInterval_19_256
102         };
103
104         enum {
105                 Hierarchy_None, Hierarchy_1, Hierarchy_2, Hierarchy_4, Hierarchy_Auto
106         };
107
108         enum {
109                 Modulation_QPSK, Modulation_QAM16, Modulation_QAM64, Modulation_Auto, Modulation_QAM256
110         };
111
112         enum {
113                 Inversion_Off, Inversion_On, Inversion_Unknown
114         };
115
116         enum {
117                 System_DVB_T, System_DVB_T2
118         };
119
120         unsigned int frequency;
121         int bandwidth;
122         int code_rate_HP, code_rate_LP;
123         int modulation;
124         int transmission_mode;
125         int guard_interval;
126         int hierarchy;
127         int inversion;
128         int system;
129         int plpid;
130 };
131 SWIG_ALLOW_OUTPUT_SIMPLE(eDVBFrontendParametersTerrestrial);
132
133 #endif /* __lib_dvb_frontendparms_h */