From fb8a8653c0de90fe4da7130ef586a3de7168532b Mon Sep 17 00:00:00 2001 From: aiongg Date: Sat, 31 Oct 2026 02:10:10 +0000 Subject: [PATCH] Integration: #3280 drop throwaway bench_dec.rs example --- crates/opus/examples/bench_dec.rs | 69 ------------------------------- 1 file changed, 69 deletions(-) delete mode 100644 crates/opus/examples/bench_dec.rs diff --git a/crates/opus/examples/bench_dec.rs b/crates/opus/examples/bench_dec.rs deleted file mode 100644 index ba3095805..000000000 --- a/crates/opus/examples/bench_dec.rs +++ /dev/null @@ -1,69 +0,0 @@ -//! Throwaway decoder benchmark (untracked; do not commit). -//! bench_dec -use filmcraft_opus::{Packet, StreamDecoder}; - -fn ogg_packets(data: &[u8]) -> Vec> { - let mut packets = Vec::new(); - let mut cur = Vec::new(); - let mut pos = 0; - while pos + 27 <= data.len() && &data[pos..pos + 4] == b"OggS" { - let nseg = data[pos + 26] as usize; - let table = &data[pos + 27..pos + 27 + nseg]; - let mut body = pos + 27 + nseg; - for &l in table { - cur.extend_from_slice(&data[body..body + l as usize]); - body += l as usize; - if l < 255 { - packets.push(std::mem::take(&mut cur)); - } - } - pos = body; - } - packets -} - -fn main() { - let a: Vec = std::env::args().collect(); - let rate: u32 = a[1].parse().unwrap(); - let reps: usize = a[2].parse().unwrap(); - let out_path = &a[3]; - let path = &a[4]; - let data = std::fs::read(path).unwrap(); - let (ch, packets) = if path.ends_with(".opus") { - let p = ogg_packets(&data); - (p[0][9] as usize, p[2..].to_vec()) - } else { - let ch = data[0] as usize; - let mut pos = 3; - let mut v = Vec::new(); - while pos + 2 <= data.len() { - let l = u16::from_le_bytes([data[pos], data[pos + 1]]) as usize; - pos += 2; - v.push(data[pos..pos + l].to_vec()); - pos += l; - } - (ch, v) - }; - let mut modes = [0usize; 3]; - for p in &packets { - if let Ok(pk) = Packet::parse(p) { - modes[pk.toc.mode as usize] += 1; - } - } - let t0 = std::time::Instant::now(); - let mut out = Vec::with_capacity(packets.len() * 960 * ch); - for _ in 0..reps { - out.clear(); - let mut d = StreamDecoder::new(rate, ch).unwrap(); - for p in &packets { - d.decode_interleaved(Some(p), &mut out).unwrap(); - } - } - let dt = t0.elapsed().as_secs_f64() / reps as f64; - let secs = out.len() as f64 / ch as f64 / rate as f64; - eprintln!("{path}: ch={ch} modes={modes:?} {:.4}s per pass for {:.1}s audio ({:.0}x realtime)", dt, secs, secs / dt); - if out_path != "-" { - let bytes: Vec = out.iter().flat_map(|v| v.to_le_bytes()).collect(); - std::fs::write(out_path, bytes).unwrap(); - } -}