Commit 38edc573 authored by Stefan Westerfeld's avatar Stefan Westerfeld

Rename FrameDelta -> FrameMod.

Signed-off-by: Stefan Westerfeld's avatarStefan Westerfeld <stefan@space.twc.de>
parent 5f5bf383
...@@ -5,6 +5,4 @@ streaming: ...@@ -5,6 +5,4 @@ streaming:
- need explicit Error objects - need explicit Error objects
- logging - logging
- resampling - resampling
- padding
- synthesis with 3 frames - synthesis with 3 frames
- frame delta should be frame mod (rename)
...@@ -478,34 +478,34 @@ gen_mix_entries() ...@@ -478,34 +478,34 @@ gen_mix_entries()
return mix_entries; return mix_entries;
} }
enum class FrameDelta : uint8_t { enum class FrameMod : uint8_t {
KEEP = 0, KEEP = 0,
UP, UP,
DOWN DOWN
}; };
void void
prepare_frame_delta (UpDownGen& up_down_gen, int f, vector<FrameDelta>& frame_delta, int data_bit) prepare_frame_mod (UpDownGen& up_down_gen, int f, vector<FrameMod>& frame_mod, int data_bit)
{ {
UpDownArray up, down; UpDownArray up, down;
up_down_gen.get (f, up, down); up_down_gen.get (f, up, down);
for (auto u : up) for (auto u : up)
frame_delta[u] = data_bit ? FrameDelta::UP : FrameDelta::DOWN; frame_mod[u] = data_bit ? FrameMod::UP : FrameMod::DOWN;
for (auto d : down) for (auto d : down)
frame_delta[d] = data_bit ? FrameDelta::DOWN : FrameDelta::UP; frame_mod[d] = data_bit ? FrameMod::DOWN : FrameMod::UP;
} }
void void
apply_frame_delta (const vector<FrameDelta>& frame_delta, const vector<complex<float>>& fft_out, vector<complex<float>>& fft_delta_spect) apply_frame_mod (const vector<FrameMod>& frame_mod, const vector<complex<float>>& fft_out, vector<complex<float>>& fft_delta_spect)
{ {
const float min_mag = 1e-7; // avoid computing pow (0.0, -water_delta) which would be inf const float min_mag = 1e-7; // avoid computing pow (0.0, -water_delta) which would be inf
for (size_t i = 0; i < frame_delta.size(); i++) for (size_t i = 0; i < frame_mod.size(); i++)
{ {
if (frame_delta[i] == FrameDelta::KEEP) if (frame_mod[i] == FrameMod::KEEP)
continue; continue;
int data_bit_sign = (frame_delta[i] == FrameDelta::UP) ? 1 : -1; int data_bit_sign = (frame_mod[i] == FrameMod::UP) ? 1 : -1;
/* /*
* for up bands, we want do use [for a 1 bit] (pow (mag, 1 - water_delta)) * for up bands, we want do use [for a 1 bit] (pow (mag, 1 - water_delta))
* *
...@@ -522,7 +522,7 @@ apply_frame_delta (const vector<FrameDelta>& frame_delta, const vector<complex<f ...@@ -522,7 +522,7 @@ apply_frame_delta (const vector<FrameDelta>& frame_delta, const vector<complex<f
} }
void void
mark_data_stream (vector<vector<FrameDelta>>& frame_mod, const vector<int>& bitvec) mark_data_stream (vector<vector<FrameMod>>& frame_mod, const vector<int>& bitvec)
{ {
assert (bitvec.size() == mark_data_frame_count() / Params::frames_per_bit); assert (bitvec.size() == mark_data_frame_count() / Params::frames_per_bit);
assert (frame_mod.size() >= mark_data_frame_count()); assert (frame_mod.size() >= mark_data_frame_count());
...@@ -545,8 +545,8 @@ mark_data_stream (vector<vector<FrameDelta>>& frame_mod, const vector<int>& bitv ...@@ -545,8 +545,8 @@ mark_data_stream (vector<vector<FrameDelta>>& frame_mod, const vector<int>& bitv
const int d = mix_entries[b].down; const int d = mix_entries[b].down;
const int index = mix_entries[b].frame; const int index = mix_entries[b].frame;
frame_mod[index][u] = data_bit ? FrameDelta::UP : FrameDelta::DOWN; frame_mod[index][u] = data_bit ? FrameMod::UP : FrameMod::DOWN;
frame_mod[index][d] = data_bit ? FrameDelta::DOWN : FrameDelta::UP; frame_mod[index][d] = data_bit ? FrameMod::DOWN : FrameMod::UP;
} }
} }
} }
...@@ -558,7 +558,7 @@ mark_data_stream (vector<vector<FrameDelta>>& frame_mod, const vector<int>& bitv ...@@ -558,7 +558,7 @@ mark_data_stream (vector<vector<FrameDelta>>& frame_mod, const vector<int>& bitv
{ {
size_t index = data_frame_pos (f); size_t index = data_frame_pos (f);
prepare_frame_delta (up_down_gen, f, frame_mod[index], bitvec[f / Params::frames_per_bit]); // FIXME: rename prepare_frame_mod (up_down_gen, f, frame_mod[index], bitvec[f / Params::frames_per_bit]);
} }
} }
} }
...@@ -570,7 +570,7 @@ mark_sync_frame_count() ...@@ -570,7 +570,7 @@ mark_sync_frame_count()
} }
void void
mark_sync_stream (vector<vector<FrameDelta>>& frame_mod, int ab) mark_sync_stream (vector<vector<FrameMod>>& frame_mod, int ab)
{ {
const int frame_count = mark_sync_frame_count(); const int frame_count = mark_sync_frame_count();
assert (frame_mod.size() >= mark_sync_frame_count()); assert (frame_mod.size() >= mark_sync_frame_count());
...@@ -583,26 +583,26 @@ mark_sync_stream (vector<vector<FrameDelta>>& frame_mod, int ab) ...@@ -583,26 +583,26 @@ mark_sync_stream (vector<vector<FrameDelta>>& frame_mod, int ab)
size_t index = sync_frame_pos (f); size_t index = sync_frame_pos (f);
int data_bit = (f / Params::sync_frames_per_bit + ab) & 1; /* write 010101 for a block, 101010 for b block */ int data_bit = (f / Params::sync_frames_per_bit + ab) & 1; /* write 010101 for a block, 101010 for b block */
prepare_frame_delta (up_down_gen, f, frame_mod[index], data_bit); // FIXME: rename prepare_frame_mod (up_down_gen, f, frame_mod[index], data_bit);
} }
} }
void void
init_pad_mod_vec (vector<vector<FrameDelta>>& pad_mod_vec) init_pad_mod_vec (vector<vector<FrameMod>>& pad_mod_vec)
{ {
UpDownGen up_down_gen (Random::Stream::pad_up_down); UpDownGen up_down_gen (Random::Stream::pad_up_down);
for (size_t f = 0; f < Params::frames_pad_start; f++) for (size_t f = 0; f < Params::frames_pad_start; f++)
{ {
vector<FrameDelta> mod (Params::max_band + 1); vector<FrameMod> mod (Params::max_band + 1);
prepare_frame_delta (up_down_gen, f, mod, 0); prepare_frame_mod (up_down_gen, f, mod, 0);
pad_mod_vec.push_back (mod); pad_mod_vec.push_back (mod);
} }
} }
void void
init_frame_mod_vec (vector<vector<FrameDelta>>& frame_mod_vec, int ab, const vector<int>& bitvec) init_frame_mod_vec (vector<vector<FrameMod>>& frame_mod_vec, int ab, const vector<int>& bitvec)
{ {
frame_mod_vec.resize (mark_sync_frame_count() + mark_data_frame_count()); frame_mod_vec.resize (mark_sync_frame_count() + mark_data_frame_count());
...@@ -753,10 +753,10 @@ add_watermark (const string& infile, const string& outfile, const string& bits) ...@@ -753,10 +753,10 @@ add_watermark (const string& infile, const string& outfile, const string& bits)
int ab = 0; int ab = 0;
vector<float> samples; vector<float> samples;
vector<vector<FrameDelta>> pad_mod_vec; vector<vector<FrameMod>> pad_mod_vec;
init_pad_mod_vec (pad_mod_vec); init_pad_mod_vec (pad_mod_vec);
vector<vector<FrameDelta>> frame_mod_vec_a, frame_mod_vec_b; vector<vector<FrameMod>> frame_mod_vec_a, frame_mod_vec_b;
init_frame_mod_vec (frame_mod_vec_a, 0, bitvec_a); init_frame_mod_vec (frame_mod_vec_a, 0, bitvec_a);
const int n_channels = in_stream->n_channels(); const int n_channels = in_stream->n_channels();
...@@ -779,12 +779,12 @@ add_watermark (const string& infile, const string& outfile, const string& bits) ...@@ -779,12 +779,12 @@ add_watermark (const string& infile, const string& outfile, const string& bits)
if (state == State::PAD) if (state == State::PAD)
{ {
for (int ch = 0; ch < in_stream->n_channels(); ch++) for (int ch = 0; ch < in_stream->n_channels(); ch++)
apply_frame_delta (pad_mod_vec[frame_number], fft_out[ch], fft_delta_spect[ch]); apply_frame_mod (pad_mod_vec[frame_number], fft_out[ch], fft_delta_spect[ch]);
} }
else if (state == State::WATERMARK) else if (state == State::WATERMARK)
{ {
for (int ch = 0; ch < in_stream->n_channels(); ch++) for (int ch = 0; ch < in_stream->n_channels(); ch++)
apply_frame_delta (ab ? frame_mod_vec_b[frame_number] : frame_mod_vec_a[frame_number], fft_out[ch], fft_delta_spect[ch]); apply_frame_mod (ab ? frame_mod_vec_b[frame_number] : frame_mod_vec_a[frame_number], fft_out[ch], fft_delta_spect[ch]);
} }
for (int ch = 0; ch < n_channels; ch++) for (int ch = 0; ch < n_channels; ch++)
......
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