Commit 5c040ae0 authored by Stefan Westerfeld's avatar Stefan Westerfeld

SyncFinder: merge init_up_down and get_sync_bits

Signed-off-by: Stefan Westerfeld's avatarStefan Westerfeld <stefan@space.twc.de>
parent 24ed0456
...@@ -28,7 +28,7 @@ using std::string; ...@@ -28,7 +28,7 @@ using std::string;
using std::min; using std::min;
vector<vector<SyncFinder::FrameBit>> vector<vector<SyncFinder::FrameBit>>
SyncFinder::init_up_down (const Key& key, const WavData& wav_data, Mode mode) SyncFinder::get_sync_bits (const Key& key, const WavData& wav_data, Mode mode)
{ {
vector<vector<SyncFinder::FrameBit>> sync_bits; vector<vector<SyncFinder::FrameBit>> sync_bits;
...@@ -395,7 +395,7 @@ SyncFinder::search (const vector<Key>& key_list, const WavData& wav_data, Mode m ...@@ -395,7 +395,7 @@ SyncFinder::search (const vector<Key>& key_list, const WavData& wav_data, Mode m
KeyResult key_result; KeyResult key_result;
key_result.key = key; key_result.key = key;
key_results.push_back (key_result); key_results.push_back (key_result);
sync_bits.push_back (init_up_down (key, wav_data, mode)); sync_bits.push_back (get_sync_bits (key, wav_data, mode));
} }
search_approx (key_results, sync_bits, wav_data, mode); search_approx (key_results, sync_bits, wav_data, mode);
...@@ -412,12 +412,6 @@ SyncFinder::search (const vector<Key>& key_list, const WavData& wav_data, Mode m ...@@ -412,12 +412,6 @@ SyncFinder::search (const vector<Key>& key_list, const WavData& wav_data, Mode m
return key_results; return key_results;
} }
vector<vector<SyncFinder::FrameBit>>
SyncFinder::get_sync_bits (const Key& key, const WavData& wav_data, Mode mode)
{
return init_up_down (key, wav_data, mode);
}
void void
SyncFinder::sync_fft (const WavData& wav_data, size_t index, size_t frame_count, vector<float>& fft_out_db, vector<char>& have_frames, const vector<char>& want_frames) SyncFinder::sync_fft (const WavData& wav_data, size_t index, size_t frame_count, vector<float>& fft_out_db, vector<char>& have_frames, const vector<char>& want_frames)
{ {
......
...@@ -85,8 +85,6 @@ public: ...@@ -85,8 +85,6 @@ public:
std::vector<Score> sync_scores; std::vector<Score> sync_scores;
}; };
private: private:
std::vector<std::vector<FrameBit>> init_up_down (const Key& key, const WavData& wav_data, Mode mode);
double sync_decode (const std::vector<std::vector<FrameBit>>& sync_bits, double sync_decode (const std::vector<std::vector<FrameBit>>& sync_bits,
const WavData& wav_data, const size_t start_frame, const WavData& wav_data, const size_t start_frame,
const std::vector<float>& fft_out_db, const std::vector<float>& fft_out_db,
...@@ -104,7 +102,7 @@ private: ...@@ -104,7 +102,7 @@ private:
size_t wav_data_last = 0; size_t wav_data_last = 0;
public: public:
std::vector<KeyResult> search (const std::vector<Key>& key_list, const WavData& wav_data, Mode mode); std::vector<KeyResult> search (const std::vector<Key>& key_list, const WavData& wav_data, Mode mode);
std::vector<std::vector<FrameBit>> get_sync_bits (const Key& key, const WavData& wav_data, Mode mode); static std::vector<std::vector<FrameBit>> get_sync_bits (const Key& key, const WavData& wav_data, Mode mode);
static double bit_quality (float umag, float dmag, int bit); static double bit_quality (float umag, float dmag, int bit);
static double normalize_sync_quality (double raw_quality); static double normalize_sync_quality (double raw_quality);
......
...@@ -158,9 +158,7 @@ public: ...@@ -158,9 +158,7 @@ public:
frames_per_block (mark_sync_frame_count() + mark_data_frame_count()) frames_per_block (mark_sync_frame_count() + mark_data_frame_count())
{ {
// constructor is run in the main thread; everything that is not thread-safe must happen here // constructor is run in the main thread; everything that is not thread-safe must happen here
SyncFinder sync_finder; auto sync_finder_bits = SyncFinder::get_sync_bits (key, in_data, SyncFinder::Mode::BLOCK);
auto sync_finder_bits = sync_finder.get_sync_bits (key, in_data, SyncFinder::Mode::BLOCK);
for (size_t bit = 0; bit < sync_finder_bits.size(); bit++) for (size_t bit = 0; bit < sync_finder_bits.size(); bit++)
{ {
for (const auto& frame_bit : sync_finder_bits[bit]) for (const auto& frame_bit : sync_finder_bits[bit])
......
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