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

◆ imdct_step3_inner_s_loop()

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

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

2232{
2233 int32_t i;
2234 // Renamed from A0-A7 to avoid conflict with Arduino analog pin macros
2235 float aa0 = A[0];
2236 float aa1 = A[0+1];
2237 float aa2 = A[0+a_off];
2238 float aa3 = A[0+a_off+1];
2239 float aa4 = A[0+a_off*2+0];
2240 float aa5 = A[0+a_off*2+1];
2241 float aa6 = A[0+a_off*3+0];
2242 float aa7 = A[0+a_off*3+1];
2243
2244 float k00,k11;
2245
2246 float *ee0 = e +i_off;
2247 float *ee2 = ee0+k_off;
2248
2249 for (i=n; i > 0; --i) {
2250 k00 = ee0[ 0] - ee2[ 0];
2251 k11 = ee0[-1] - ee2[-1];
2252 ee0[ 0] = ee0[ 0] + ee2[ 0];
2253 ee0[-1] = ee0[-1] + ee2[-1];
2254 ee2[ 0] = (k00) * aa0 - (k11) * aa1;
2255 ee2[-1] = (k11) * aa0 + (k00) * aa1;
2256
2257 k00 = ee0[-2] - ee2[-2];
2258 k11 = ee0[-3] - ee2[-3];
2259 ee0[-2] = ee0[-2] + ee2[-2];
2260 ee0[-3] = ee0[-3] + ee2[-3];
2261 ee2[-2] = (k00) * aa2 - (k11) * aa3;
2262 ee2[-3] = (k11) * aa2 + (k00) * aa3;
2263
2264 k00 = ee0[-4] - ee2[-4];
2265 k11 = ee0[-5] - ee2[-5];
2266 ee0[-4] = ee0[-4] + ee2[-4];
2267 ee0[-5] = ee0[-5] + ee2[-5];
2268 ee2[-4] = (k00) * aa4 - (k11) * aa5;
2269 ee2[-5] = (k11) * aa4 + (k00) * aa5;
2270
2271 k00 = ee0[-6] - ee2[-6];
2272 k11 = ee0[-7] - ee2[-7];
2273 ee0[-6] = ee0[-6] + ee2[-6];
2274 ee0[-7] = ee0[-7] + ee2[-7];
2275 ee2[-6] = (k00) * aa6 - (k11) * aa7;
2276 ee2[-7] = (k11) * aa6 + (k00) * aa7;
2277
2278 ee0 -= k0;
2279 ee2 -= k0;
2280 }
2281}
fl::i32 int32_t
Definition coder.h:220

References FL_NOEXCEPT.

Referenced by inverse_mdct().

+ Here is the caller graph for this function: