FastLED 3.10.6
Loading...
Searching...
No Matches

◆ mp3d_imdct36_twiddle()

static MP3D_KERNEL void mp3d_imdct36_twiddle ( int32_t * grbuf,
int32_t * overlap,
const int32_t * window,
const int32_t * co,
const int32_t * si )
static

Definition at line 421 of file minimp3_synth_fixed.h.

424{
425 int i;
426#if MP3D_SIMD_KERNELS_LIVE
427 if (MP3D_SIMD_AVAILABLE())
428 {
429 mp3d_imdct36_twiddle_simd(grbuf, overlap, window, co, si);
430 return;
431 }
432#endif
433 for (i = 0; i < 9; i++)
434 {
435 const int32_t ovl = overlap[i];
436 const int32_t sum = mp3d_narrow_q30(
437 (int64_t)co[i]*g_twid9_q30[9 + i] +
438 (int64_t)si[i]*g_twid9_q30[0 + i]);
439 overlap[i] = mp3d_narrow_q30(
440 (int64_t)co[i]*g_twid9_q30[0 + i] -
441 (int64_t)si[i]*g_twid9_q30[9 + i]);
442 grbuf[i] = mp3d_narrow_q30(
443 (int64_t)ovl*window[0 + i] - (int64_t)sum*window[9 + i]);
444 grbuf[17 - i] = mp3d_narrow_q30(
445 (int64_t)ovl*window[9 + i] + (int64_t)sum*window[0 + i]);
446 }
447}
static const int32_t g_twid9_q30[18]
fl::i32 int32_t
Definition stdint.h:219

References FL_NO_EXCEPT, and g_twid9_q30.