summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2011-02-05 19:50:16 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2011-02-05 19:50:16 +0000
commit8033cb6250c403f4b7c189c4aa4c085df145a044 (patch)
treef016b3dfda878c2baa71e9aabccd4a3fc766432a
parentf3adc77fd509392479e09f97a6fe72a90e2c4cc1 (diff)
downloadrockbox-8033cb6250c403f4b7c189c4aa4c085df145a044.tar.gz
rockbox-8033cb6250c403f4b7c189c4aa4c085df145a044.zip
Use MEM_ALIGN_ATTR in libfaad. Remove global array and re-use existing one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29211 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/codecs/aac.c4
-rw-r--r--apps/codecs/libfaad/filtbank.c4
-rw-r--r--apps/codecs/libfaad/ic_predict.h8
-rw-r--r--apps/codecs/libfaad/iq_table.h4
-rw-r--r--apps/codecs/libfaad/kbd_win.h8
-rw-r--r--apps/codecs/libfaad/lt_predict.c6
-rw-r--r--apps/codecs/libfaad/sbr_dec.c30
-rw-r--r--apps/codecs/libfaad/sbr_hfadj.c26
-rw-r--r--apps/codecs/libfaad/sbr_hfgen.c5
-rw-r--r--apps/codecs/libfaad/sbr_noise.h2
-rw-r--r--apps/codecs/libfaad/sbr_qmf_c.h3
-rw-r--r--apps/codecs/libfaad/sine_win.h16
-rw-r--r--apps/codecs/libfaad/specrec.c64
-rw-r--r--apps/codecs/libfaad/syntax.c10
14 files changed, 95 insertions, 95 deletions
diff --git a/apps/codecs/aac.c b/apps/codecs/aac.c
index 0b27eed472..34239864d1 100644
--- a/apps/codecs/aac.c
+++ b/apps/codecs/aac.c
@@ -30,8 +30,8 @@ CODEC_HEADER
30/* Global buffers to be used in the mdct synthesis. This way the arrays can 30/* Global buffers to be used in the mdct synthesis. This way the arrays can
31 * be moved to IRAM for some targets */ 31 * be moved to IRAM for some targets */
32#define GB_BUF_SIZE 1024 32#define GB_BUF_SIZE 1024
33static ALIGN real_t gb_time_buffer[2][GB_BUF_SIZE] IBSS_ATTR_FAAD_LARGE_IRAM; 33static real_t gb_time_buffer[2][GB_BUF_SIZE] IBSS_ATTR_FAAD_LARGE_IRAM MEM_ALIGN_ATTR;
34static ALIGN real_t gb_fb_intermed[2][GB_BUF_SIZE] IBSS_ATTR_FAAD_LARGE_IRAM; 34static real_t gb_fb_intermed[2][GB_BUF_SIZE] IBSS_ATTR_FAAD_LARGE_IRAM MEM_ALIGN_ATTR;
35 35
36/* this is the codec entry point */ 36/* this is the codec entry point */
37enum codec_status codec_main(void) 37enum codec_status codec_main(void)
diff --git a/apps/codecs/libfaad/filtbank.c b/apps/codecs/libfaad/filtbank.c
index 0c1f6c03cf..906af9e1a9 100644
--- a/apps/codecs/libfaad/filtbank.c
+++ b/apps/codecs/libfaad/filtbank.c
@@ -196,7 +196,7 @@ static INLINE void mdct(fb_info *fb, real_t *in_data, real_t *out_data, uint16_t
196} 196}
197#endif 197#endif
198 198
199ALIGN real_t transf_buf[2*1024] IBSS_ATTR; 199real_t transf_buf[2*1024] IBSS_ATTR MEM_ALIGN_ATTR;
200 200
201void ifilter_bank(uint8_t window_sequence, uint8_t window_shape, 201void ifilter_bank(uint8_t window_sequence, uint8_t window_shape,
202 uint8_t window_shape_prev, real_t *freq_in, 202 uint8_t window_shape_prev, real_t *freq_in,
@@ -403,7 +403,7 @@ void ifilter_bank(uint8_t window_sequence, uint8_t window_shape,
403 403
404 404
405#ifdef LTP_DEC 405#ifdef LTP_DEC
406ALIGN real_t windowed_buf[2*1024] = {0}; 406real_t windowed_buf[2*1024] MEM_ALIGN_ATTR = {0};
407/* only works for LTP -> no overlapping, no short blocks */ 407/* only works for LTP -> no overlapping, no short blocks */
408void filter_bank_ltp(fb_info *fb, uint8_t window_sequence, uint8_t window_shape, 408void filter_bank_ltp(fb_info *fb, uint8_t window_sequence, uint8_t window_shape,
409 uint8_t window_shape_prev, real_t *in_data, real_t *out_mdct, 409 uint8_t window_shape_prev, real_t *in_data, real_t *out_mdct,
diff --git a/apps/codecs/libfaad/ic_predict.h b/apps/codecs/libfaad/ic_predict.h
index acaa9d8a4b..1f2d2c657e 100644
--- a/apps/codecs/libfaad/ic_predict.h
+++ b/apps/codecs/libfaad/ic_predict.h
@@ -42,8 +42,8 @@ void pns_reset_pred_state(ic_stream *ics, pred_state *state);
42void reset_all_predictors(pred_state *state, uint16_t frame_len); 42void reset_all_predictors(pred_state *state, uint16_t frame_len);
43void ic_prediction(ic_stream *ics, real_t *spec, pred_state *state, 43void ic_prediction(ic_stream *ics, real_t *spec, pred_state *state,
44 uint16_t frame_len, uint8_t sf_index); 44 uint16_t frame_len, uint8_t sf_index);
45 45#warning MEM_ALIGN_ATTR me!
46ALIGN static const real_t mnt_table[128] = { 46static const real_t mnt_table[128] = {
47 COEF_CONST(0.9531250000), COEF_CONST(0.9453125000), 47 COEF_CONST(0.9531250000), COEF_CONST(0.9453125000),
48 COEF_CONST(0.9375000000), COEF_CONST(0.9296875000), 48 COEF_CONST(0.9375000000), COEF_CONST(0.9296875000),
49 COEF_CONST(0.9257812500), COEF_CONST(0.9179687500), 49 COEF_CONST(0.9257812500), COEF_CONST(0.9179687500),
@@ -109,8 +109,8 @@ ALIGN static const real_t mnt_table[128] = {
109 COEF_CONST(0.4843750000), COEF_CONST(0.4824218750), 109 COEF_CONST(0.4843750000), COEF_CONST(0.4824218750),
110 COEF_CONST(0.4804687500), COEF_CONST(0.4785156250) 110 COEF_CONST(0.4804687500), COEF_CONST(0.4785156250)
111}; 111};
112 112#warning MEM_ALIGN_ATTR me!
113ALIGN static const real_t exp_table[128] = { 113static const real_t exp_table[128] = {
114 COEF_CONST(0.50000000000000000000000000000000000000000000000000), 114 COEF_CONST(0.50000000000000000000000000000000000000000000000000),
115 COEF_CONST(0.25000000000000000000000000000000000000000000000000), 115 COEF_CONST(0.25000000000000000000000000000000000000000000000000),
116 COEF_CONST(0.12500000000000000000000000000000000000000000000000), 116 COEF_CONST(0.12500000000000000000000000000000000000000000000000),
diff --git a/apps/codecs/libfaad/iq_table.h b/apps/codecs/libfaad/iq_table.h
index 84d279c031..eaf2fe4671 100644
--- a/apps/codecs/libfaad/iq_table.h
+++ b/apps/codecs/libfaad/iq_table.h
@@ -45,7 +45,7 @@ extern "C" {
45#pragma warning(disable:4244) 45#pragma warning(disable:4244)
46#endif 46#endif
47 47
48ALIGN static const real_t iq_table[IQ_TABLE_SIZE] = 48static const real_t iq_table[IQ_TABLE_SIZE] MEM_ALIGN_ATTR =
49{ 49{
50 0, 50 0,
51 1, 51 1,
@@ -8249,7 +8249,7 @@ ALIGN static const real_t iq_table[IQ_TABLE_SIZE] =
8249#define IQ_TABLE_SIZE 1026 8249#define IQ_TABLE_SIZE 1026
8250#endif 8250#endif
8251 8251
8252ALIGN static const real_t iq_table[IQ_TABLE_SIZE] = 8252static const real_t iq_table[IQ_TABLE_SIZE] MEM_ALIGN_ATTR =
8253{ 8253{
8254 REAL_CONST(0.0), 8254 REAL_CONST(0.0),
8255 REAL_CONST(1.0/8.0), 8255 REAL_CONST(1.0/8.0),
diff --git a/apps/codecs/libfaad/kbd_win.h b/apps/codecs/libfaad/kbd_win.h
index 1c3fd096ac..8abd3c070c 100644
--- a/apps/codecs/libfaad/kbd_win.h
+++ b/apps/codecs/libfaad/kbd_win.h
@@ -37,7 +37,7 @@ extern "C" {
37#pragma warning(disable:4244) 37#pragma warning(disable:4244)
38#endif 38#endif
39 39
40ALIGN static const real_t kbd_long_1024[] ICONST_ATTR = 40static const real_t kbd_long_1024[] ICONST_ATTR MEM_ALIGN_ATTR =
41{ 41{
42 FRAC_CONST(0.00029256153896361), 42 FRAC_CONST(0.00029256153896361),
43 FRAC_CONST(0.00042998567353047), 43 FRAC_CONST(0.00042998567353047),
@@ -1066,7 +1066,7 @@ ALIGN static const real_t kbd_long_1024[] ICONST_ATTR =
1066}; 1066};
1067 1067
1068#ifdef ALLOW_SMALL_FRAMELENGTH 1068#ifdef ALLOW_SMALL_FRAMELENGTH
1069ALIGN static const real_t kbd_long_960[] = { 1069static const real_t kbd_long_960[] MEM_ALIGN_ATTR = {
1070 FRAC_CONST(0.0003021562530949), 1070 FRAC_CONST(0.0003021562530949),
1071 FRAC_CONST(0.0004452267024786), 1071 FRAC_CONST(0.0004452267024786),
1072 FRAC_CONST(0.0005674947527496), 1072 FRAC_CONST(0.0005674947527496),
@@ -2030,7 +2030,7 @@ ALIGN static const real_t kbd_long_960[] = {
2030}; 2030};
2031#endif 2031#endif
2032 2032
2033ALIGN static const real_t kbd_short_128[] ICONST_ATTR = 2033static const real_t kbd_short_128[] ICONST_ATTR MEM_ALIGN_ATTR =
2034{ 2034{
2035 FRAC_CONST(4.3795702929468881e-005), 2035 FRAC_CONST(4.3795702929468881e-005),
2036 FRAC_CONST(0.00011867384265436617), 2036 FRAC_CONST(0.00011867384265436617),
@@ -2163,7 +2163,7 @@ ALIGN static const real_t kbd_short_128[] ICONST_ATTR =
2163}; 2163};
2164 2164
2165#ifdef ALLOW_SMALL_FRAMELENGTH 2165#ifdef ALLOW_SMALL_FRAMELENGTH
2166ALIGN static const real_t kbd_short_120[] = 2166static const real_t kbd_short_120[] MEM_ALIGN_ATTR =
2167{ 2167{
2168 FRAC_CONST(0.0000452320086910), 2168 FRAC_CONST(0.0000452320086910),
2169 FRAC_CONST(0.0001274564692111), 2169 FRAC_CONST(0.0001274564692111),
diff --git a/apps/codecs/libfaad/lt_predict.c b/apps/codecs/libfaad/lt_predict.c
index 3edb9c7586..f03354fc01 100644
--- a/apps/codecs/libfaad/lt_predict.c
+++ b/apps/codecs/libfaad/lt_predict.c
@@ -65,7 +65,7 @@ uint8_t is_ltp_ot(uint8_t object_type)
65 return 0; 65 return 0;
66} 66}
67 67
68ALIGN static const real_t codebook[8] = 68static const real_t codebook[8] MEM_ALIGN_ATTR =
69{ 69{
70 REAL_CONST(0.570829), 70 REAL_CONST(0.570829),
71 REAL_CONST(0.696616), 71 REAL_CONST(0.696616),
@@ -77,8 +77,8 @@ ALIGN static const real_t codebook[8] =
77 REAL_CONST(1.369533) 77 REAL_CONST(1.369533)
78}; 78};
79 79
80ALIGN real_t x_est[2048]; 80static real_t x_est[2048] MEM_ALIGN_ATTR;
81ALIGN real_t X_est[2048]; 81static real_t X_est[2048] MEM_ALIGN_ATTR;
82void lt_prediction(ic_stream *ics, ltp_info *ltp, real_t *spec, 82void lt_prediction(ic_stream *ics, ltp_info *ltp, real_t *spec,
83 int16_t *lt_pred_stat, fb_info *fb, uint8_t win_shape, 83 int16_t *lt_pred_stat, fb_info *fb, uint8_t win_shape,
84 uint8_t win_shape_prev, uint8_t sr_index, 84 uint8_t win_shape_prev, uint8_t sr_index,
diff --git a/apps/codecs/libfaad/sbr_dec.c b/apps/codecs/libfaad/sbr_dec.c
index 78c9c79d5d..4d9f9c4c45 100644
--- a/apps/codecs/libfaad/sbr_dec.c
+++ b/apps/codecs/libfaad/sbr_dec.c
@@ -42,6 +42,11 @@
42#include "sbr_hfadj.h" 42#include "sbr_hfadj.h"
43 43
44 44
45/* globals */
46static qmf_t X_left [MAX_NTSRHFG][64] MEM_ALIGN_ATTR;// = {{0}};
47static qmf_t X_right[MAX_NTSRHFG][64] MEM_ALIGN_ATTR;// = {{0}}; /* must set this to 0 */
48
49
45/* static function declarations */ 50/* static function declarations */
46static uint8_t sbr_save_prev_data(sbr_info *sbr, uint8_t ch); 51static uint8_t sbr_save_prev_data(sbr_info *sbr, uint8_t ch);
47static void sbr_save_matrix(sbr_info *sbr, uint8_t ch); 52static void sbr_save_matrix(sbr_info *sbr, uint8_t ch);
@@ -227,7 +232,7 @@ static void sbr_save_matrix(sbr_info *sbr, uint8_t ch)
227} 232}
228 233
229#ifdef SBR_LOW_POWER 234#ifdef SBR_LOW_POWER
230 ALIGN real_t deg[64]; 235 real_t deg[64] MEM_ALIGN_ATTR;
231#endif 236#endif
232 237
233static void sbr_process_channel(sbr_info *sbr, real_t *channel_buf, qmf_t X[MAX_NTSR][64], 238static void sbr_process_channel(sbr_info *sbr, real_t *channel_buf, qmf_t X[MAX_NTSR][64],
@@ -370,7 +375,6 @@ static void sbr_process_channel(sbr_info *sbr, real_t *channel_buf, qmf_t X[MAX_
370 } 375 }
371} 376}
372 377
373ALIGN qmf_t X[MAX_NTSR][64];
374uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan, 378uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan,
375 const uint8_t just_seeked, const uint8_t downSampledSBR) 379 const uint8_t just_seeked, const uint8_t downSampledSBR)
376{ 380{
@@ -401,22 +405,22 @@ uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_cha
401 sbr->just_seeked = 0; 405 sbr->just_seeked = 0;
402 } 406 }
403 407
404 sbr_process_channel(sbr, left_chan, X, 0, dont_process, downSampledSBR); 408 sbr_process_channel(sbr, left_chan, X_left, 0, dont_process, downSampledSBR);
405 /* subband synthesis */ 409 /* subband synthesis */
406 if (downSampledSBR) 410 if (downSampledSBR)
407 { 411 {
408 sbr_qmf_synthesis_32(sbr, sbr->qmfs[0], X, left_chan); 412 sbr_qmf_synthesis_32(sbr, sbr->qmfs[0], X_left, left_chan);
409 } else { 413 } else {
410 sbr_qmf_synthesis_64(sbr, sbr->qmfs[0], X, left_chan); 414 sbr_qmf_synthesis_64(sbr, sbr->qmfs[0], X_left, left_chan);
411 } 415 }
412 416
413 sbr_process_channel(sbr, right_chan, X, 1, dont_process, downSampledSBR); 417 sbr_process_channel(sbr, right_chan, X_right, 1, dont_process, downSampledSBR);
414 /* subband synthesis */ 418 /* subband synthesis */
415 if (downSampledSBR) 419 if (downSampledSBR)
416 { 420 {
417 sbr_qmf_synthesis_32(sbr, sbr->qmfs[1], X, right_chan); 421 sbr_qmf_synthesis_32(sbr, sbr->qmfs[1], X_right, right_chan);
418 } else { 422 } else {
419 sbr_qmf_synthesis_64(sbr, sbr->qmfs[1], X, right_chan); 423 sbr_qmf_synthesis_64(sbr, sbr->qmfs[1], X_right, right_chan);
420 } 424 }
421 425
422 if (sbr->bs_header_flag) 426 if (sbr->bs_header_flag)
@@ -453,8 +457,6 @@ uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_cha
453 return 0; 457 return 0;
454} 458}
455 459
456ALIGN qmf_t X[MAX_NTSR][64];
457
458uint8_t sbrDecodeSingleFrame(sbr_info *sbr, real_t *channel, 460uint8_t sbrDecodeSingleFrame(sbr_info *sbr, real_t *channel,
459 const uint8_t just_seeked, const uint8_t downSampledSBR) 461 const uint8_t just_seeked, const uint8_t downSampledSBR)
460{ 462{
@@ -485,13 +487,13 @@ uint8_t sbrDecodeSingleFrame(sbr_info *sbr, real_t *channel,
485 sbr->just_seeked = 0; 487 sbr->just_seeked = 0;
486 } 488 }
487 489
488 sbr_process_channel(sbr, channel, X, 0, dont_process, downSampledSBR); 490 sbr_process_channel(sbr, channel, X_left, 0, dont_process, downSampledSBR);
489 /* subband synthesis */ 491 /* subband synthesis */
490 if (downSampledSBR) 492 if (downSampledSBR)
491 { 493 {
492 sbr_qmf_synthesis_32(sbr, sbr->qmfs[0], X, channel); 494 sbr_qmf_synthesis_32(sbr, sbr->qmfs[0], X_left, channel);
493 } else { 495 } else {
494 sbr_qmf_synthesis_64(sbr, sbr->qmfs[0], X, channel); 496 sbr_qmf_synthesis_64(sbr, sbr->qmfs[0], X_left, channel);
495 } 497 }
496 498
497 if (sbr->bs_header_flag) 499 if (sbr->bs_header_flag)
@@ -521,8 +523,6 @@ uint8_t sbrDecodeSingleFrame(sbr_info *sbr, real_t *channel,
521 return 0; 523 return 0;
522} 524}
523 525
524qmf_t X_left [MAX_NTSRHFG][64] MEM_ALIGN_ATTR;// = {{0}};
525qmf_t X_right[MAX_NTSRHFG][64] MEM_ALIGN_ATTR;// = {{0}}; /* must set this to 0 */
526 526
527#if (defined(PS_DEC) || defined(DRM_PS)) 527#if (defined(PS_DEC) || defined(DRM_PS))
528uint8_t sbrDecodeSingleFramePS(sbr_info *sbr, real_t *left_channel, real_t *right_channel, 528uint8_t sbrDecodeSingleFramePS(sbr_info *sbr, real_t *left_channel, real_t *right_channel,
diff --git a/apps/codecs/libfaad/sbr_hfadj.c b/apps/codecs/libfaad/sbr_hfadj.c
index 806604519b..b562bf904a 100644
--- a/apps/codecs/libfaad/sbr_hfadj.c
+++ b/apps/codecs/libfaad/sbr_hfadj.c
@@ -62,7 +62,7 @@ void hf_adjustment(sbr_info *sbr, qmf_t Xsbr[MAX_NTSRHFG][64]
62#endif 62#endif
63 ,uint8_t ch) 63 ,uint8_t ch)
64{ 64{
65 ALIGN sbr_hfadj_info adj; 65 sbr_hfadj_info adj MEM_ALIGN_ATTR;
66 66
67 memset(&adj,0,sizeof(adj)); 67 memset(&adj,0,sizeof(adj));
68 if (sbr->bs_frame_class[ch] == FIXFIX) 68 if (sbr->bs_frame_class[ch] == FIXFIX)
@@ -416,10 +416,10 @@ static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch)
416 uint8_t current_t_noise_band = 0; 416 uint8_t current_t_noise_band = 0;
417 uint8_t S_mapped; 417 uint8_t S_mapped;
418 418
419 ALIGN real_t Q_M_lim[MAX_M]; 419 real_t Q_M_lim[MAX_M] MEM_ALIGN_ATTR;
420 ALIGN real_t G_lim[MAX_M]; 420 real_t G_lim[MAX_M] MEM_ALIGN_ATTR;
421 ALIGN real_t G_boost; 421 real_t G_boost MEM_ALIGN_ATTR;
422 ALIGN real_t S_M[MAX_M]; 422 real_t S_M[MAX_M] MEM_ALIGN_ATTR;
423 423
424 for (l = 0; l < sbr->L_E[ch]; l++) 424 for (l = 0; l < sbr->L_E[ch]; l++)
425 { 425 {
@@ -879,10 +879,10 @@ static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch)
879 uint8_t current_t_noise_band = 0; 879 uint8_t current_t_noise_band = 0;
880 uint8_t S_mapped; 880 uint8_t S_mapped;
881 881
882 ALIGN real_t Q_M_lim[MAX_M]; 882 real_t Q_M_lim[MAX_M] MEM_ALIGN_ATTR;
883 ALIGN real_t G_lim[MAX_M]; 883 real_t G_lim[MAX_M] MEM_ALIGN_ATTR;
884 ALIGN real_t G_boost; 884 real_t G_boost MEM_ALIGN_ATTR;
885 ALIGN real_t S_M[MAX_M]; 885 real_t S_M[MAX_M] MEM_ALIGN_ATTR;
886 886
887 for (l = 0; l < sbr->L_E[ch]; l++) 887 for (l = 0; l < sbr->L_E[ch]; l++)
888 { 888 {
@@ -1126,10 +1126,10 @@ static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch)
1126 uint8_t current_t_noise_band = 0; 1126 uint8_t current_t_noise_band = 0;
1127 uint8_t S_mapped; 1127 uint8_t S_mapped;
1128 1128
1129 ALIGN real_t Q_M_lim[MAX_M]; 1129 real_t Q_M_lim[MAX_M] MEM_ALIGN_ATTR;
1130 ALIGN real_t G_lim[MAX_M]; 1130 real_t G_lim[MAX_M] MEM_ALIGN_ATTR;
1131 ALIGN real_t G_boost; 1131 real_t G_boost MEM_ALIGN_ATTR;
1132 ALIGN real_t S_M[MAX_M]; 1132 real_t S_M[MAX_M] MEM_ALIGN_ATTR;
1133 1133
1134 for (l = 0; l < sbr->L_E[ch]; l++) 1134 for (l = 0; l < sbr->L_E[ch]; l++)
1135 { 1135 {
diff --git a/apps/codecs/libfaad/sbr_hfgen.c b/apps/codecs/libfaad/sbr_hfgen.c
index 66ef656e55..1e32eb26bc 100644
--- a/apps/codecs/libfaad/sbr_hfgen.c
+++ b/apps/codecs/libfaad/sbr_hfgen.c
@@ -58,9 +58,10 @@ void hf_generation(sbr_info *sbr, qmf_t Xlow[MAX_NTSRHFG][64],
58 ,uint8_t ch) 58 ,uint8_t ch)
59{ 59{
60 uint8_t l, i, x; 60 uint8_t l, i, x;
61 ALIGN complex_t alpha_0[64], alpha_1[64]; 61 complex_t alpha_0[64] MEM_ALIGN_ATTR;
62 complex_t alpha_1[64] MEM_ALIGN_ATTR;
62#ifdef SBR_LOW_POWER 63#ifdef SBR_LOW_POWER
63 ALIGN real_t rxx[64]; 64 real_t rxx[64];
64#endif 65#endif
65 66
66 uint8_t offset = sbr->tHFAdj; 67 uint8_t offset = sbr->tHFAdj;
diff --git a/apps/codecs/libfaad/sbr_noise.h b/apps/codecs/libfaad/sbr_noise.h
index 73ec5f463c..48f0ea9d18 100644
--- a/apps/codecs/libfaad/sbr_noise.h
+++ b/apps/codecs/libfaad/sbr_noise.h
@@ -39,7 +39,7 @@ extern "C" {
39 39
40 40
41/* Table 1.A.13 Noise table V */ 41/* Table 1.A.13 Noise table V */
42ALIGN static const complex_t V[] = { 42static const complex_t V[] MEM_ALIGN_ATTR = {
43 { FRAC_CONST(-0.99948155879974), FRAC_CONST(-0.59483414888382) }, 43 { FRAC_CONST(-0.99948155879974), FRAC_CONST(-0.59483414888382) },
44 { FRAC_CONST(0.97113454341888), FRAC_CONST(-0.67528516054153) }, 44 { FRAC_CONST(0.97113454341888), FRAC_CONST(-0.67528516054153) },
45 { FRAC_CONST(0.14130051434040), FRAC_CONST(-0.95090985298157) }, 45 { FRAC_CONST(0.14130051434040), FRAC_CONST(-0.95090985298157) },
diff --git a/apps/codecs/libfaad/sbr_qmf_c.h b/apps/codecs/libfaad/sbr_qmf_c.h
index fcd242bcd0..0ceb487bec 100644
--- a/apps/codecs/libfaad/sbr_qmf_c.h
+++ b/apps/codecs/libfaad/sbr_qmf_c.h
@@ -37,8 +37,7 @@ extern "C" {
37#pragma warning(disable:4305) 37#pragma warning(disable:4305)
38#pragma warning(disable:4244) 38#pragma warning(disable:4244)
39#endif 39#endif
40 40static const real_t qmf_c[640] ICONST_ATTR_FAAD_LARGE_IRAM MEM_ALIGN_ATTR = {
41ALIGN static const real_t qmf_c[640] ICONST_ATTR_FAAD_LARGE_IRAM = {
42 FRAC_CONST( 0.00000000000000), FRAC_CONST( 0.00262017586902), FRAC_CONST( 0.01327182200351), FRAC_CONST( 0.07035330735093), FRAC_CONST( 0.36115899031355), 41 FRAC_CONST( 0.00000000000000), FRAC_CONST( 0.00262017586902), FRAC_CONST( 0.01327182200351), FRAC_CONST( 0.07035330735093), FRAC_CONST( 0.36115899031355),
43 FRAC_CONST( 0.85373856005937), FRAC_CONST(-0.36115899031355), FRAC_CONST( 0.07035330735093), FRAC_CONST(-0.01327182200351), FRAC_CONST( 0.00262017586902), 42 FRAC_CONST( 0.85373856005937), FRAC_CONST(-0.36115899031355), FRAC_CONST( 0.07035330735093), FRAC_CONST(-0.01327182200351), FRAC_CONST( 0.00262017586902),
44 FRAC_CONST(-0.00055252865047), FRAC_CONST( 0.00278704643465), FRAC_CONST( 0.01439046660792), FRAC_CONST( 0.06896640131951), FRAC_CONST( 0.37237955463061), 43 FRAC_CONST(-0.00055252865047), FRAC_CONST( 0.00278704643465), FRAC_CONST( 0.01439046660792), FRAC_CONST( 0.06896640131951), FRAC_CONST( 0.37237955463061),
diff --git a/apps/codecs/libfaad/sine_win.h b/apps/codecs/libfaad/sine_win.h
index edd3b407f1..3e042f15f7 100644
--- a/apps/codecs/libfaad/sine_win.h
+++ b/apps/codecs/libfaad/sine_win.h
@@ -37,7 +37,7 @@ extern "C" {
37#pragma warning(disable:4244) 37#pragma warning(disable:4244)
38#endif 38#endif
39 39
40ALIGN static const real_t sine_long_1024[] ICONST_ATTR = 40static const real_t sine_long_1024[] ICONST_ATTR MEM_ALIGN_ATTR =
41{ 41{
42 FRAC_CONST(0.00076699031874270449), 42 FRAC_CONST(0.00076699031874270449),
43 FRAC_CONST(0.002300969151425805), 43 FRAC_CONST(0.002300969151425805),
@@ -1066,7 +1066,7 @@ ALIGN static const real_t sine_long_1024[] ICONST_ATTR =
1066}; 1066};
1067 1067
1068#ifdef ALLOW_SMALL_FRAMELENGTH 1068#ifdef ALLOW_SMALL_FRAMELENGTH
1069ALIGN static const real_t sine_long_960[] = 1069static const real_t sine_long_960[] MEM_ALIGN_ATTR =
1070{ 1070{
1071 FRAC_CONST(0.00081812299560725323), 1071 FRAC_CONST(0.00081812299560725323),
1072 FRAC_CONST(0.0024543667964602917), 1072 FRAC_CONST(0.0024543667964602917),
@@ -2031,7 +2031,7 @@ ALIGN static const real_t sine_long_960[] =
2031}; 2031};
2032#endif 2032#endif
2033 2033
2034ALIGN static const real_t sine_short_128[] ICONST_ATTR = 2034static const real_t sine_short_128[] ICONST_ATTR MEM_ALIGN_ATTR =
2035{ 2035{
2036 FRAC_CONST(0.0061358846491544753), 2036 FRAC_CONST(0.0061358846491544753),
2037 FRAC_CONST(0.01840672990580482), 2037 FRAC_CONST(0.01840672990580482),
@@ -2164,7 +2164,7 @@ ALIGN static const real_t sine_short_128[] ICONST_ATTR =
2164}; 2164};
2165 2165
2166#ifdef ALLOW_SMALL_FRAMELENGTH 2166#ifdef ALLOW_SMALL_FRAMELENGTH
2167ALIGN static const real_t sine_short_120[] = 2167static const real_t sine_short_120[] MEM_ALIGN_ATTR =
2168{ 2168{
2169 FRAC_CONST(0.0065449379673518581), 2169 FRAC_CONST(0.0065449379673518581),
2170 FRAC_CONST(0.019633692460628301), 2170 FRAC_CONST(0.019633692460628301),
@@ -2290,7 +2290,7 @@ ALIGN static const real_t sine_short_120[] =
2290#endif 2290#endif
2291 2291
2292#ifdef LD_DEC 2292#ifdef LD_DEC
2293ALIGN static const real_t sine_mid_512[] = 2293static const real_t sine_mid_512[] MEM_ALIGN_ATTR =
2294{ 2294{
2295 FRAC_CONST(0.0015339801862847655), 2295 FRAC_CONST(0.0015339801862847655),
2296 FRAC_CONST(0.0046019261204485705), 2296 FRAC_CONST(0.0046019261204485705),
@@ -2807,7 +2807,7 @@ ALIGN static const real_t sine_mid_512[] =
2807}; 2807};
2808 2808
2809#ifdef ALLOW_SMALL_FRAMELENGTH 2809#ifdef ALLOW_SMALL_FRAMELENGTH
2810ALIGN static const real_t sine_mid_480[] = 2810static const real_t sine_mid_480[] MEM_ALIGN_ATTR =
2811{ 2811{
2812 FRAC_CONST(0.0016362454436240478), 2812 FRAC_CONST(0.0016362454436240478),
2813 FRAC_CONST(0.00490871880799799), 2813 FRAC_CONST(0.00490871880799799),
@@ -3292,7 +3292,7 @@ ALIGN static const real_t sine_mid_480[] =
3292}; 3292};
3293#endif 3293#endif
3294 3294
3295ALIGN static const real_t ld_mid_512[] = 3295static const real_t ld_mid_512[] MEM_ALIGN_ATTR =
3296{ 3296{
3297 FRAC_CONST(0), 3297 FRAC_CONST(0),
3298 FRAC_CONST(0), 3298 FRAC_CONST(0),
@@ -3809,7 +3809,7 @@ ALIGN static const real_t ld_mid_512[] =
3809}; 3809};
3810 3810
3811#ifdef ALLOW_SMALL_FRAMELENGTH 3811#ifdef ALLOW_SMALL_FRAMELENGTH
3812ALIGN static const real_t ld_mid_480[] = 3812static const real_t ld_mid_480[] MEM_ALIGN_ATTR =
3813{ 3813{
3814 FRAC_CONST(0), 3814 FRAC_CONST(0),
3815 FRAC_CONST(0), 3815 FRAC_CONST(0),
diff --git a/apps/codecs/libfaad/specrec.c b/apps/codecs/libfaad/specrec.c
index 02eac11878..d537125d55 100644
--- a/apps/codecs/libfaad/specrec.c
+++ b/apps/codecs/libfaad/specrec.c
@@ -61,44 +61,44 @@ static uint8_t quant_to_spec(NeAACDecHandle hDecoder,
61 61
62 62
63#ifdef LD_DEC 63#ifdef LD_DEC
64ALIGN static const uint8_t num_swb_512_window[] = 64static const uint8_t num_swb_512_window[] =
65{ 65{
66 0, 0, 0, 36, 36, 37, 31, 31, 0, 0, 0, 0 66 0, 0, 0, 36, 36, 37, 31, 31, 0, 0, 0, 0
67}; 67};
68ALIGN static const uint8_t num_swb_480_window[] = 68static const uint8_t num_swb_480_window[] =
69{ 69{
70 0, 0, 0, 35, 35, 37, 30, 30, 0, 0, 0, 0 70 0, 0, 0, 35, 35, 37, 30, 30, 0, 0, 0, 0
71}; 71};
72#endif 72#endif
73 73
74ALIGN static const uint8_t num_swb_960_window[] ICONST_ATTR = 74static const uint8_t num_swb_960_window[] ICONST_ATTR =
75{ 75{
76 40, 40, 45, 49, 49, 49, 46, 46, 42, 42, 42, 40 76 40, 40, 45, 49, 49, 49, 46, 46, 42, 42, 42, 40
77}; 77};
78 78
79ALIGN static const uint8_t num_swb_1024_window[] ICONST_ATTR = 79static const uint8_t num_swb_1024_window[] ICONST_ATTR =
80{ 80{
81 41, 41, 47, 49, 49, 51, 47, 47, 43, 43, 43, 40 81 41, 41, 47, 49, 49, 51, 47, 47, 43, 43, 43, 40
82}; 82};
83 83
84ALIGN static const uint8_t num_swb_128_window[] ICONST_ATTR = 84static const uint8_t num_swb_128_window[] ICONST_ATTR =
85{ 85{
86 12, 12, 12, 14, 14, 14, 15, 15, 15, 15, 15, 15 86 12, 12, 12, 14, 14, 14, 15, 15, 15, 15, 15, 15
87}; 87};
88 88
89ALIGN static const uint16_t swb_offset_1024_96[] = 89static const uint16_t swb_offset_1024_96[] =
90{ 90{
91 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 91 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56,
92 64, 72, 80, 88, 96, 108, 120, 132, 144, 156, 172, 188, 212, 240, 92 64, 72, 80, 88, 96, 108, 120, 132, 144, 156, 172, 188, 212, 240,
93 276, 320, 384, 448, 512, 576, 640, 704, 768, 832, 896, 960, 1024 93 276, 320, 384, 448, 512, 576, 640, 704, 768, 832, 896, 960, 1024
94}; 94};
95 95
96ALIGN static const uint16_t swb_offset_128_96[] = 96static const uint16_t swb_offset_128_96[] =
97{ 97{
98 0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128 98 0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
99}; 99};
100 100
101ALIGN static const uint16_t swb_offset_1024_64[] = 101static const uint16_t swb_offset_1024_64[] =
102{ 102{
103 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 103 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56,
104 64, 72, 80, 88, 100, 112, 124, 140, 156, 172, 192, 216, 240, 268, 104 64, 72, 80, 88, 100, 112, 124, 140, 156, 172, 192, 216, 240, 268,
@@ -106,12 +106,12 @@ ALIGN static const uint16_t swb_offset_1024_64[] =
106 864, 904, 944, 984, 1024 106 864, 904, 944, 984, 1024
107}; 107};
108 108
109ALIGN static const uint16_t swb_offset_128_64[] = 109static const uint16_t swb_offset_128_64[] =
110{ 110{
111 0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128 111 0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
112}; 112};
113 113
114ALIGN static const uint16_t swb_offset_1024_48[] ICONST_ATTR = 114static const uint16_t swb_offset_1024_48[] ICONST_ATTR =
115{ 115{
116 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 48, 56, 64, 72, 116 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 48, 56, 64, 72,
117 80, 88, 96, 108, 120, 132, 144, 160, 176, 196, 216, 240, 264, 292, 117 80, 88, 96, 108, 120, 132, 144, 160, 176, 196, 216, 240, 264, 292,
@@ -120,14 +120,14 @@ ALIGN static const uint16_t swb_offset_1024_48[] ICONST_ATTR =
120}; 120};
121 121
122#ifdef LD_DEC 122#ifdef LD_DEC
123ALIGN static const uint16_t swb_offset_512_48[] = 123static const uint16_t swb_offset_512_48[] =
124{ 124{
125 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 68, 76, 84, 125 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 68, 76, 84,
126 92, 100, 112, 124, 136, 148, 164, 184, 208, 236, 268, 300, 332, 364, 396, 126 92, 100, 112, 124, 136, 148, 164, 184, 208, 236, 268, 300, 332, 364, 396,
127 428, 460, 512 127 428, 460, 512
128}; 128};
129 129
130ALIGN static const uint16_t swb_offset_480_48[] = 130static const uint16_t swb_offset_480_48[] =
131{ 131{
132 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 64, 72 ,80 ,88, 132 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 64, 72 ,80 ,88,
133 96, 108, 120, 132, 144, 156, 172, 188, 212, 240, 272, 304, 336, 368, 400, 133 96, 108, 120, 132, 144, 156, 172, 188, 212, 240, 272, 304, 336, 368, 400,
@@ -135,12 +135,12 @@ ALIGN static const uint16_t swb_offset_480_48[] =
135}; 135};
136#endif 136#endif
137 137
138ALIGN static const uint16_t swb_offset_128_48[] ICONST_ATTR = 138static const uint16_t swb_offset_128_48[] ICONST_ATTR =
139{ 139{
140 0, 4, 8, 12, 16, 20, 28, 36, 44, 56, 68, 80, 96, 112, 128 140 0, 4, 8, 12, 16, 20, 28, 36, 44, 56, 68, 80, 96, 112, 128
141}; 141};
142 142
143ALIGN static const uint16_t swb_offset_1024_32[] ICONST_ATTR = 143static const uint16_t swb_offset_1024_32[] ICONST_ATTR =
144{ 144{
145 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 48, 56, 64, 72, 145 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 48, 56, 64, 72,
146 80, 88, 96, 108, 120, 132, 144, 160, 176, 196, 216, 240, 264, 292, 146 80, 88, 96, 108, 120, 132, 144, 160, 176, 196, 216, 240, 264, 292,
@@ -149,14 +149,14 @@ ALIGN static const uint16_t swb_offset_1024_32[] ICONST_ATTR =
149}; 149};
150 150
151#ifdef LD_DEC 151#ifdef LD_DEC
152ALIGN static const uint16_t swb_offset_512_32[] = 152static const uint16_t swb_offset_512_32[] =
153{ 153{
154 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 64, 72, 80, 154 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 64, 72, 80,
155 88, 96, 108, 120, 132, 144, 160, 176, 192, 212, 236, 260, 288, 320, 352, 155 88, 96, 108, 120, 132, 144, 160, 176, 192, 212, 236, 260, 288, 320, 352,
156 384, 416, 448, 480, 512 156 384, 416, 448, 480, 512
157}; 157};
158 158
159ALIGN static const uint16_t swb_offset_480_32[] = 159static const uint16_t swb_offset_480_32[] =
160{ 160{
161 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 161 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80,
162 88, 96, 104, 112, 124, 136, 148, 164, 180, 200, 224, 256, 288, 320, 352, 162 88, 96, 104, 112, 124, 136, 148, 164, 180, 200, 224, 256, 288, 320, 352,
@@ -164,7 +164,7 @@ ALIGN static const uint16_t swb_offset_480_32[] =
164}; 164};
165#endif 165#endif
166 166
167ALIGN static const uint16_t swb_offset_1024_24[] ICONST_ATTR = 167static const uint16_t swb_offset_1024_24[] ICONST_ATTR =
168{ 168{
169 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 52, 60, 68, 169 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 52, 60, 68,
170 76, 84, 92, 100, 108, 116, 124, 136, 148, 160, 172, 188, 204, 220, 170 76, 84, 92, 100, 108, 116, 124, 136, 148, 160, 172, 188, 204, 220,
@@ -173,50 +173,50 @@ ALIGN static const uint16_t swb_offset_1024_24[] ICONST_ATTR =
173}; 173};
174 174
175#ifdef LD_DEC 175#ifdef LD_DEC
176ALIGN static const uint16_t swb_offset_512_24[] = 176static const uint16_t swb_offset_512_24[] =
177{ 177{
178 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 52, 60, 68, 178 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 52, 60, 68,
179 80, 92, 104, 120, 140, 164, 192, 224, 256, 288, 320, 352, 384, 416, 179 80, 92, 104, 120, 140, 164, 192, 224, 256, 288, 320, 352, 384, 416,
180 448, 480, 512 180 448, 480, 512
181}; 181};
182 182
183ALIGN static const uint16_t swb_offset_480_24[] = 183static const uint16_t swb_offset_480_24[] =
184{ 184{
185 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 52, 60, 68, 80, 92, 104, 120, 185 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 52, 60, 68, 80, 92, 104, 120,
186 140, 164, 192, 224, 256, 288, 320, 352, 384, 416, 448, 480 186 140, 164, 192, 224, 256, 288, 320, 352, 384, 416, 448, 480
187}; 187};
188#endif 188#endif
189 189
190ALIGN static const uint16_t swb_offset_128_24[] ICONST_ATTR = 190static const uint16_t swb_offset_128_24[] ICONST_ATTR =
191{ 191{
192 0, 4, 8, 12, 16, 20, 24, 28, 36, 44, 52, 64, 76, 92, 108, 128 192 0, 4, 8, 12, 16, 20, 24, 28, 36, 44, 52, 64, 76, 92, 108, 128
193}; 193};
194 194
195ALIGN static const uint16_t swb_offset_1024_16[] ICONST_ATTR = 195static const uint16_t swb_offset_1024_16[] ICONST_ATTR =
196{ 196{
197 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 100, 112, 124, 197 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 100, 112, 124,
198 136, 148, 160, 172, 184, 196, 212, 228, 244, 260, 280, 300, 320, 344, 198 136, 148, 160, 172, 184, 196, 212, 228, 244, 260, 280, 300, 320, 344,
199 368, 396, 424, 456, 492, 532, 572, 616, 664, 716, 772, 832, 896, 960, 1024 199 368, 396, 424, 456, 492, 532, 572, 616, 664, 716, 772, 832, 896, 960, 1024
200}; 200};
201 201
202ALIGN static const uint16_t swb_offset_128_16[] ICONST_ATTR = 202static const uint16_t swb_offset_128_16[] ICONST_ATTR =
203{ 203{
204 0, 4, 8, 12, 16, 20, 24, 28, 32, 40, 48, 60, 72, 88, 108, 128 204 0, 4, 8, 12, 16, 20, 24, 28, 32, 40, 48, 60, 72, 88, 108, 128
205}; 205};
206 206
207ALIGN static const uint16_t swb_offset_1024_8[] ICONST_ATTR = 207static const uint16_t swb_offset_1024_8[] ICONST_ATTR =
208{ 208{
209 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156, 172, 209 0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156, 172,
210 188, 204, 220, 236, 252, 268, 288, 308, 328, 348, 372, 396, 420, 448, 210 188, 204, 220, 236, 252, 268, 288, 308, 328, 348, 372, 396, 420, 448,
211 476, 508, 544, 580, 620, 664, 712, 764, 820, 880, 944, 1024 211 476, 508, 544, 580, 620, 664, 712, 764, 820, 880, 944, 1024
212}; 212};
213 213
214ALIGN static const uint16_t swb_offset_128_8[] ICONST_ATTR = 214static const uint16_t swb_offset_128_8[] ICONST_ATTR =
215{ 215{
216 0, 4, 8, 12, 16, 20, 24, 28, 36, 44, 52, 60, 72, 88, 108, 128 216 0, 4, 8, 12, 16, 20, 24, 28, 36, 44, 52, 60, 72, 88, 108, 128
217}; 217};
218 218
219ALIGN static const uint16_t *const swb_offset_1024_window[] ICONST_ATTR = 219static const uint16_t *const swb_offset_1024_window[] ICONST_ATTR =
220{ 220{
221 swb_offset_1024_96, /* 96000 */ 221 swb_offset_1024_96, /* 96000 */
222 swb_offset_1024_96, /* 88200 */ 222 swb_offset_1024_96, /* 88200 */
@@ -233,7 +233,7 @@ ALIGN static const uint16_t *const swb_offset_1024_window[] ICONST_ATTR =
233}; 233};
234 234
235#ifdef LD_DEC 235#ifdef LD_DEC
236ALIGN static const uint16_t *swb_offset_512_window[] = 236static const uint16_t *swb_offset_512_window[] =
237{ 237{
238 0, /* 96000 */ 238 0, /* 96000 */
239 0, /* 88200 */ 239 0, /* 88200 */
@@ -249,7 +249,7 @@ ALIGN static const uint16_t *swb_offset_512_window[] =
249 0 /* 8000 */ 249 0 /* 8000 */
250}; 250};
251 251
252ALIGN static const uint16_t *swb_offset_480_window[] = 252static const uint16_t *swb_offset_480_window[] =
253{ 253{
254 0, /* 96000 */ 254 0, /* 96000 */
255 0, /* 88200 */ 255 0, /* 88200 */
@@ -266,7 +266,7 @@ ALIGN static const uint16_t *swb_offset_480_window[] =
266}; 266};
267#endif 267#endif
268 268
269ALIGN static const uint16_t *const swb_offset_128_window[] ICONST_ATTR = 269static const uint16_t *const swb_offset_128_window[] ICONST_ATTR =
270{ 270{
271 swb_offset_128_96, /* 96000 */ 271 swb_offset_128_96, /* 96000 */
272 swb_offset_128_96, /* 88200 */ 272 swb_offset_128_96, /* 88200 */
@@ -475,7 +475,7 @@ static INLINE real_t iquant(int16_t q, const real_t *tab, uint8_t *error)
475} 475}
476 476
477#ifndef FIXED_POINT 477#ifndef FIXED_POINT
478ALIGN static const real_t pow2sf_tab[] = { 478static const real_t pow2sf_tab[] = {
479 2.9802322387695313E-008, 5.9604644775390625E-008, 1.1920928955078125E-007, 479 2.9802322387695313E-008, 5.9604644775390625E-008, 1.1920928955078125E-007,
480 2.384185791015625E-007, 4.76837158203125E-007, 9.5367431640625E-007, 480 2.384185791015625E-007, 4.76837158203125E-007, 9.5367431640625E-007,
481 1.9073486328125E-006, 3.814697265625E-006, 7.62939453125E-006, 481 1.9073486328125E-006, 3.814697265625E-006, 7.62939453125E-006,
@@ -523,7 +523,7 @@ ALIGN static const real_t pow2sf_tab[] = {
523 - Within a scalefactor window band, the coefficients are in ascending 523 - Within a scalefactor window band, the coefficients are in ascending
524 spectral order. 524 spectral order.
525*/ 525*/
526ALIGN static const real_t pow2_table[] ICONST_ATTR = 526static const real_t pow2_table[] ICONST_ATTR =
527{ 527{
528 COEF_CONST(1.0), 528 COEF_CONST(1.0),
529 COEF_CONST(1.1892071150027210667174999705605), /* 2^0.25 */ 529 COEF_CONST(1.1892071150027210667174999705605), /* 2^0.25 */
@@ -836,8 +836,8 @@ static uint8_t allocate_channel_pair(NeAACDecHandle hDecoder,
836} 836}
837 837
838/* used by reconstruct_single_channel() and reconstruct_channel_pair() */ 838/* used by reconstruct_single_channel() and reconstruct_channel_pair() */
839ALIGN static real_t spec_coef1[1024] IBSS_ATTR; 839static real_t spec_coef1[1024] IBSS_ATTR MEM_ALIGN_ATTR;
840ALIGN static real_t spec_coef2[1024] IBSS_ATTR; 840static real_t spec_coef2[1024] IBSS_ATTR MEM_ALIGN_ATTR;
841 841
842uint8_t reconstruct_single_channel(NeAACDecHandle hDecoder, ic_stream *ics, 842uint8_t reconstruct_single_channel(NeAACDecHandle hDecoder, ic_stream *ics,
843 element *sce, int16_t *spec_data) 843 element *sce, int16_t *spec_data)
diff --git a/apps/codecs/libfaad/syntax.c b/apps/codecs/libfaad/syntax.c
index fa077d4e94..545163e85b 100644
--- a/apps/codecs/libfaad/syntax.c
+++ b/apps/codecs/libfaad/syntax.c
@@ -558,7 +558,7 @@ void raw_data_block(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
558 558
559/* Table 4.4.4 and */ 559/* Table 4.4.4 and */
560/* Table 4.4.9 */ 560/* Table 4.4.9 */
561ALIGN int16_t spec_data[1024] = {0}; 561int16_t spec_data[1024] MEM_ALIGN_ATTR = {0};
562element sce; 562element sce;
563static uint8_t single_lfe_channel_element(NeAACDecHandle hDecoder, bitfile *ld, 563static uint8_t single_lfe_channel_element(NeAACDecHandle hDecoder, bitfile *ld,
564 uint8_t channel, uint8_t *tag) 564 uint8_t channel, uint8_t *tag)
@@ -603,8 +603,8 @@ static uint8_t single_lfe_channel_element(NeAACDecHandle hDecoder, bitfile *ld,
603} 603}
604 604
605/* Table 4.4.5 */ 605/* Table 4.4.5 */
606ALIGN int16_t spec_data1[1024] IBSS_ATTR; 606int16_t spec_data1[1024] IBSS_ATTR MEM_ALIGN_ATTR;
607ALIGN int16_t spec_data2[1024] IBSS_ATTR; 607int16_t spec_data2[1024] IBSS_ATTR MEM_ALIGN_ATTR;
608element cpe; 608element cpe;
609static uint8_t channel_pair_element(NeAACDecHandle hDecoder, bitfile *ld, 609static uint8_t channel_pair_element(NeAACDecHandle hDecoder, bitfile *ld,
610 uint8_t channels, uint8_t *tag) 610 uint8_t channels, uint8_t *tag)
@@ -1170,8 +1170,8 @@ static void gain_control_data(bitfile *ld, ic_stream *ics)
1170#endif 1170#endif
1171 1171
1172#ifdef SCALABLE_DEC 1172#ifdef SCALABLE_DEC
1173ALIGN int16_t spec_data1[1024]; 1173int16_t spec_data1[1024] MEM_ALIGN_ATTR;
1174ALIGN int16_t spec_data2[1024]; 1174int16_t spec_data2[1024] MEM_ALIGN_ATTR;
1175/* Table 4.4.13 ASME */ 1175/* Table 4.4.13 ASME */
1176void aac_scalable_main_element(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo, 1176void aac_scalable_main_element(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
1177 bitfile *ld, program_config *pce, drc_info *drc) 1177 bitfile *ld, program_config *pce, drc_info *drc)