summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad
diff options
context:
space:
mode:
authorMichael Giacomelli <giac2000@hotmail.com>2010-02-20 00:29:31 +0000
committerMichael Giacomelli <giac2000@hotmail.com>2010-02-20 00:29:31 +0000
commit93caf52db5e0afe826278c148936bdfa563724f1 (patch)
tree6dcb12c82459e8997bfbf4ef1fb4f73d1ad37f45 /apps/codecs/libfaad
parentccd50dd2d7bc15b98d21b19d2f6cba8dc4b6217b (diff)
Use new MDCT library for libfaad. Speeds up AAC-LC by 2.5MHz.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24781 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libfaad')
-rw-r--r--apps/codecs/libfaad/filtbank.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/apps/codecs/libfaad/filtbank.c b/apps/codecs/libfaad/filtbank.c
index 90175d953c..41c8291d9a 100644
--- a/apps/codecs/libfaad/filtbank.c
+++ b/apps/codecs/libfaad/filtbank.c
@@ -267,7 +267,7 @@ void ifilter_bank(uint8_t window_sequence, uint8_t window_shape,
{
case ONLY_LONG_SEQUENCE:
/* perform iMDCT */
- mdct_backward(2048, freq_in, transf_buf);
+ ff_imdct_calc(11, transf_buf, freq_in);
/* add second half output of previous frame to windowed output of current frame */
vector_fmul_add_add(time_out, transf_buf, window_long_prev, overlap, nlong);
@@ -279,7 +279,7 @@ void ifilter_bank(uint8_t window_sequence, uint8_t window_shape,
case LONG_START_SEQUENCE:
/* perform iMDCT */
- mdct_backward(2048, freq_in, transf_buf);
+ ff_imdct_calc(11, transf_buf, freq_in);
/* add second half output of previous frame to windowed output of current frame */
vector_fmul_add_add(time_out, transf_buf, window_long_prev, overlap, nlong);
@@ -298,14 +298,14 @@ void ifilter_bank(uint8_t window_sequence, uint8_t window_shape,
/*this could be assemblerized too, but this case is extremely uncommon*/
/* perform iMDCT for each short block */
- mdct_backward(256, freq_in+0*nshort, transf_buf+2*nshort*0);
- mdct_backward(256, freq_in+1*nshort, transf_buf+2*nshort*1);
- mdct_backward(256, freq_in+2*nshort, transf_buf+2*nshort*2);
- mdct_backward(256, freq_in+3*nshort, transf_buf+2*nshort*3);
- mdct_backward(256, freq_in+4*nshort, transf_buf+2*nshort*4);
- mdct_backward(256, freq_in+5*nshort, transf_buf+2*nshort*5);
- mdct_backward(256, freq_in+6*nshort, transf_buf+2*nshort*6);
- mdct_backward(256, freq_in+7*nshort, transf_buf+2*nshort*7);
+ ff_imdct_calc(8, transf_buf+2*nshort*0, freq_in+0*nshort);
+ ff_imdct_calc(8, transf_buf+2*nshort*1, freq_in+1*nshort);
+ ff_imdct_calc(8, transf_buf+2*nshort*2, freq_in+2*nshort);
+ ff_imdct_calc(8, transf_buf+2*nshort*3, freq_in+3*nshort);
+ ff_imdct_calc(8, transf_buf+2*nshort*4, freq_in+4*nshort);
+ ff_imdct_calc(8, transf_buf+2*nshort*5, freq_in+5*nshort);
+ ff_imdct_calc(8, transf_buf+2*nshort*6, freq_in+6*nshort);
+ ff_imdct_calc(8, transf_buf+2*nshort*7, freq_in+7*nshort);
/* add second half output of previous frame to windowed output of current frame */
for (i = 0; i < nflat_ls; i++)
@@ -336,7 +336,7 @@ void ifilter_bank(uint8_t window_sequence, uint8_t window_shape,
case LONG_STOP_SEQUENCE:
/* perform iMDCT */
- mdct_backward(2048, freq_in, transf_buf);
+ ff_imdct_calc(11, transf_buf, freq_in);
/* add second half output of previous frame to windowed output of current frame */
/* construct first half window using padding with 1's and 0's */