windowing coefficients for short blocks derived from section 2.4.3.4.10.3 of ISO/IEC 11172-3 window_s[i] = sin((PI / 12) * (i + 1/2)) */
| 453 | window_s[i] = sin((PI / 12) * (i + 1/2)) |
| 454 | */ |
| 455 | static inline mad_fixed_t window_s(int i) |
| 456 | { |
| 457 | static mad_fixed_t const window_s_val[12] PROGMEM = { |
| 458 | MAD_F(0x0216a2a2) /* 0.130526192 */, MAD_F(0x061f78aa) /* 0.382683432 */, |
| 459 | MAD_F(0x09bd7ca0) /* 0.608761429 */, MAD_F(0x0cb19346) /* 0.793353340 */, |
| 460 | MAD_F(0x0ec835e8) /* 0.923879533 */, MAD_F(0x0fdcf549) /* 0.991444861 */, |
| 461 | MAD_F(0x0fdcf549) /* 0.991444861 */, MAD_F(0x0ec835e8) /* 0.923879533 */, |
| 462 | MAD_F(0x0cb19346) /* 0.793353340 */, MAD_F(0x09bd7ca0) /* 0.608761429 */, |
| 463 | MAD_F(0x061f78aa) /* 0.382683432 */, MAD_F(0x0216a2a2) /* 0.130526192 */, |
| 464 | }; |
| 465 | volatile uint32_t a = *(uint32_t*)&window_s_val[i]; |
| 466 | return *(mad_fixed_t*)&a; |
| 467 | } |
| 468 | |
| 469 | /* |
| 470 | coefficients for intensity stereo processing |
no outgoing calls
no test coverage detected