FastLED 3.9.15
Loading...
Searching...
No Matches

◆ AntiAlias()

static void fl::third_party::AntiAlias ( int32_t * x,
int32_t nBfly )
static

Definition at line 80 of file imdct.hpp.

81{
82 int32_t k;
83 int32_t a0, b0, c0, c1;
84 const int32_t *c;
85
86 /* csa = Q31 */
87 for (k = nBfly; k > 0; k--) {
88 c = csa[0];
89 x += 18;
90
91 a0 = x[-1]; c0 = *c; c++; b0 = x[0]; c1 = *c; c++;
92 x[-1] = (MULSHIFT32(c0, a0) - MULSHIFT32(c1, b0)) * 2L;
93 x[0] = (MULSHIFT32(c0, b0) + MULSHIFT32(c1, a0)) * 2L;
94
95 a0 = x[-2]; c0 = *c; c++; b0 = x[1]; c1 = *c; c++;
96 x[-2] = (MULSHIFT32(c0, a0) - MULSHIFT32(c1, b0)) * 2L;
97 x[1] = (MULSHIFT32(c0, b0) + MULSHIFT32(c1, a0)) * 2L;
98
99 a0 = x[-3]; c0 = *c; c++; b0 = x[2]; c1 = *c; c++;
100 x[-3] = (MULSHIFT32(c0, a0) - MULSHIFT32(c1, b0)) * 2L;
101 x[2] = (MULSHIFT32(c0, b0) + MULSHIFT32(c1, a0)) * 2L;
102
103 a0 = x[-4]; c0 = *c; c++; b0 = x[3]; c1 = *c; c++;
104 x[-4] = (MULSHIFT32(c0, a0) - MULSHIFT32(c1, b0)) * 2L;
105 x[3] = (MULSHIFT32(c0, b0) + MULSHIFT32(c1, a0)) * 2L;
106
107 a0 = x[-5]; c0 = *c; c++; b0 = x[4]; c1 = *c; c++;
108 x[-5] = (MULSHIFT32(c0, a0) - MULSHIFT32(c1, b0)) * 2L;
109 x[4] = (MULSHIFT32(c0, b0) + MULSHIFT32(c1, a0)) * 2L;
110
111 a0 = x[-6]; c0 = *c; c++; b0 = x[5]; c1 = *c; c++;
112 x[-6] = (MULSHIFT32(c0, a0) - MULSHIFT32(c1, b0)) * 2L;
113 x[5] = (MULSHIFT32(c0, b0) + MULSHIFT32(c1, a0)) * 2L;
114
115 a0 = x[-7]; c0 = *c; c++; b0 = x[6]; c1 = *c; c++;
116 x[-7] = (MULSHIFT32(c0, a0) - MULSHIFT32(c1, b0)) * 2L;
117 x[6] = (MULSHIFT32(c0, b0) + MULSHIFT32(c1, a0)) * 2L;
118
119 a0 = x[-8]; c0 = *c; c++; b0 = x[7]; c1 = *c; c++;
120 x[-8] = (MULSHIFT32(c0, a0) - MULSHIFT32(c1, b0)) * 2L;
121 x[7] = (MULSHIFT32(c0, b0) + MULSHIFT32(c1, a0)) * 2L;
122 }
123}
__inline int32_t MULSHIFT32(int32_t x, int32_t y) FL_NOEXCEPT
Multiply together two 32-bit numbers and return the top 32-bits of the result.
Definition assembly.h:503
const int32_t csa[8][2]
Definition trigtabs.hpp:229
fl::i32 int32_t
Definition coder.h:220

References csa, FL_NOEXCEPT, MULSHIFT32(), and fl::x.

Referenced by IMDCT().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: