Struct rustdct::DCTplanner [] [src]

pub struct DCTplanner<T> { /* fields omitted */ }

The DCT planner is used to make new DCT algorithm instances.

RustDCT has several DCT algorithms available for each DCT type; For a given DCT size and type, the FFTplanner decides which of the available DCT algorithms to use and then initializes them.

// Perform a DCT Type 4 of size 1234
use rustdct::DCTplanner;

let mut input:  Vec<f32> = vec![0f32; 1234];
let mut output: Vec<f32> = vec![0f32; 1234];

let mut planner = DCTplanner::new();
let mut dct4 = planner.plan_dct4(1234);
dct4.process(&mut input, &mut output);

If you plan on creating multiple DCT instances, it is recommnded to reuse the same planner for all of them. This is because the planner re-uses internal data across DCT instances wherever possible, saving memory and reducing setup time. (DCT instances created with one planner will never re-use data and buffers with DCT instances created by a different planner)

Each FFT instance owns Arcs to its shared internal data, rather than borrowing it from the planner, so it's perfectly safe to drop the planner after creating DCT instances.

Methods

impl<T: DCTnum> DCTplanner<T>
[src]

Returns a DCT Type 1 instance which processes signals of size len. If this is called multiple times, it will attempt to re-use internal data between instances

Returns a DCT Type 2 instance which processes signals of size len. If this is called multiple times, it will attempt to re-use internal data between instances

Returns a DCT Type 3 instance which processes signals of size len. If this is called multiple times, it will attempt to re-use internal data between instances

Returns a DCT Type 4 instance which processes signals of size len. If this is called multiple times, it will attempt to re-use internal data between instances

Returns a MDCT instance which processes inputs of size len * 2 and produces outputs of size len.

window_fn is a function that takes a size and returns a Vec containing size window values. See the window_fn module for provided window functions.

If this is called multiple times, it will attempt to re-use internal data between instances

Returns an IMDCT instance which processes input of size len and produces outputs of size len * 2.

window_fn is a function that takes a size and returns a Vec containing size window values. See the window_fn module for provided window functions.

If this is called multiple times, it will attempt to re-use internal data between instances