summaryrefslogtreecommitdiff
path: root/apps/codecs/demac/libdemac/predictor.c
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2007-06-13 22:02:34 +0000
committerDave Chapman <dave@dchapman.com>2007-06-13 22:02:34 +0000
commit6b713820c180f3796c07c95826e1b1e00fdbca4f (patch)
treeba4308ac951fa4adb4c7185af1f3eb26ac14ed52 /apps/codecs/demac/libdemac/predictor.c
parentc7f9ca4067f26ba3d0471d50ed3f06b047171b50 (diff)
downloadrockbox-6b713820c180f3796c07c95826e1b1e00fdbca4f.zip
rockbox-6b713820c180f3796c07c95826e1b1e00fdbca4f.tar.gz
rockbox-6b713820c180f3796c07c95826e1b1e00fdbca4f.tar.bz2
rockbox-6b713820c180f3796c07c95826e1b1e00fdbca4f.tar.xz
ARM assembler predictor decoding function. This increases my -c1000 test track from around 94% realtime on an ipod to around 104% realtime, but yields only a tiny speedup (453% to 455%) on the Gigabeat. Including this optimisation, total decoding time for my 245.70s -c1000 test track on an ipod is 236.06s, with the predictor decoding taking 51.40s of that time - meaning the predictor decoding is only about 22% of the total decoding time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13626 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/demac/libdemac/predictor.c')
-rw-r--r--apps/codecs/demac/libdemac/predictor.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/apps/codecs/demac/libdemac/predictor.c b/apps/codecs/demac/libdemac/predictor.c
index a7210bf..90f24e4 100644
--- a/apps/codecs/demac/libdemac/predictor.c
+++ b/apps/codecs/demac/libdemac/predictor.c
@@ -74,6 +74,7 @@ void init_predictor_decoder(struct predictor_t* p)
int predictor_decode_stereo(struct predictor_t* p, int32_t* decoded0, int32_t* decoded1, int count) ICODE_ATTR;
#endif
+#ifndef CPU_ARM
int predictor_decode_stereo(struct predictor_t* p, int32_t* decoded0, int32_t* decoded1, int count)
{
int32_t predictionA, predictionB;
@@ -208,6 +209,7 @@ int predictor_decode_stereo(struct predictor_t* p, int32_t* decoded0, int32_t* d
return 0;
}
+#endif
int predictor_decode_mono(struct predictor_t* p, int32_t* decoded0, int count)
{