@@ -363,7 +363,8 @@ static mad_fixed_t const root_table_val[7] PROGMEM = {
363
363
};
364
364
static inline mad_fixed_t root_table (int i )
365
365
{
366
- return root_table_val [i ];
366
+ volatile mad_fixed_t a = root_table_val [i ];
367
+ return a ;
367
368
}
368
369
/*
369
370
coefficients for aliasing reduction
@@ -381,7 +382,8 @@ static mad_fixed_t const cs_val[8] PROGMEM = {
381
382
};
382
383
static inline mad_fixed_t cs (int i )
383
384
{
384
- return cs_val [i ];
385
+ volatile mad_fixed_t a = cs_val [i ];
386
+ return a ;
385
387
}
386
388
387
389
static mad_fixed_t const ca_val [8 ] PROGMEM = {
@@ -392,7 +394,8 @@ static mad_fixed_t const ca_val[8] PROGMEM = {
392
394
};
393
395
static inline mad_fixed_t ca (int i )
394
396
{
395
- return ca_val [i ];
397
+ volatile mad_fixed_t a = ca_val [i ];
398
+ return a ;
396
399
}
397
400
398
401
/*
@@ -438,7 +441,8 @@ static mad_fixed_t const window_l_val[36] PROGMEM = {
438
441
};
439
442
static inline mad_fixed_t window_l (int i )
440
443
{
441
- return window_l_val [i ];
444
+ volatile mad_fixed_t a = window_l_val [i ];
445
+ return * (mad_fixed_t * )& a ;
442
446
}
443
447
# endif /* ASO_IMDCT */
444
448
@@ -458,7 +462,8 @@ static mad_fixed_t const window_s_val[12] PROGMEM = {
458
462
};
459
463
static inline mad_fixed_t window_s (int i )
460
464
{
461
- return window_s_val [i ];
465
+ volatile mad_fixed_t a = window_s_val [i ];
466
+ return a ;
462
467
}
463
468
464
469
/*
@@ -479,7 +484,8 @@ static mad_fixed_t const is_table_val[7] PROGMEM = {
479
484
};
480
485
static inline mad_fixed_t is_table (int i )
481
486
{
482
- return is_table_val [i ];
487
+ volatile mad_fixed_t a = is_table_val [i ];
488
+ return a ;
483
489
}
484
490
485
491
/*
0 commit comments