pub struct Type2And3SplitRadix<T> { /* fields omitted */ }
DCT2, DCT3, DST2, and DST3 implemention that recursively divides the problem in half.
The problem size must be 2^n, n > 1
use rustdct::algorithm::Type2And3SplitRadix;
use rustdct::DCT2;
use rustdct::DCTplanner;
let len = 1024;
let mut input: Vec<f32> = vec![0f32; len];
let mut output: Vec<f32> = vec![0f32; len];
let mut planner = DCTplanner::new();
let quarter_dct = planner.plan_dct2(len / 4);
let half_dct = planner.plan_dct2(len / 2);
let dct = Type2And3SplitRadix::new(half_dct, quarter_dct);
dct.process_dct2(&mut input, &mut output);
Creates a new DCT2, DCT3, DST2, and DST3 context that will process signals of length half_dct.len() * 2
Computes the DCT Type 2 on the input
buffer and places the result in the output
buffer. Read more
Computes the DCT Type 3 on the input
buffer and places the result in the output
buffer. Read more
Computes the DST Type 2 on the input
buffer and places the result in the output
buffer. Read more
Computes the DST Type 3 on the input
buffer and places the result in the output
buffer. Read more
The FFT size that this algorithm can process
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)