diff options
author | Dave Hooper <dave@beermex.com> | 2010-02-20 11:00:16 +0000 |
---|---|---|
committer | Dave Hooper <dave@beermex.com> | 2010-02-20 11:00:16 +0000 |
commit | 730a618fae0e04c536a1cb4d561887b450b7d068 (patch) | |
tree | 93f388a6cc8942037e55c2e68505a211f461b60a /apps/codecs/lib/mdct.c | |
parent | 9f63f4f2fcb5400a2c043504799228e79c424cab (diff) | |
download | rockbox-730a618fae0e04c536a1cb4d561887b450b7d068.tar.gz rockbox-730a618fae0e04c536a1cb4d561887b450b7d068.zip |
Adding ICODE for imdct (and its constituent ifft bits) gives 0.5MHz boost on arm (ipod video) and about 5MHz boost on coldfire (H120)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24786 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/lib/mdct.c')
-rw-r--r-- | apps/codecs/lib/mdct.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/codecs/lib/mdct.c b/apps/codecs/lib/mdct.c index 3c9fe41f20..aefd553f25 100644 --- a/apps/codecs/lib/mdct.c +++ b/apps/codecs/lib/mdct.c | |||
@@ -25,6 +25,10 @@ | |||
25 | #include "codeclib_misc.h" | 25 | #include "codeclib_misc.h" |
26 | #include "mdct_lookup.h" | 26 | #include "mdct_lookup.h" |
27 | 27 | ||
28 | #ifndef ICODE_ATTR_TREMOR_MDCT | ||
29 | #define ICODE_ATTR_TREMOR_MDCT ICODE_ATTR | ||
30 | #endif | ||
31 | |||
28 | /** | 32 | /** |
29 | * Compute the middle half of the inverse MDCT of size N = 2^nbits | 33 | * Compute the middle half of the inverse MDCT of size N = 2^nbits |
30 | * thus excluding the parts that can be derived by symmetry | 34 | * thus excluding the parts that can be derived by symmetry |
@@ -34,6 +38,7 @@ | |||
34 | * NOTE - CANNOT CURRENTLY OPERATE IN PLACE (input and output must | 38 | * NOTE - CANNOT CURRENTLY OPERATE IN PLACE (input and output must |
35 | * not overlap or intersect at all) | 39 | * not overlap or intersect at all) |
36 | */ | 40 | */ |
41 | void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input) ICODE_ATTR_TREMOR_MDCT; | ||
37 | void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input) | 42 | void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input) |
38 | { | 43 | { |
39 | int n8, n4, n2, n, j; | 44 | int n8, n4, n2, n, j; |
@@ -244,6 +249,7 @@ void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input) | |||
244 | * <-----------output-----------> | 249 | * <-----------output-----------> |
245 | * | 250 | * |
246 | */ | 251 | */ |
252 | void ff_imdct_calc(unsigned int nbits, fixed32 *output, const fixed32 *input) ICODE_ATTR_TREMOR_MDCT; | ||
247 | void ff_imdct_calc(unsigned int nbits, fixed32 *output, const fixed32 *input) | 253 | void ff_imdct_calc(unsigned int nbits, fixed32 *output, const fixed32 *input) |
248 | { | 254 | { |
249 | const int n = (1<<nbits); | 255 | const int n = (1<<nbits); |