![]() |
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=0
The 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. |