summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libspc/spc_codec.h
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2013-05-22 18:50:28 -0400
committerMichael Sevakis <jethead71@rockbox.org>2013-05-23 03:15:12 -0400
commit33f3af2b8dbda1e67f07c9c63a07fb3e9af6fa59 (patch)
tree7ae40e143a1009f736195a7463d65d36ff4c7f0e /lib/rbcodec/codecs/libspc/spc_codec.h
parent7738660effc7fcb4eb70a8b408b28af7c682e547 (diff)
downloadrockbox-33f3af2b8dbda1e67f07c9c63a07fb3e9af6fa59.zip
rockbox-33f3af2b8dbda1e67f07c9c63a07fb3e9af6fa59.tar.gz
rockbox-33f3af2b8dbda1e67f07c9c63a07fb3e9af6fa59.tar.bz2
rockbox-33f3af2b8dbda1e67f07c9c63a07fb3e9af6fa59.tar.xz
SPC Codec: Add ARMv5 optimized code. Easy peasy.
Why? Why not? Cuts a few MHz. Change-Id: Ied5c70b1aedd255cbe5d42b7d3028bbe47aad01d
Diffstat (limited to 'lib/rbcodec/codecs/libspc/spc_codec.h')
-rw-r--r--lib/rbcodec/codecs/libspc/spc_codec.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/rbcodec/codecs/libspc/spc_codec.h b/lib/rbcodec/codecs/libspc/spc_codec.h
index 96ca734..446690f 100644
--- a/lib/rbcodec/codecs/libspc/spc_codec.h
+++ b/lib/rbcodec/codecs/libspc/spc_codec.h
@@ -82,6 +82,7 @@
#define IBSS_ATTR_SPC IBSS_ATTR
#define ICODE_ATTR_SPC ICODE_ATTR
#define ICONST_ATTR_SPC ICONST_ATTR
+#define IDATA_ATTR_SPC IDATA_ATTR
/* Not enough IRAM available to move further data to it. */
#define IBSS_ATTR_SPC_LARGE_IRAM
@@ -90,6 +91,7 @@
#define IBSS_ATTR_SPC
#define ICODE_ATTR_SPC
#define ICONST_ATTR_SPC
+#define IDATA_ATTR_SPC
/* Not enough IRAM available to move further data to it. */
#define IBSS_ATTR_SPC_LARGE_IRAM
@@ -97,6 +99,7 @@
#define IBSS_ATTR_SPC IBSS_ATTR
#define ICODE_ATTR_SPC ICODE_ATTR
#define ICONST_ATTR_SPC ICONST_ATTR
+#define IDATA_ATTR_SPC IDATA_ATTR
/* Not enough IRAM available to move further data to it. */
#define IBSS_ATTR_SPC_LARGE_IRAM
@@ -104,6 +107,7 @@
#define IBSS_ATTR_SPC IBSS_ATTR
#define ICODE_ATTR_SPC ICODE_ATTR
#define ICONST_ATTR_SPC ICONST_ATTR
+#define IDATA_ATTR_SPC IDATA_ATTR
/* Very large IRAM. Move even more data to it. */
#define IBSS_ATTR_SPC_LARGE_IRAM IBSS_ATTR
@@ -111,6 +115,7 @@
#define IBSS_ATTR_SPC IBSS_ATTR
#define ICODE_ATTR_SPC ICODE_ATTR
#define ICONST_ATTR_SPC ICONST_ATTR
+#define IDATA_ATTR_SPC IDATA_ATTR
/* Not enough IRAM available to move further data to it. */
#define IBSS_ATTR_SPC_LARGE_IRAM
#endif
@@ -318,6 +323,8 @@ struct Spc_Dsp;
#if defined(CPU_ARM)
#if ARM_ARCH >= 6
#include "cpu/spc_dsp_armv6.h"
+#elif ARM_ARCH >= 5
+#include "cpu/spc_dsp_armv5.h"
#else
#include "cpu/spc_dsp_armv4.h"
#endif
@@ -329,6 +336,10 @@ struct Spc_Dsp;
function names. */
#include "spc_dsp_generic.h"
+#if !SPC_NOINTERP && !defined (GAUSS_TABLE_SCALE)
+#define GAUSS_TABLE_SCALE 0
+#endif
+
struct Spc_Dsp
{
union