summaryrefslogtreecommitdiff
path: root/apps/codecs/lib/mdct.c
diff options
context:
space:
mode:
authorDave Hooper <dave@beermex.com>2010-02-20 11:00:16 +0000
committerDave Hooper <dave@beermex.com>2010-02-20 11:00:16 +0000
commit730a618fae0e04c536a1cb4d561887b450b7d068 (patch)
tree93f388a6cc8942037e55c2e68505a211f461b60a /apps/codecs/lib/mdct.c
parent9f63f4f2fcb5400a2c043504799228e79c424cab (diff)
downloadrockbox-730a618fae0e04c536a1cb4d561887b450b7d068.zip
rockbox-730a618fae0e04c536a1cb4d561887b450b7d068.tar.gz
rockbox-730a618fae0e04c536a1cb4d561887b450b7d068.tar.bz2
rockbox-730a618fae0e04c536a1cb4d561887b450b7d068.tar.xz
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.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/codecs/lib/mdct.c b/apps/codecs/lib/mdct.c
index 3c9fe41..aefd553 100644
--- a/apps/codecs/lib/mdct.c
+++ b/apps/codecs/lib/mdct.c
@@ -25,6 +25,10 @@
#include "codeclib_misc.h"
#include "mdct_lookup.h"
+#ifndef ICODE_ATTR_TREMOR_MDCT
+#define ICODE_ATTR_TREMOR_MDCT ICODE_ATTR
+#endif
+
/**
* Compute the middle half of the inverse MDCT of size N = 2^nbits
* thus excluding the parts that can be derived by symmetry
@@ -34,6 +38,7 @@
* NOTE - CANNOT CURRENTLY OPERATE IN PLACE (input and output must
* not overlap or intersect at all)
*/
+void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input) ICODE_ATTR_TREMOR_MDCT;
void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input)
{
int n8, n4, n2, n, j;
@@ -244,6 +249,7 @@ void ff_imdct_half(unsigned int nbits, fixed32 *output, const fixed32 *input)
* <-----------output----------->
*
*/
+void ff_imdct_calc(unsigned int nbits, fixed32 *output, const fixed32 *input) ICODE_ATTR_TREMOR_MDCT;
void ff_imdct_calc(unsigned int nbits, fixed32 *output, const fixed32 *input)
{
const int n = (1<<nbits);