summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad/filtbank.c
diff options
context:
space:
mode:
authorMagnus Holmgren <magnushol@gmail.com>2006-09-24 19:00:29 +0000
committerMagnus Holmgren <magnushol@gmail.com>2006-09-24 19:00:29 +0000
commit3fa5e5f5924306417c05cbc7a7f46a605c670996 (patch)
tree582869c0709cb876cec3f4a3b73a0dd56e6241a5 /apps/codecs/libfaad/filtbank.c
parent0e5bd54cbb26768a2059ed5aadd7b2c15974fe6f (diff)
downloadrockbox-3fa5e5f5924306417c05cbc7a7f46a605c670996.tar.gz
rockbox-3fa5e5f5924306417c05cbc7a7f46a605c670996.zip
Apply a bunch of simple AAC decoder optimizations. Biggest speedup is on ColdFire targets, but ARM targets benefits too. Allows realtime playback of some AAC files on Iriver targets (H1x0, H3x0). Remove support for some rarely used AAC profiles to reduce code size a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11038 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libfaad/filtbank.c')
-rw-r--r--apps/codecs/libfaad/filtbank.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/apps/codecs/libfaad/filtbank.c b/apps/codecs/libfaad/filtbank.c
index 603e02fa86..9b1bc854ad 100644
--- a/apps/codecs/libfaad/filtbank.c
+++ b/apps/codecs/libfaad/filtbank.c
@@ -127,6 +127,7 @@ static INLINE void imdct_long(fb_info *fb, real_t *in_data, real_t *out_data, ui
127 127
128 faad_imdct(mdct, in_data, out_data); 128 faad_imdct(mdct, in_data, out_data);
129#else 129#else
130 (void) len;
130 faad_imdct(fb->mdct2048, in_data, out_data); 131 faad_imdct(fb->mdct2048, in_data, out_data);
131#endif 132#endif
132} 133}
@@ -159,7 +160,7 @@ static INLINE void mdct(fb_info *fb, real_t *in_data, real_t *out_data, uint16_t
159} 160}
160#endif 161#endif
161 162
162ALIGN real_t transf_buf[2*1024] = {0}; 163ALIGN real_t transf_buf[2*1024] IBSS_ATTR;
163 164
164void ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape, 165void ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape,
165 uint8_t window_shape_prev, real_t *freq_in, 166 uint8_t window_shape_prev, real_t *freq_in,
@@ -191,6 +192,8 @@ void ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape,
191 window_long = fb->ld_window[window_shape]; 192 window_long = fb->ld_window[window_shape];
192 window_long_prev = fb->ld_window[window_shape_prev]; 193 window_long_prev = fb->ld_window[window_shape_prev];
193 } else { 194 } else {
195#else
196 (void) object_type;
194#endif 197#endif
195 window_long = fb->long_window[window_shape]; 198 window_long = fb->long_window[window_shape];
196 window_long_prev = fb->long_window[window_shape_prev]; 199 window_long_prev = fb->long_window[window_shape_prev];
@@ -359,6 +362,8 @@ void filter_bank_ltp(fb_info *fb, uint8_t window_sequence, uint8_t window_shape,
359 window_long = fb->ld_window[window_shape]; 362 window_long = fb->ld_window[window_shape];
360 window_long_prev = fb->ld_window[window_shape_prev]; 363 window_long_prev = fb->ld_window[window_shape_prev];
361 } else { 364 } else {
365#else
366 (void) object_type;
362#endif 367#endif
363 window_long = fb->long_window[window_shape]; 368 window_long = fb->long_window[window_shape];
364 window_long_prev = fb->long_window[window_shape_prev]; 369 window_long_prev = fb->long_window[window_shape_prev];