X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-core%2Fsrc%2Fdsp%2Fwindow.rs;h=eb350e3ecbd319208e8b9312a90cecaad6f31358;hb=4e034a32d947e1ef5f357cc2477d6f1c3b8454a9;hp=92a26556587dff8528570bd580f795f413f64457;hpb=fdb4b2fbe87ca6e15f6d5e8ad040b7c9ee883053;p=nihav.git diff --git a/nihav-core/src/dsp/window.rs b/nihav-core/src/dsp/window.rs index 92a2655..eb350e3 100644 --- a/nihav-core/src/dsp/window.rs +++ b/nihav-core/src/dsp/window.rs @@ -1,12 +1,20 @@ +//! Window generating functions. use std::f32::consts; +/// Known window types. #[derive(Debug,Clone,Copy,PartialEq)] pub enum WindowType { + /// Simple square window. Square, + /// Simple sine window. Sine, + /// Kaiser-Bessel derived window. KaiserBessel(f32), } +/// Calculates window coefficients for the requested window type and size. +/// +/// Set `half` flag to calculate only the first half of the window. pub fn generate_window(mode: WindowType, scale: f32, size: usize, half: bool, dst: &mut [f32]) { match mode { WindowType::Square => {