diff options
author | Magnus Holmgren <magnushol@gmail.com> | 2006-09-24 19:00:29 +0000 |
---|---|---|
committer | Magnus Holmgren <magnushol@gmail.com> | 2006-09-24 19:00:29 +0000 |
commit | 3fa5e5f5924306417c05cbc7a7f46a605c670996 (patch) | |
tree | 582869c0709cb876cec3f4a3b73a0dd56e6241a5 /apps/codecs/libfaad/filtbank.c | |
parent | 0e5bd54cbb26768a2059ed5aadd7b2c15974fe6f (diff) | |
download | rockbox-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.c | 7 |
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 | ||
162 | ALIGN real_t transf_buf[2*1024] = {0}; | 163 | ALIGN real_t transf_buf[2*1024] IBSS_ATTR; |
163 | 164 | ||
164 | void ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape, | 165 | void 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]; |