summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gr-dtv/include/gnuradio/dtv/dvb_bbheader_bb.h18
-rw-r--r--gr-dtv/include/gnuradio/dtv/dvb_bbscrambler_bb.h11
-rw-r--r--gr-dtv/include/gnuradio/dtv/dvb_bch_bb.h11
-rw-r--r--gr-dtv/include/gnuradio/dtv/dvb_config.h34
-rw-r--r--gr-dtv/include/gnuradio/dtv/dvb_ldpc_bb.h11
-rw-r--r--gr-dtv/lib/CMakeLists.txt8
-rw-r--r--gr-dtv/lib/dvb/dvb_bbheader_bb_impl.cc (renamed from gr-dtv/lib/common/dvb_bbheader_bb_impl.cc)0
-rw-r--r--gr-dtv/lib/dvb/dvb_bbheader_bb_impl.h (renamed from gr-dtv/lib/common/dvb_bbheader_bb_impl.h)1
-rw-r--r--gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.cc (renamed from gr-dtv/lib/common/dvb_bbscrambler_bb_impl.cc)0
-rw-r--r--gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.h (renamed from gr-dtv/lib/common/dvb_bbscrambler_bb_impl.h)1
-rw-r--r--gr-dtv/lib/dvb/dvb_bch_bb_impl.cc (renamed from gr-dtv/lib/common/dvb_bch_bb_impl.cc)0
-rw-r--r--gr-dtv/lib/dvb/dvb_bch_bb_impl.h (renamed from gr-dtv/lib/common/dvb_bch_bb_impl.h)1
-rw-r--r--gr-dtv/lib/dvb/dvb_defines.h59
-rw-r--r--gr-dtv/lib/dvb/dvb_ldpc_bb_impl.cc (renamed from gr-dtv/lib/common/dvb_ldpc_bb_impl.cc)0
-rw-r--r--gr-dtv/lib/dvb/dvb_ldpc_bb_impl.h (renamed from gr-dtv/lib/common/dvb_ldpc_bb_impl.h)1
15 files changed, 110 insertions, 46 deletions
diff --git a/gr-dtv/include/gnuradio/dtv/dvb_bbheader_bb.h b/gr-dtv/include/gnuradio/dtv/dvb_bbheader_bb.h
index ca1f27e700..48b6b4c5e0 100644
--- a/gr-dtv/include/gnuradio/dtv/dvb_bbheader_bb.h
+++ b/gr-dtv/include/gnuradio/dtv/dvb_bbheader_bb.h
@@ -31,9 +31,14 @@ namespace gr {
namespace dtv {
/*!
- * \brief <+description of block+>
+ * \brief Formats MPEG-2 Transport Stream packets into FEC baseband frames
+ * and adds a 10-byte header.
* \ingroup dtv
*
+ * \details
+ * Input: 188-byte MPEG-2 Transport Stream packets.
+ * Output: Variable length FEC baseband frames (BBFRAME). The output frame
+ * length is based on the FEC rate.
*/
class DTV_API dvb_bbheader_bb : virtual public gr::block
{
@@ -41,7 +46,16 @@ namespace gr {
typedef boost::shared_ptr<dvb_bbheader_bb> sptr;
/*!
- * \brief Return a shared_ptr to a new instance of dtv::dvb_bbheader_bb.
+ * \brief Create a baseband header formatter.
+ *
+ * \param standard DVB standard (DVB-S2 or DVB-T2).
+ * \param framesize FEC frame size (normal or short).
+ * \param rate FEC code rate.
+ * \param rolloff DVB-S2 root-raised-cosine filter roll-off.
+ * \param mode DVB-T2 input processing mode.
+ * \param inband DVB-T2 Type B in-band signalling.
+ * \param fecblocks DVB-T2 number of FEC block for in-band signalling.
+ * \param tsrate DVB-T2 Transport Stream rate for in-band signalling.
*/
static sptr make(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate, dvbs2_rolloff_factor_t rolloff, dvbt2_inputmode_t mode, dvbt2_inband_t inband, int fecblocks, int tsrate);
};
diff --git a/gr-dtv/include/gnuradio/dtv/dvb_bbscrambler_bb.h b/gr-dtv/include/gnuradio/dtv/dvb_bbscrambler_bb.h
index 39fadab012..dc14f55186 100644
--- a/gr-dtv/include/gnuradio/dtv/dvb_bbscrambler_bb.h
+++ b/gr-dtv/include/gnuradio/dtv/dvb_bbscrambler_bb.h
@@ -29,9 +29,12 @@ namespace gr {
namespace dtv {
/*!
- * \brief <+description of block+>
+ * \brief Scrambles FEC baseband frames with a PRBS encoder.
* \ingroup dtv
*
+ * \details
+ * Input: Variable length FEC baseband frames (BBFRAME).
+ * Output: Scrambled variable length FEC baseband frames (BBFRAME).
*/
class DTV_API dvb_bbscrambler_bb : virtual public gr::sync_block
{
@@ -39,7 +42,11 @@ namespace gr {
typedef boost::shared_ptr<dvb_bbscrambler_bb> sptr;
/*!
- * \brief Return a shared_ptr to a new instance of dtv::dvb_bbscrambler_bb.
+ * \brief Create a baseband frame scrambler.
+ *
+ * \param standard DVB standard (DVB-S2 or DVB-T2).
+ * \param framesize FEC frame size (normal or short).
+ * \param rate FEC code rate.
*/
static sptr make(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate);
};
diff --git a/gr-dtv/include/gnuradio/dtv/dvb_bch_bb.h b/gr-dtv/include/gnuradio/dtv/dvb_bch_bb.h
index 9cb7735cee..31dff47268 100644
--- a/gr-dtv/include/gnuradio/dtv/dvb_bch_bb.h
+++ b/gr-dtv/include/gnuradio/dtv/dvb_bch_bb.h
@@ -30,9 +30,12 @@ namespace gr {
namespace dtv {
/*!
- * \brief <+description of block+>
+ * \brief Encodes a BCH ((Bose, Chaudhuri, Hocquenghem) FEC.
* \ingroup dtv
*
+ * \details
+ * Input: Variable length FEC baseband frames (BBFRAME).
+ * Output: Variable length FEC baseband frames with appended BCH (BCHFEC).
*/
class DTV_API dvb_bch_bb : virtual public gr::block
{
@@ -40,7 +43,11 @@ namespace gr {
typedef boost::shared_ptr<dvb_bch_bb> sptr;
/*!
- * \brief Return a shared_ptr to a new instance of dtv::dvb_bch_bb.
+ * \brief Create a baseband frame BCH encoder.
+ *
+ * \param standard DVB standard (DVB-S2 or DVB-T2).
+ * \param framesize FEC frame size (normal or short).
+ * \param rate FEC code rate.
*/
static sptr make(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate);
};
diff --git a/gr-dtv/include/gnuradio/dtv/dvb_config.h b/gr-dtv/include/gnuradio/dtv/dvb_config.h
index 40907d1484..d08c9c882e 100644
--- a/gr-dtv/include/gnuradio/dtv/dvb_config.h
+++ b/gr-dtv/include/gnuradio/dtv/dvb_config.h
@@ -21,40 +21,6 @@
#ifndef INCLUDED_DTV_DVB_CONFIG_H
#define INCLUDED_DTV_DVB_CONFIG_H
-#define TRUE 1
-#define FALSE 0
-
-#define BB_HEADER_LENGTH_BITS 72
-
-// BB HEADER fields
-#define TS_GS_TRANSPORT 3
-#define TS_GS_GENERIC_PACKETIZED 0
-#define TS_GS_GENERIC_CONTINUOUS 1
-#define TS_GS_RESERVED 2
-
-#define SIS_MIS_SINGLE 1
-#define SIS_MIS_MULTIPLE 0
-
-#define CCM 1
-#define ACM 0
-
-#define ISSYI_ACTIVE 1
-#define ISSYI_NOT_ACTIVE 0
-
-#define NPD_ACTIVE 1
-#define NPD_NOT_ACTIVE 0
-
-#define FRAME_SIZE_NORMAL 64800
-#define FRAME_SIZE_SHORT 16200
-
-// BCH Code
-#define BCH_CODE_N8 0
-#define BCH_CODE_N10 1
-#define BCH_CODE_N12 2
-#define BCH_CODE_S12 3
-
-#define LDPC_ENCODE_TABLE_LENGTH (FRAME_SIZE_NORMAL * 10)
-
namespace gr {
namespace dtv {
enum dvb_standard_t {
diff --git a/gr-dtv/include/gnuradio/dtv/dvb_ldpc_bb.h b/gr-dtv/include/gnuradio/dtv/dvb_ldpc_bb.h
index b8a059c63d..76923a80b1 100644
--- a/gr-dtv/include/gnuradio/dtv/dvb_ldpc_bb.h
+++ b/gr-dtv/include/gnuradio/dtv/dvb_ldpc_bb.h
@@ -29,9 +29,11 @@ namespace gr {
namespace dtv {
/*!
- * \brief <+description of block+>
+ * \brief Encodes a LDPC (Low-Density Parity-Check) FEC.
* \ingroup dtv
*
+ * Input: Variable length FEC baseband frames with appended BCH (BCHFEC).
+ * Output: Normal or short FEC baseband frames with appended LPDC (LDPCFEC).
*/
class DTV_API dvb_ldpc_bb : virtual public gr::block
{
@@ -39,7 +41,12 @@ namespace gr {
typedef boost::shared_ptr<dvb_ldpc_bb> sptr;
/*!
- * \brief Return a shared_ptr to a new instance of dtv::dvb_ldpc_bb.
+ * \brief Create a baseband frame LDPC encoder.
+ *
+ * \param standard DVB standard (DVB-S2 or DVB-T2).
+ * \param framesize FEC frame size (normal or short).
+ * \param rate FEC code rate.
+ * \param constellation DVB-S2 constellation.
*/
static sptr make(dvb_standard_t standard, dvb_framesize_t framesize, dvb_code_rate_t rate, dvb_constellation_t constellation);
};
diff --git a/gr-dtv/lib/CMakeLists.txt b/gr-dtv/lib/CMakeLists.txt
index ed158a703e..a17a0fba7a 100644
--- a/gr-dtv/lib/CMakeLists.txt
+++ b/gr-dtv/lib/CMakeLists.txt
@@ -77,10 +77,10 @@ list(APPEND dtv_sources
atsc/atsc_basic_trellis_encoder.cc
atsc/atsc_trellis_encoder_impl.cc
atsc/atsc_field_sync_mux_impl.cc
- common/dvb_bbheader_bb_impl.cc
- common/dvb_bbscrambler_bb_impl.cc
- common/dvb_bch_bb_impl.cc
- common/dvb_ldpc_bb_impl.cc
+ dvb/dvb_bbheader_bb_impl.cc
+ dvb/dvb_bbscrambler_bb_impl.cc
+ dvb/dvb_bch_bb_impl.cc
+ dvb/dvb_ldpc_bb_impl.cc
)
if(ENABLE_GR_CTRLPORT)
diff --git a/gr-dtv/lib/common/dvb_bbheader_bb_impl.cc b/gr-dtv/lib/dvb/dvb_bbheader_bb_impl.cc
index e0c80ea304..e0c80ea304 100644
--- a/gr-dtv/lib/common/dvb_bbheader_bb_impl.cc
+++ b/gr-dtv/lib/dvb/dvb_bbheader_bb_impl.cc
diff --git a/gr-dtv/lib/common/dvb_bbheader_bb_impl.h b/gr-dtv/lib/dvb/dvb_bbheader_bb_impl.h
index 89bd37b713..97e0751757 100644
--- a/gr-dtv/lib/common/dvb_bbheader_bb_impl.h
+++ b/gr-dtv/lib/dvb/dvb_bbheader_bb_impl.h
@@ -22,6 +22,7 @@
#define INCLUDED_DTV_DVB_BBHEADER_BB_IMPL_H
#include <gnuradio/dtv/dvb_bbheader_bb.h>
+#include "dvb_defines.h"
typedef struct{
int ts_gs;
diff --git a/gr-dtv/lib/common/dvb_bbscrambler_bb_impl.cc b/gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.cc
index 46a8d78976..46a8d78976 100644
--- a/gr-dtv/lib/common/dvb_bbscrambler_bb_impl.cc
+++ b/gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.cc
diff --git a/gr-dtv/lib/common/dvb_bbscrambler_bb_impl.h b/gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.h
index b31fbf1753..d717731502 100644
--- a/gr-dtv/lib/common/dvb_bbscrambler_bb_impl.h
+++ b/gr-dtv/lib/dvb/dvb_bbscrambler_bb_impl.h
@@ -22,6 +22,7 @@
#define INCLUDED_DTV_DVB_BBSCRAMBLER_BB_IMPL_H
#include <gnuradio/dtv/dvb_bbscrambler_bb.h>
+#include "dvb_defines.h"
namespace gr {
namespace dtv {
diff --git a/gr-dtv/lib/common/dvb_bch_bb_impl.cc b/gr-dtv/lib/dvb/dvb_bch_bb_impl.cc
index f035750f3c..f035750f3c 100644
--- a/gr-dtv/lib/common/dvb_bch_bb_impl.cc
+++ b/gr-dtv/lib/dvb/dvb_bch_bb_impl.cc
diff --git a/gr-dtv/lib/common/dvb_bch_bb_impl.h b/gr-dtv/lib/dvb/dvb_bch_bb_impl.h
index ef06b4fbcf..5cba0a10ff 100644
--- a/gr-dtv/lib/common/dvb_bch_bb_impl.h
+++ b/gr-dtv/lib/dvb/dvb_bch_bb_impl.h
@@ -22,6 +22,7 @@
#define INCLUDED_DTV_DVB_BCH_BB_IMPL_H
#include <gnuradio/dtv/dvb_bch_bb.h>
+#include "dvb_defines.h"
namespace gr {
namespace dtv {
diff --git a/gr-dtv/lib/dvb/dvb_defines.h b/gr-dtv/lib/dvb/dvb_defines.h
new file mode 100644
index 0000000000..2c2603af6a
--- /dev/null
+++ b/gr-dtv/lib/dvb/dvb_defines.h
@@ -0,0 +1,59 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2015 Free Software Foundation, Inc.
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this software; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef INCLUDED_DTV_DVB_DEFINES_H
+#define INCLUDED_DTV_DVB_DEFINES_H
+
+#define TRUE 1
+#define FALSE 0
+
+#define BB_HEADER_LENGTH_BITS 72
+
+// BB HEADER fields
+#define TS_GS_TRANSPORT 3
+#define TS_GS_GENERIC_PACKETIZED 0
+#define TS_GS_GENERIC_CONTINUOUS 1
+#define TS_GS_RESERVED 2
+
+#define SIS_MIS_SINGLE 1
+#define SIS_MIS_MULTIPLE 0
+
+#define CCM 1
+#define ACM 0
+
+#define ISSYI_ACTIVE 1
+#define ISSYI_NOT_ACTIVE 0
+
+#define NPD_ACTIVE 1
+#define NPD_NOT_ACTIVE 0
+
+#define FRAME_SIZE_NORMAL 64800
+#define FRAME_SIZE_SHORT 16200
+
+// BCH Code
+#define BCH_CODE_N8 0
+#define BCH_CODE_N10 1
+#define BCH_CODE_N12 2
+#define BCH_CODE_S12 3
+
+#define LDPC_ENCODE_TABLE_LENGTH (FRAME_SIZE_NORMAL * 10)
+
+#endif /* INCLUDED_DTV_DVB_DEFINES_H */
+
diff --git a/gr-dtv/lib/common/dvb_ldpc_bb_impl.cc b/gr-dtv/lib/dvb/dvb_ldpc_bb_impl.cc
index c1738e1245..c1738e1245 100644
--- a/gr-dtv/lib/common/dvb_ldpc_bb_impl.cc
+++ b/gr-dtv/lib/dvb/dvb_ldpc_bb_impl.cc
diff --git a/gr-dtv/lib/common/dvb_ldpc_bb_impl.h b/gr-dtv/lib/dvb/dvb_ldpc_bb_impl.h
index 510fb2dd3b..3510ddf083 100644
--- a/gr-dtv/lib/common/dvb_ldpc_bb_impl.h
+++ b/gr-dtv/lib/dvb/dvb_ldpc_bb_impl.h
@@ -22,6 +22,7 @@
#define INCLUDED_DTV_DVB_LDPC_BB_IMPL_H
#include <gnuradio/dtv/dvb_ldpc_bb.h>
+#include "dvb_defines.h"
typedef struct{
int table_length;