Commit 6be13df3 authored by Stefan Westerfeld's avatar Stefan Westerfeld

Don't report empty results (if short decode fails).

Signed-off-by: Stefan Westerfeld's avatarStefan Westerfeld <stefan@space.twc.de>
parent ee82f4cc
......@@ -796,7 +796,8 @@ public:
float decode_error = 0;
vector<int> bit_vec = code_decode_soft (sync_score.block_type, normalize_soft_bits (raw_bit_vec), &decode_error);
result_set.add_pattern (sync_score, bit_vec, decode_error, ResultSet::Type::BLOCK);
if (!bit_vec.empty())
result_set.add_pattern (sync_score, bit_vec, decode_error, ResultSet::Type::BLOCK);
total_count += 1;
/* ---- update "all" pattern ---- */
......@@ -821,9 +822,12 @@ public:
ab_bits[i * 2 + 1] = ab_raw_bit_vec[1][i];
}
vector<int> bit_vec = code_decode_soft (ConvBlockType::ab, normalize_soft_bits (ab_bits), &decode_error);
score_ab.index = sync_score.index;
score_ab.quality = (ab_quality[0] + ab_quality[1]) / 2;
result_set.add_pattern (score_ab, bit_vec, decode_error, ResultSet::Type::BLOCK);
if (!bit_vec.empty())
{
score_ab.index = sync_score.index;
score_ab.quality = (ab_quality[0] + ab_quality[1]) / 2;
result_set.add_pattern (score_ab, bit_vec, decode_error, ResultSet::Type::BLOCK);
}
}
last_block_type = sync_score.block_type;
}
......@@ -842,7 +846,8 @@ public:
float decode_error = 0;
vector<int> bit_vec = code_decode_soft (ConvBlockType::ab, soft_bit_vec, &decode_error);
result_set.add_pattern (score_all, bit_vec, decode_error, ResultSet::Type::ALL);
if (!bit_vec.empty())
result_set.add_pattern (score_all, bit_vec, decode_error, ResultSet::Type::ALL);
}
debug_sync_frame_count = frame_count (wav_data);
......@@ -945,10 +950,12 @@ class ClipDecoder
float decode_error = 0;
vector<int> bit_vec = code_decode_soft (ConvBlockType::ab, normalize_soft_bits (raw_bit_vec), &decode_error);
SyncFinder::Score sync_score_nopad = sync_score;
sync_score_nopad.index = time_offset_sec * wav_data.sample_rate();
result_set.add_pattern (sync_score_nopad, bit_vec, decode_error, ResultSet::Type::CLIP);
if (!bit_vec.empty())
{
SyncFinder::Score sync_score_nopad = sync_score;
sync_score_nopad.index = time_offset_sec * wav_data.sample_rate();
result_set.add_pattern (sync_score_nopad, bit_vec, decode_error, ResultSet::Type::CLIP);
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment