Trait rustdct::mdct::IMDCT
[−]
[src]
pub trait IMDCT<T: DCTnum>: Length { fn process_split(
&mut self,
input: &[T],
output_a: &mut [T],
output_b: &mut [T]
); fn process(&mut self, input: &[T], output: &mut [T]) { ... } }
An umbrella trait for algorithms which compute the Inverse Modified Discrete Cosine Transform (IMDCT)
Required Methods
fn process_split(&mut self, input: &[T], output_a: &mut [T], output_b: &mut [T])
Computes the MDCT on the input
buffer and places the result in the output
buffer.
Puts the first half of the output in output_a
, and puts the first half of the output in output_b
.
To make overlapping array segments easier, this method DOES NOT zero out the output buffer, instead it adds (via operator+) the result of the IMDCT to what's already in the buffer.
Provided Methods
fn process(&mut self, input: &[T], output: &mut [T])
Computes the MDCT on the input
buffer and places the result in the output
buffer.
To make overlapping array segments easier, this method DOES NOT zero out the output buffer, instead it adds (via operator+) the result of the IMDCT to what's already in the buffer.
Implementors
impl<T: DCTnum> IMDCT<T> for IMDCTNaive<T>
impl<T: DCTnum> IMDCT<T> for IMDCTViaDCT4<T>