| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: maswx <masw@masw.tech>
|
|
|
|
|
|
|
| |
This commit contains all the additions to gr-*/lib/CMakeLists.txt
applicable to modules already present in 3.8.
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
|
|
|
| |
Signed-off-by: Ron Economos <w6rz@comcast.net>
|
|
|
|
| |
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
|
|
|
|
| |
Rather than adding/searching for tags, just put plinfo on its own
streaming port. This should be more efficient than putting tags on
every item.
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
|
|
|
|
|
|
| |
There was an extra factor of 12 in the output copy of viterbi decoder
when the noutput_items was > 1 (which doesn't happen all the time)
leading to a glitch in the output video.
Also, replaced the hardcoded 832 with the appropriate enum
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
| |
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
| |
Signed-off-by: Thomas Habets <thomas@habets.se>
|
|
|
|
|
|
|
|
| |
Found via `codespell v2.1.dev0`
`codespell -q 3 -L ans,fo,hist,inout,ist,ith,nd,sinc,uint -S ./volk`
Signed-off-by: luz paz <luzpaz@users.noreply.github.com>
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
run
/usr/share/clang/run-clang-tidy.py -checks=file '-header-filter=.*'
-fix ..
from build directory.
Then,
clang-format -i $(git diff --name-only origin/master)
to clang-format changed files.
Then, refresh all header hashes in pybind bindings
(*/python/bindings/*.cc)
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fft: refactor fft classes as templates
In order to reduce code duplication construct fft objects and blocks
with template paramters.
Separate forward and reverse as a template
parameter
Maintain the real fft block forward as r2c and reverse as r2c as well
Co-authored-by: Andrej Rode <mail@andrejro.de>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Mostly done with:
```
find -name "*_impl.h" | xargs sed -i -r '/(void forecast|int work|int general_work|bool check_topology)\(/{:back /\)/b nxt;N;b back;:nxt s/\)$|\)(;)/) override\1/g}'
```
Then I removed an incorrect `work` that this found.
|
|
|
|
| |
All removed except some tricky stuff in dvb_ldpc_bb_impl.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First batch of changes:
```
find […] -print0 | xargs -0 sed -i -r '/get_initial_sptr/{:nxt N;/;/!b nxt;s/get_initial_sptr\(\s*new ([^(]+)(.*)\)\)/make_block_sptr<\1>\2)/}'
```
Then:
* Back out `sptr_magic.h` edits
* Change some `friend` clauses
* clang-format the whole thing
* Update checksums in the pybind11 bindings files
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
These are all ones I could find, so assert->static_assert should now
be done.
|
|
|
|
| |
This is needed to convert assert to static_assert.
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
| |
Move IFFT and normalization to Reference Signals block.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
The 'true' and 'false' values are implicitly cast to the integer type.
See atsc_equalizer_impl.cc
|
|
|
|
|
| |
This fixes every leftover file in the GNU Radio source tree to match our
clang-format definition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Also remove assert that was failing for 7/8 rate on debug builds.
|
|
|
|
| |
DVB-S2X VL-SNR MEDIUM size frames are not divisible by 8.
|
|
|
|
| |
Transcription error from specification (p and q reversed).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
| |
|