LIBML
Version 3.2.4
LIBML DSP Software Library
|
Functions | |
tpt_status | tpt_dct2_f32 (f32_t *aOutData, f32_t *aInData, f32_t *aScratch, size_t aLogN, bool aIdctFlag) |
Processing function for the floating-point DCT2. More... | |
tpt_status | tpt_dct2_f64 (f64_t *aOutData, f64_t *aInData, f64_t *aScratch, size_t aLogN, bool aIdctFlag) |
Processing function for the floating-point DCT2. More... | |
tpt_status | tpt_dct2_q15 (q15_t *aOutData, q15_t *aInData, q15_t *aScratch, size_t aLogN, bool aIdctFlag) |
Processing function for the Q15 DCT2. More... | |
tpt_status | tpt_dct2_q31 (q31_t *aOutData, q31_t *aInData, q31_t *aScratch, size_t aLogN, bool aIdctFlag) |
Processing function for the Q31 DCT2. More... | |
A discrete cosine transform (DCT) expresses a finite sequence of data points in terms of a sum of cosine functions oscillating at different frequencies. In particular, a DCT is a Fourier-related transform similar to the discrete Fourier transform (DFT), but using only real numbers.
N-1 y[k] = sum { x[n] * cos(PI * (2 * n + 1) * k / (2 * N)) } n=0The N-point DCT2 internally uses N-point RFFT implementation. It supports lengths of [32, 64, 128, ..., 1024] and the corresponding
aLogN
value is [5, 6, 7, ..., 10].tpt_status tpt_dct2_f32 | ( | f32_t * | aOutData, |
f32_t * | aInData, | ||
f32_t * | aScratch, | ||
size_t | aLogN, | ||
bool | aIdctFlag | ||
) |
Processing function for the floating-point DCT2.
Source buffer is modified by this function.
[out] | aOutData | points to output buffer. |
[in] | aInData | points to input buffer (Source buffer is modified by this function.) |
[in] | aScratch | points to a temporary buffer of size 2^(aLogN+1). |
[in] | aLogN | The length is 2^aLogN. |
tpt_status tpt_dct2_f64 | ( | f64_t * | aOutData, |
f64_t * | aInData, | ||
f64_t * | aScratch, | ||
size_t | aLogN, | ||
bool | aIdctFlag | ||
) |
Processing function for the floating-point DCT2.
Source buffer is modified by this function.
[out] | aOutData | points to output buffer. |
[in] | aInData | points to input buffer (Source buffer is modified by this function.) |
[in] | aScratch | points to a temporary buffer of size 2^(aLogN+1). |
[in] | aLogN | The length is 2^aLogN. |
tpt_status tpt_dct2_q15 | ( | q15_t * | aOutData, |
q15_t * | aInData, | ||
q15_t * | aScratch, | ||
size_t | aLogN, | ||
bool | aIdctFlag | ||
) |
Processing function for the Q15 DCT2.
Source buffer is modified by this function.
[out] | aOutData | points to output buffer. |
[in] | aInData | points to input buffer (Source buffer is modified by this function.) |
[in] | aScratch | points to a temporary buffer of size 2^(aLogN+1). |
[in] | aLogN | The length is 2^aLogN. |
tpt_status tpt_dct2_q31 | ( | q31_t * | aOutData, |
q31_t * | aInData, | ||
q31_t * | aScratch, | ||
size_t | aLogN, | ||
bool | aIdctFlag | ||
) |
Processing function for the Q31 DCT2.
Source buffer is modified by this function.
[out] | aOutData | points to output buffer. |
[in] | aInData | points to input buffer (Source buffer is modified by this function.) |
[in] | aScratch | points to a temporary buffer of size 2^(aLogN+1). |
[in] | aLogN | The length is 2^aLogN. |