| 387 | } |
| 388 | |
| 389 | static inline mad_fixed_t ca(int i) |
| 390 | { |
| 391 | static mad_fixed_t const ca_val[8] PROGMEM = { |
| 392 | -MAD_F(0x083b5fe7) /* -0.514495755 */, -MAD_F(0x078c36d2) /* -0.471731969 */, |
| 393 | -MAD_F(0x05039814) /* -0.313377454 */, -MAD_F(0x02e91dd1) /* -0.181913200 */, |
| 394 | -MAD_F(0x0183603a) /* -0.094574193 */, -MAD_F(0x00a7cb87) /* -0.040965583 */, |
| 395 | -MAD_F(0x003a2847) /* -0.014198569 */, -MAD_F(0x000f27b4) /* -0.003699975 */ |
| 396 | }; |
| 397 | volatile uint32_t a = *(uint32_t*)&ca_val[i]; |
| 398 | return *(mad_fixed_t*)&a; |
| 399 | } |
| 400 | |
| 401 | /* |
| 402 | IMDCT coefficients for short blocks |