summaryrefslogtreecommitdiff
path: root/gr-dtv
Commit message (Collapse)AuthorAgeFilesLines
* Move from SWIG to Pybind11Marcus Müller2020-06-19127-323/+4670
|\ | | | | | | | | | | Goodbye, and thanks for all the fish, SWIG. Please refer to docs/PYBIND11.md for details on how to deal with Pybind.
| * pybind: add hash check to binding file creation (#3472)mormj2020-06-0459-59/+523
| |
| * dtv: add pybind11 bindingsJosh Morman2020-06-04121-10/+4206
| |
| * pybind: removal of swig componentsJosh Morman2020-06-046-313/+0
| |
* | gr-dtv: Decrease send_frame_size in all examples with a UHD sink block.Ron Economos2020-06-1137-444/+2847
| | | | | | | | | | UHD no longer supports large send_frame_size values after v3.13.0.3-rc1. Large values will cause "Got a ctrl packet with unknown SID" errors.
* | gr-dtv: Move costly integer divides out of loops in DVB-T2 interleaver.Ron Economos2020-06-111-5/+9
| |
* | gr-dtv: Take advantage of data cache with memcpy() in BCH encoder.Ron Economos2020-06-111-2/+4
| |
* | gr-dtv: Remove unnecessary memset() in LDPC encoder.Ron Economos2020-06-111-2/+0
|/
* gr-dtv: Align DVB scrambler lookup table for 64-bit access.Ron Economos2020-04-271-1/+1
|
* gr-dtv: added GRC C++ generationNicholas Corgan2020-04-2152-0/+766
|
* gr-dtv: Split dtv_swig.i file for less compiler memory usage.Ron Economos2020-04-206-198/+289
|
* dtv: replace stderr logging by calls to GR's logging faciltiesMarcus Müller2020-04-134-29/+28
| | | | | This is but a first step; a lot of code in gr-dtv is very much libc in C++, thus we'll have a lot of printf's to deal with in the future.
* Remove VOLK as a submoduleMartin Braun2020-04-112-2/+1
| | | | | | | | | | | | | | This removes the volk/ submodule pointer and updates the CMake to detect VOLK like any other dependency. The VOLK_MIN_VERSION CMake variable is added (and set to 2.1.0). The GR_VOLK_LIB variable is replaced with Volk::volk everywhere. The VOLK_INSTALL_LIBRARY_DIR and VOLK_INSTALL_INCLUDE_DIR variables weren't used and were removed. CMake will now fail if VOLK cannot be detected. Therefore, ENABLE_VOLK was also removed as a variable; all in-tree components may assume the existence of VOLK.
* global: remove boost ptr headers not neededThomas Habets2020-04-091-2/+0
|
* Switch from boost pointers to std C++11 pointersThomas Habets2020-04-0152-52/+52
| | | | | | | | | | | | | | | | | | | Most of this code is automated code changes: ``` set -e SUB="s/dummy/dummy/" for i in shared_ptr make_shared dynamic_pointer_cast weak_ptr enable_shared_from_this get_deleter; do SUB="$SUB;s/boost::$i/std::$i/g" done SUB="$SUB;s^#include <boost/shared_ptr.hpp>^#include <memory>^g" SUB="$SUB;s^namespace boost^namespace std^g" find . \( -name "*.cc" -o -name "*.h" -o -name "*.i" -o -name "*.cxx" -o -name "*.py" \) -print0 | xargs -0 sed -i "$SUB" ``` Only one manual change. In `./gr-fec/lib/fec_mtrx_impl.cc`, add `#include <algorithm>`.
* Change assert to static_assert, where possibleThomas Habets2020-03-201-3/+4
| | | | | These are all ones I could find, so assert->static_assert should now be done.
* dtv: change const to constexprThomas Habets2020-03-201-1/+1
| | | | This is needed to convert assert to static_assert.
* gr-dtv: Add QA test for DVB and DVB-T2 blocks.Ron Economos2020-03-103-1/+147
|
* gr-digital: Improve PLL Loops and Clock Recoveryghostop142020-02-151-6/+1
| | | | | | | These updates incorporate the same inlining of loop functions and the newly pushed fast_cc_multiply function to ensure consistent performance improvements across systems that do not support the cx-limited-range compiler parameter (Macs and Windows).
* gr-dtv: Use new FFT allocation scheme for DVB-T2 blocks.Ron Economos2020-02-136-93/+66
|
* dtv: enhance ATSC RX exampledevnulling2020-02-102-33/+72
|
* gr-dtv: Optimize DVB-T transmitter by consolidating blocks.Ron Economos2020-02-094-297/+136
| | | | Move IFFT and normalization to Reference Signals block.
* gr-dtv: Detect missing data field syncs and reset pipeline.Ron Economos2020-02-081-2/+9
|
* Fix ATSC Flowgraphs and Allow Realtime Viewingghostop142020-02-044-329/+456
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ATSC RX flowgraph has been fixed to allow for proper decoding. The original flowgraph had rate mismatches between the RX filter and the FPLL block that prevented proper decoding. This version also has a number of performance enhancements that ultimately allow the stream to be watched in real-time. These changes capitalize on new PRs for GR master branch. The ATSC RX filter was broken into its 2 respective parts (an RRC block and a resampler). The RRC block now uses the faster FFT RRC convenience wrapper, and the PFB arb resampler was crushing performance. So the sampling rate was adjusted to match the ATSC symbol rate*sps. This removed the need for a resampler altogether, significantly reducing CPU load. Processor core affinity based on a GRCon17 presentation was also applied to separate out blocks and prevent thread migration. Some cleanup was also done in the FPLL receiver block. Note that in using this in real-time, performance enhancements in PR 3076 that has not been merged into master yet are also important. The FPLL loop has some speedups due to the inlining of the NCO and sincos functions, and takes advantage of the already-merged cx_limited_range performance improvement in the FPLL loop too. An additional change to support fast CC multiply on systems that do not support the cx_limited_range compiler flag can be incorporated once 3076 is merged. This block also is better annotated for others to understand some of the design choices. Ultimately with the networking block in grnet, smplayer can be pointed at the flowgraph and TV watched in real-time. See the flowgraph for additional notes.
* Update license header to SPDX formatdevnulling2020-01-27194-2523/+194
|
* gr-dtv: add missing std::nothrowValerii Zapodovnikov2020-01-261-1/+1
|
* examples: fixup cmake files to include all examplesdevnulling2020-01-221-17/+18
|
* dtv: fix chooser default value for uhd_atsc exampleJosh Morman2020-01-211-8/+118
|
* gr-dtv: atsc_equalizer_impl: bool not intValerii Zapodovnikov2020-01-171-1/+1
| | | | The 'true' and 'false' values are implicitly cast to the integer type. See atsc_equalizer_impl.cc
* Fix all formatting issuesMartin Braun2020-01-104-10/+12
| | | | | This fixes every leftover file in the GNU Radio source tree to match our clang-format definition.
* Replace many `const` variables with `constexpr`Thomas Habets2020-01-0413-56/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | constexpr is like const but (for variables) guarantees evaluation at compile time (as opposed to runtime). Likely this change will do nothing on its own (though it could, since it gives the compiler more information). But it still has benefits. It allows programmer to know that initialization is not expensive (it was done at compile time), and reduces risk of a refactoring regressing the compiletimeness. Runtime initialization can be nonobvious in larger codebases. E.g.: struct S { static int foo(); }; const int bar = S::foo(); // Called and initialized at *runtime*. int S::foo() { return 10; } With constexpr: struct S { static constexpr int foo(); }; constexpr int bar = S::foo(); // Error: used before definition. constexpr int S::foo() { return 10; } Initializing at runtime is not just startup costs, but also can save memory since it'll end up in a R/O section of a binary and therefore doesn't need to be swapped out, but can be shared (in the mmap() sense of the word).
* DTV: LDPC encoder: refactoringMarcus Müller2019-09-292-235/+240
| | | | | | | | | | | | | * use uint16_t instead of int for tables * half the storage: should increase cache locality significantly * prefer unsigned types for unsigned jobs (here: indexing) * convert humongous macro to template function * type safety * found and eliminated unused variables * cleaner code * better compiler warnings NB: This class came without ANY tests.
* delete unused variablesBastian Bloessl2019-09-053-5/+1
|
* clang-tidy in gnuradio-runtime: use empty() instead of size()!=0Marcus Müller2019-08-223-3/+3
|
* Fix for more misc typosluz.paz2019-08-103-4/+4
|
* clang-format: Ordering all the includesMarcus Müller2019-08-09103-113/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clang-format: ordering includes in gnuradio-runtime clang-format: ordering includes in gr-filter clang-format: ordering includes in gr-fft clang-format: ordering includes in gr-audio clang-format: ordering includes in gr-analog clang-format: ordering includes in gr-fec clang-format: ordering includes in gr-wavelet clang-format: ordering includes in gr-zeromq clang-format: ordering includes in gr-vocoder clang-format: ordering includes in gr-video-sdl clang-format: ordering includes in gr-trellis clang-format: ordering includes in gr-blocks clang-format: ordering includes in gr-digital clang-format: ordering includes in gr-uhd clang-format: ordering includes in gr-dtv clang-format: ordering includes in gr-channels clang-format: ordering includes in gr-qtgui clang_format.py: re-enable include reordering
* Tree: clang-format without the include sortingMarcus Müller2019-08-09181-27931/+34112
|
* dtv: Remove superfluous set_relative_rate() in DVB-T inner coder.Ron Economos2019-07-051-6/+1
| | | | Also remove assert that was failing for 7/8 rate on debug builds.
* dtv: Fix scrambler and BCH encoder for MEDIUM size frames.Ron Economos2019-04-194-32/+104
| | | | DVB-S2X VL-SNR MEDIUM size frames are not divisible by 8.
* dtv: Fix DVB-S2X 64APSK constellation.Ron Economos2019-04-191-32/+32
| | | | Transcription error from specification (p and q reversed).
* gitignore: ignore autogen files in example foldersJohannes Demel2019-03-241-0/+1
| | | | | This commit adds `.gitignore` files to some example folders. This helps to keep auto generated files out of commits.
* cmake: Update to modern CMake usageAndrej Rode2019-03-043-45/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes using target based setting of includes and link libraries. This will transitively add the includes and linking flags to dependent targets. This is still a work in progress since only the dynamic libraries have been touched and not all of include_directories directives are gone yet. cmake: remove GR_INCLUDE_SUBDIRECTORY macro Previously this macro was used to inject subdirectories in the current CMake namespace. This is generally undesired and pollutes the current context. previously GNU Radio CMake had a non-default option ENABLE_STATIC_LIBS to build both, shared libraries and static libraries. This seems to be a construction taken over from autotools and serves no purpuose in CMake and complicates the library building. cmake: remove GR_LIBTOOL and la generation support This looks like it was primarily used to support projects using autotools, but comments state that the generated .la files aren't compatible with autotools anyway. cmake: Bump required CMake version to 3.8 UseSWIG cmake uses syntax which requires at least CMake 3.8 and is non-trivial to change
* dtv: use relative include for dvb_defines.hAndrej Rode2019-03-0413-76/+76
| | | | | | Previously lib/ was in the include path and thus the compiler was able to find `dvb/dvb_defines.h` in the path. Now it needs a relative path to be found as local include.
* dtv: Prevent out of bounds array access in DVB-T2 interleaver.Ron Economos2019-03-042-11/+17
|
* dtv: Expand LDPC lut array size for worst case table generation.Ron Economos2019-02-172-1/+17
|
* dtv: Differential encode all parity bits.Ron Economos2019-01-191-1/+1
|
* dtv: Reduce RRC filter gain for new 16APSK constellation.Ron Economos2019-01-171-1/+1
|
* dtv: Move VL-SNR puncturing from before to after differential encoding.Ron Economos2019-01-171-5/+5
|
* dtv: Use alternate constellation amplitude for 16 and 32-APSK.Ron Economos2019-01-171-2/+9
|
* dtv: Update all DTV example flow graphs to YAML.Ron Economos2019-01-1442-130268/+30324
|