blob: 9e563b160af66b4986fdd5c167b6001b2e7e37f3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
/*
* Copyright 2020 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
*/
#include <pybind11/pybind11.h>
#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
#include <numpy/arrayobject.h>
namespace py = pybind11;
void bind_atsc_consts(py::module&);
void bind_atsc_deinterleaver(py::module&);
void bind_atsc_depad(py::module&);
void bind_atsc_derandomizer(py::module&);
void bind_atsc_equalizer(py::module&);
void bind_atsc_field_sync_mux(py::module&);
void bind_atsc_fpll(py::module&);
void bind_atsc_fs_checker(py::module&);
void bind_atsc_interleaver(py::module&);
void bind_atsc_pad(py::module&);
void bind_atsc_randomizer(py::module&);
void bind_atsc_rs_decoder(py::module&);
void bind_atsc_rs_encoder(py::module&);
void bind_atsc_sync(py::module&);
void bind_atsc_trellis_encoder(py::module&);
void bind_atsc_viterbi_decoder(py::module&);
void bind_catv_config(py::module&);
void bind_catv_frame_sync_enc_bb(py::module&);
void bind_catv_randomizer_bb(py::module&);
void bind_catv_reed_solomon_enc_bb(py::module&);
void bind_catv_transport_framing_enc_bb(py::module&);
void bind_catv_trellis_enc_bb(py::module&);
void bind_dvb_bbheader_bb(py::module&);
void bind_dvb_bbscrambler_bb(py::module&);
void bind_dvb_bch_bb(py::module&);
void bind_dvb_config(py::module&);
void bind_dvb_ldpc_bb(py::module&);
void bind_dvbs2_config(py::module&);
void bind_dvbs2_interleaver_bb(py::module&);
void bind_dvbs2_modulator_bc(py::module&);
void bind_dvbs2_physical_cc(py::module&);
void bind_dvbt2_cellinterleaver_cc(py::module&);
void bind_dvbt2_config(py::module&);
void bind_dvbt2_framemapper_cc(py::module&);
void bind_dvbt2_freqinterleaver_cc(py::module&);
void bind_dvbt2_interleaver_bb(py::module&);
void bind_dvbt2_miso_cc(py::module&);
void bind_dvbt2_modulator_bc(py::module&);
void bind_dvbt2_p1insertion_cc(py::module&);
void bind_dvbt2_paprtr_cc(py::module&);
void bind_dvbt2_pilotgenerator_cc(py::module&);
void bind_dvbt_bit_inner_deinterleaver(py::module&);
void bind_dvbt_bit_inner_interleaver(py::module&);
void bind_dvbt_config(py::module&);
void bind_dvbt_convolutional_deinterleaver(py::module&);
void bind_dvbt_convolutional_interleaver(py::module&);
void bind_dvbt_demap(py::module&);
void bind_dvbt_demod_reference_signals(py::module&);
void bind_dvbt_energy_descramble(py::module&);
void bind_dvbt_energy_dispersal(py::module&);
void bind_dvbt_inner_coder(py::module&);
void bind_dvbt_map(py::module&);
void bind_dvbt_ofdm_sym_acquisition(py::module&);
void bind_dvbt_reed_solomon_dec(py::module&);
void bind_dvbt_reed_solomon_enc(py::module&);
void bind_dvbt_reference_signals(py::module&);
void bind_dvbt_symbol_inner_interleaver(py::module&);
void bind_dvbt_viterbi_decoder(py::module&);
// We need this hack because import_array() returns NULL
// for newer Python versions.
// This function is also necessary because it ensures access to the C API
// and removes a warning.
void* init_numpy()
{
import_array();
return NULL;
}
PYBIND11_MODULE(dtv_python, m)
{
// Initialize the numpy C API
// (otherwise we will see segmentation faults)
init_numpy();
// Allow access to base block methods
py::module::import("gnuradio.gr");
bind_atsc_consts(m);
bind_atsc_deinterleaver(m);
bind_atsc_depad(m);
bind_atsc_derandomizer(m);
bind_atsc_equalizer(m);
bind_atsc_field_sync_mux(m);
bind_atsc_fpll(m);
bind_atsc_fs_checker(m);
bind_atsc_interleaver(m);
bind_atsc_pad(m);
bind_atsc_randomizer(m);
bind_atsc_rs_decoder(m);
bind_atsc_rs_encoder(m);
bind_atsc_sync(m);
bind_atsc_trellis_encoder(m);
bind_atsc_viterbi_decoder(m);
bind_catv_config(m);
bind_catv_frame_sync_enc_bb(m);
bind_catv_randomizer_bb(m);
bind_catv_reed_solomon_enc_bb(m);
bind_catv_transport_framing_enc_bb(m);
bind_catv_trellis_enc_bb(m);
bind_dvb_bbheader_bb(m);
bind_dvb_bbscrambler_bb(m);
bind_dvb_bch_bb(m);
bind_dvb_config(m);
bind_dvb_ldpc_bb(m);
bind_dvbs2_config(m);
bind_dvbs2_interleaver_bb(m);
bind_dvbs2_modulator_bc(m);
bind_dvbs2_physical_cc(m);
bind_dvbt2_cellinterleaver_cc(m);
bind_dvbt2_config(m);
bind_dvbt2_framemapper_cc(m);
bind_dvbt2_freqinterleaver_cc(m);
bind_dvbt2_interleaver_bb(m);
bind_dvbt2_miso_cc(m);
bind_dvbt2_modulator_bc(m);
bind_dvbt2_p1insertion_cc(m);
bind_dvbt2_paprtr_cc(m);
bind_dvbt2_pilotgenerator_cc(m);
bind_dvbt_bit_inner_deinterleaver(m);
bind_dvbt_bit_inner_interleaver(m);
bind_dvbt_config(m);
bind_dvbt_convolutional_deinterleaver(m);
bind_dvbt_convolutional_interleaver(m);
bind_dvbt_demap(m);
bind_dvbt_demod_reference_signals(m);
bind_dvbt_energy_descramble(m);
bind_dvbt_energy_dispersal(m);
bind_dvbt_inner_coder(m);
bind_dvbt_map(m);
bind_dvbt_ofdm_sym_acquisition(m);
bind_dvbt_reed_solomon_dec(m);
bind_dvbt_reed_solomon_enc(m);
bind_dvbt_reference_signals(m);
bind_dvbt_symbol_inner_interleaver(m);
bind_dvbt_viterbi_decoder(m);
}
|