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