Houston, we have a trunk.
[debian/gnuradio] / gr-atsc / src / lib / atsc.i
1 /* -*- c++ -*- */
2
3 %feature("autodoc", "1");                       // generate python docstrings
4
5 %include "exception.i"
6 %import "gnuradio.i"                            // the common stuff
7
8 %{
9 #include "gnuradio_swig_bug_workaround.h"       // mandatory bug fix
10 #include <stdexcept>
11 #include <atsc_randomizer.h>
12 #include <atsc_derandomizer.h>
13 #include <atsc_rs_encoder.h>
14 #include <atsc_rs_decoder.h>
15 #include <atsc_interleaver.h>
16 #include <atsc_deinterleaver.h>
17 #include <atsc_trellis_encoder.h>
18 #include <atsc_viterbi_decoder.h>
19 #include <atsc_ds_to_softds.h>
20 #include <atsc_field_sync_mux.h>
21 #include <atsc_field_sync_demux.h>
22 #include <atsc_equalizer.h>
23 #include <atsc_fs_checker.h>
24 #include <atsc_bit_timing_loop.h>
25 #include <atsc_fpll.h>
26 #include <atsc_depad.h>
27 %}
28
29 %include "atsc_consts.h"
30
31 %constant int sizeof_atsc_mpeg_packet = sizeof(atsc_mpeg_packet);
32 %constant int sizeof_atsc_mpeg_packet_no_sync = sizeof(atsc_mpeg_packet_no_sync);
33 %constant int sizeof_atsc_mpeg_packet_rs_encoded = sizeof(atsc_mpeg_packet_rs_encoded);
34 %constant int sizeof_atsc_data_segment = sizeof(atsc_data_segment);
35 %constant int sizeof_atsc_soft_data_segment = sizeof(atsc_soft_data_segment);
36
37 %constant int sizeof_atsc_mpeg_packet_pad = atsc_mpeg_packet::NPAD;
38 %constant int sizeof_atsc_mpeg_packet_no_sync_pad = atsc_mpeg_packet_no_sync::NPAD;
39 %constant int sizeof_atsc_mpeg_packet_rs_encoded_pad = atsc_mpeg_packet_rs_encoded::NPAD;
40 %constant int sizeof_atsc_data_segment_pad = atsc_data_segment::NPAD;
41 %constant int sizeof_atsc_soft_data_segment_pad = atsc_soft_data_segment::NPAD;
42
43 // ----------------------------------------------------------------
44
45 GR_SWIG_BLOCK_MAGIC(atsc,randomizer);
46
47 atsc_randomizer_sptr atsc_make_randomizer();
48
49 class atsc_randomizer : public gr_sync_block
50 {
51   atsc_randomizer();
52
53 public:
54   void reset();
55 };
56
57 // ----------------------------------------------------------------
58
59 GR_SWIG_BLOCK_MAGIC(atsc,derandomizer);
60
61 atsc_derandomizer_sptr atsc_make_derandomizer();
62
63 class atsc_derandomizer : public gr_sync_block
64 {
65   atsc_derandomizer();
66
67 public:
68   void reset();
69 };
70
71 // ----------------------------------------------------------------
72
73 GR_SWIG_BLOCK_MAGIC(atsc,rs_encoder);
74
75 atsc_rs_encoder_sptr atsc_make_rs_encoder();
76
77 class atsc_rs_encoder : public gr_sync_block
78 {
79   atsc_rs_encoder();
80
81 public:
82   void reset();
83 };
84
85 // ----------------------------------------------------------------
86
87 GR_SWIG_BLOCK_MAGIC(atsc,rs_decoder);
88
89 atsc_rs_decoder_sptr atsc_make_rs_decoder();
90
91 class atsc_rs_decoder : public gr_sync_block
92 {
93   atsc_rs_decoder();
94
95 public:
96   void reset();
97 };
98
99 // ----------------------------------------------------------------
100
101 GR_SWIG_BLOCK_MAGIC(atsc,interleaver);
102
103 atsc_interleaver_sptr atsc_make_interleaver();
104
105 class atsc_interleaver : public gr_sync_block
106 {
107   atsc_interleaver();
108
109 public:
110   void reset();
111 };
112
113 // ----------------------------------------------------------------
114
115 GR_SWIG_BLOCK_MAGIC(atsc,deinterleaver);
116
117 atsc_deinterleaver_sptr atsc_make_deinterleaver();
118
119 class atsc_deinterleaver : public gr_sync_block
120 {
121   atsc_deinterleaver();
122
123 public:
124   void reset();
125 };
126
127 // ----------------------------------------------------------------
128
129 GR_SWIG_BLOCK_MAGIC(atsc,trellis_encoder);
130
131 atsc_trellis_encoder_sptr atsc_make_trellis_encoder();
132
133 class atsc_trellis_encoder : public gr_sync_block
134 {
135   atsc_trellis_encoder();
136
137 public:
138   void reset();
139 };
140
141 // ----------------------------------------------------------------
142
143 GR_SWIG_BLOCK_MAGIC(atsc,viterbi_decoder);
144
145 atsc_viterbi_decoder_sptr atsc_make_viterbi_decoder();
146
147 class atsc_viterbi_decoder : public gr_sync_block
148 {
149   atsc_viterbi_decoder();
150
151 public:
152   void reset();
153 };
154
155 // ----------------------------------------------------------------
156
157 GR_SWIG_BLOCK_MAGIC(atsc,ds_to_softds);
158
159 atsc_ds_to_softds_sptr atsc_make_ds_to_softds();
160
161 class atsc_ds_to_softds : public gr_sync_block
162 {
163   atsc_ds_to_softds();
164
165 public:
166   void reset();
167 };
168
169 // ----------------------------------------------------------------
170
171 GR_SWIG_BLOCK_MAGIC(atsc,field_sync_mux);
172
173 atsc_field_sync_mux_sptr atsc_make_field_sync_mux();
174
175 class atsc_field_sync_mux : public gr_sync_block
176 {
177   atsc_field_sync_mux();
178
179 public:
180   void reset();
181 };
182
183 // ----------------------------------------------------------------
184
185 GR_SWIG_BLOCK_MAGIC(atsc,field_sync_demux);
186
187 atsc_field_sync_demux_sptr atsc_make_field_sync_demux();
188
189 class atsc_field_sync_demux : public gr_sync_decimator
190 {
191   atsc_field_sync_demux();
192
193 public:
194   void reset();
195 };
196
197 // ----------------------------------------------------------------
198
199 GR_SWIG_BLOCK_MAGIC(atsc,equalizer);
200
201 atsc_equalizer_sptr atsc_make_equalizer();
202
203 class atsc_equalizer : public gr_sync_block
204 {
205   atsc_equalizer();
206
207 public:
208   void reset();
209 };
210
211 // ----------------------------------------------------------------
212
213 GR_SWIG_BLOCK_MAGIC(atsc,fs_checker);
214
215 atsc_fs_checker_sptr atsc_make_fs_checker();
216
217 class atsc_fs_checker : public gr_sync_block
218 {
219   atsc_fs_checker();
220
221 public:
222   void reset();
223 };
224
225 // ----------------------------------------------------------------
226
227 GR_SWIG_BLOCK_MAGIC(atsc,bit_timing_loop);
228
229 atsc_bit_timing_loop_sptr atsc_make_bit_timing_loop();
230
231 class atsc_bit_timing_loop : public gr_block
232 {
233   atsc_bit_timing_loop();
234
235 public:
236   void reset();
237 };
238
239 // ----------------------------------------------------------------
240
241 GR_SWIG_BLOCK_MAGIC(atsc,fpll);
242
243 atsc_fpll_sptr atsc_make_fpll();
244
245 class atsc_fpll : public gr_sync_block
246 {
247   atsc_fpll();
248
249 public:
250   void reset();
251
252 };
253
254 // ----------------------------------------------------------------
255
256 GR_SWIG_BLOCK_MAGIC(atsc,depad);
257
258 atsc_depad_sptr atsc_make_depad();
259
260 class atsc_depad : public gr_sync_interpolator
261 {
262   atsc_depad();
263
264 public:
265   void reset();
266
267 };
268
269 // ----------------------------------------------------------------