NMSIS-DSP
Version 1.3.1
NMSIS DSP Software Library
|
Functions | |
RISCV_DSP_ATTRIBUTE riscv_status | riscv_dct4_init_q31 (riscv_dct4_instance_q31 *S, riscv_rfft_instance_q31 *S_RFFT, riscv_cfft_radix4_instance_q31 *S_CFFT, uint16_t N, uint16_t Nby2, q31_t normalize) |
Initialization function for the Q31 DCT4/IDCT4. More... | |
RISCV_DSP_ATTRIBUTE void | riscv_dct4_q31 (const riscv_dct4_instance_q31 *S, q31_t *pState, q31_t *pInlineBuffer) |
Processing function for the Q31 DCT4/IDCT4. More... | |
RISCV_DSP_ATTRIBUTE riscv_status riscv_dct4_init_q31 | ( | riscv_dct4_instance_q31 * | S, |
riscv_rfft_instance_q31 * | S_RFFT, | ||
riscv_cfft_radix4_instance_q31 * | S_CFFT, | ||
uint16_t | N, | ||
uint16_t | Nby2, | ||
q31_t | normalize | ||
) |
Initialization function for the Q31 DCT4/IDCT4.
[in,out] | S | points to an instance of Q31 DCT4/IDCT4 structure. |
[in] | S_RFFT | points to an instance of Q31 RFFT/RIFFT structure |
[in] | S_CFFT | points to an instance of Q31 CFFT/CIFFT structure |
[in] | N | length of the DCT4. |
[in] | Nby2 | half of the length of the DCT4. |
[in] | normalize | normalizing factor. |
N
is not a supported transform lengthsqrt(2/N)
, which depends on the size of transform N
. Normalizing factors in 1.31 format are mentioned in the table below for different DCT sizes:DCT Size | Normalizing factor value (hexadecimal) |
---|---|
2048 | 0x4000000 |
512 | 0x8000000 |
128 | 0x10000000 |
RISCV_DSP_ATTRIBUTE void riscv_dct4_q31 | ( | const riscv_dct4_instance_q31 * | S, |
q31_t * | pState, | ||
q31_t * | pInlineBuffer | ||
) |
Processing function for the Q31 DCT4/IDCT4.
[in] | S | points to an instance of the Q31 DCT4 structure. |
[in] | pState | points to state buffer. |
[in,out] | pInlineBuffer | points to the in-place input and output buffer. |
DCT Size | Input format | Output format | Number of bits to upscale |
---|---|---|---|
2048 | 2.30 | 12.20 | 11 |
512 | 2.30 | 10.22 | 9 |
128 | 2.30 | 8.24 | 7 |