diff options
Diffstat (limited to 'gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc')
-rw-r--r-- | gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc b/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc index cec39a7041..a83c56182e 100644 --- a/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc +++ b/gr-dtv/lib/dvbt2/dvbt2_paprtr_cc_impl.cc @@ -1,6 +1,6 @@ /* -*- c++ -*- */ /* - * Copyright 2015,2016 Free Software Foundation, Inc. + * Copyright 2015-2017 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 @@ -26,6 +26,10 @@ #include "dvbt2_paprtr_cc_impl.h" #include <volk/volk.h> +/* An early exit from the iteration loop is a very effective optimization */ +/* Change this line to #undef for validation testing with BBC V&V streams */ +#define EARLY_EXIT + namespace gr { namespace dtv { @@ -758,9 +762,15 @@ namespace gr { m = n; } } +#ifdef EARLY_EXIT if (y < v_clip + 0.01) { break; } +#else + if (y < v_clip) { + break; + } +#endif u = (in[m] + c[m]) / y; alpha = y - v_clip; for (int n = 0; n < N_TR; n++) { |