Skip to content

Commit 58e2b30

Browse files
refactor: minor allocation fixes
Signed-off-by: Maika Namuo <httpworldview@gmail.com>
1 parent 0c6e679 commit 58e2b30

3 files changed

Lines changed: 5 additions & 8 deletions

File tree

‎src/visuals/loudness/processor.rs‎

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ struct TruePeakMeter {
101101
peak: f32,
102102
}
103103
impl TruePeakMeter {
104-
fn peak_max(peak: f32, value: f32) -> f32 { if value > peak { value } else { peak } }
105104
fn new(sample_rate: f64) -> Self {
106105
let delay_len = if sample_rate < 96_000.0 {
107106
TRUE_PEAK_4X_DELAY
@@ -119,7 +118,7 @@ impl TruePeakMeter {
119118
}
120119

121120
fn process(&mut self, sample: f32, firs: &TruePeakFirs) {
122-
self.peak = Self::peak_max(self.peak, sample.abs());
121+
self.peak = self.peak.max(sample.abs());
123122
if self.delay_len == 0 {
124123
return;
125124
}
@@ -137,13 +136,13 @@ impl TruePeakMeter {
137136
output[phase] += sample * coefficients[phase];
138137
}
139138
}
140-
self.peak = output.into_iter().map(f32::abs).fold(self.peak, Self::peak_max);
139+
self.peak = output.into_iter().map(f32::abs).fold(self.peak, f32::max);
141140
} else {
142141
let mut output = 0.0;
143142
for i in 0..self.delay_len {
144143
output += self.delay[pos + i] * firs.1[i];
145144
}
146-
self.peak = Self::peak_max(self.peak, output.abs());
145+
self.peak = self.peak.max(output.abs());
147146
}
148147
}
149148
}
@@ -431,7 +430,6 @@ mod tests {
431430
}
432431
#[test]
433432
fn true_peak_matches_ebur128_at_standard_rates() {
434-
assert_eq!(TruePeakMeter::peak_max(1.0, f32::NAN), 1.0);
435433
for (sample_rate, delay_len) in [
436434
(48_000.0_f32, TRUE_PEAK_4X_DELAY),
437435
(96_000.0, TRUE_PEAK_2X_DELAY),

‎src/visuals/spectrum/state.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ fn build_single_points_into(
448448
let interior = bins.partition_point(|&f| f <= min_f)..bins.partition_point(|&f| f < max_f);
449449
push(x_cache[0], value_at(bins, db, min_f));
450450
for (&x, &m) in x_cache[1..x_cache.len() - 1].iter().zip(&db[interior]) { push(x, m); }
451-
push(*x_cache.last().unwrap_or(&0.0), value_at(bins, db, max_f));
451+
push(x_cache[x_cache.len() - 1], value_at(bins, db, max_f));
452452
if style.reverse_frequency {
453453
out.reverse();
454454
}

‎src/visuals/stereometer/state.rs‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ impl StereometerState {
8181
let factor = a * (i + 1) as f32 / len as f32;
8282
[r * factor, g * factor, b * factor, 0.0]
8383
})
84-
.collect::<Vec<_>>()
85-
.into();
84+
.collect();
8685
}
8786
}
8887

0 commit comments

Comments
 (0)