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

◆ imdct_step3_iter0_loop()

static void fl::third_party::vorbis::imdct_step3_iter0_loop ( int32_t n,
float * e,
int32_t i_off,
int32_t k_off,
float * A )
static

Definition at line 2136 of file stb_vorbis.cpp.hpp.

2137{
2138 float *ee0 = e + i_off;
2139 float *ee2 = ee0 + k_off;
2140 int32_t i;
2141
2142 FL_ASSERT((n & 3) == 0, "n must be multiple of 4");
2143 for (i=(n>>2); i > 0; --i) {
2144 float k00_20, k01_21;
2145 k00_20 = ee0[ 0] - ee2[ 0];
2146 k01_21 = ee0[-1] - ee2[-1];
2147 ee0[ 0] += ee2[ 0];//ee0[ 0] = ee0[ 0] + ee2[ 0];
2148 ee0[-1] += ee2[-1];//ee0[-1] = ee0[-1] + ee2[-1];
2149 ee2[ 0] = k00_20 * A[0] - k01_21 * A[1];
2150 ee2[-1] = k01_21 * A[0] + k00_20 * A[1];
2151 A += 8;
2152
2153 k00_20 = ee0[-2] - ee2[-2];
2154 k01_21 = ee0[-3] - ee2[-3];
2155 ee0[-2] += ee2[-2];//ee0[-2] = ee0[-2] + ee2[-2];
2156 ee0[-3] += ee2[-3];//ee0[-3] = ee0[-3] + ee2[-3];
2157 ee2[-2] = k00_20 * A[0] - k01_21 * A[1];
2158 ee2[-3] = k01_21 * A[0] + k00_20 * A[1];
2159 A += 8;
2160
2161 k00_20 = ee0[-4] - ee2[-4];
2162 k01_21 = ee0[-5] - ee2[-5];
2163 ee0[-4] += ee2[-4];//ee0[-4] = ee0[-4] + ee2[-4];
2164 ee0[-5] += ee2[-5];//ee0[-5] = ee0[-5] + ee2[-5];
2165 ee2[-4] = k00_20 * A[0] - k01_21 * A[1];
2166 ee2[-5] = k01_21 * A[0] + k00_20 * A[1];
2167 A += 8;
2168
2169 k00_20 = ee0[-6] - ee2[-6];
2170 k01_21 = ee0[-7] - ee2[-7];
2171 ee0[-6] += ee2[-6];//ee0[-6] = ee0[-6] + ee2[-6];
2172 ee0[-7] += ee2[-7];//ee0[-7] = ee0[-7] + ee2[-7];
2173 ee2[-6] = k00_20 * A[0] - k01_21 * A[1];
2174 ee2[-7] = k01_21 * A[0] + k00_20 * A[1];
2175 A += 8;
2176 ee0 -= 8;
2177 ee2 -= 8;
2178 }
2179}
#define FL_ASSERT(x, MSG)
Definition assert.h:6
fl::i32 int32_t
Definition coder.h:220

References FL_ASSERT, and FL_NOEXCEPT.

Referenced by inverse_mdct().

+ Here is the caller graph for this function: