From 33a4f9f5c5925930e2f4cbe3cab636a0b8079d4b Mon Sep 17 00:00:00 2001 From: LongHairedHacker Date: Mon, 1 Apr 2019 00:27:53 +0200 Subject: [PATCH] Fixed intial sync, clamped rgb values --- lib/.clang_complete | 1 + lib/sstv_pd120_sink_impl.cc | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 lib/.clang_complete diff --git a/lib/.clang_complete b/lib/.clang_complete new file mode 100644 index 0000000..b817a53 --- /dev/null +++ b/lib/.clang_complete @@ -0,0 +1 @@ +-I.. diff --git a/lib/sstv_pd120_sink_impl.cc b/lib/sstv_pd120_sink_impl.cc index 5cb050c..a25bf84 100644 --- a/lib/sstv_pd120_sink_impl.cc +++ b/lib/sstv_pd120_sink_impl.cc @@ -107,9 +107,9 @@ namespace gr { int g = y - (11 * cb + 23 * cr) / 32; int b = y + 113 * cb / 64; - rgb[0] = r; - rgb[1] = g; - rgb[2] = b; + rgb[0] = std::min(255, std::max(r, 0)); + rgb[1] = std::min(255, std::max(g, 0)); + rgb[2] = std::min(255, std::max(b, 0)); } bool @@ -117,6 +117,7 @@ namespace gr { size_t count = 0; for(size_t i = 0; i < sync_length; i++) { float sample = to_frequency(samples[pos - (sync_length - 1) + i]); + //std::cout << sample << std::endl; if(sample < color_low) { count += 1; } @@ -125,7 +126,9 @@ namespace gr { bool res = count > sync_thresh && !d_has_sync; d_has_sync = count > sync_thresh; - d_initial_sync = false; + if(res) { + d_initial_sync = false; + } return res; }