diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2013-05-22 18:50:28 -0400 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2013-05-23 03:15:12 -0400 |
commit | 33f3af2b8dbda1e67f07c9c63a07fb3e9af6fa59 (patch) | |
tree | 7ae40e143a1009f736195a7463d65d36ff4c7f0e /lib/rbcodec/codecs/libspc/spc_codec.h | |
parent | 7738660effc7fcb4eb70a8b408b28af7c682e547 (diff) | |
download | rockbox-33f3af2b8dbda1e67f07c9c63a07fb3e9af6fa59.tar.gz rockbox-33f3af2b8dbda1e67f07c9c63a07fb3e9af6fa59.zip |
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.h | 11 |
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 96ca734f4c..446690f726 100644 --- a/lib/rbcodec/codecs/libspc/spc_codec.h +++ b/lib/rbcodec/codecs/libspc/spc_codec.h | |||
@@ -82,6 +82,7 @@ | |||
82 | #define IBSS_ATTR_SPC IBSS_ATTR | 82 | #define IBSS_ATTR_SPC IBSS_ATTR |
83 | #define ICODE_ATTR_SPC ICODE_ATTR | 83 | #define ICODE_ATTR_SPC ICODE_ATTR |
84 | #define ICONST_ATTR_SPC ICONST_ATTR | 84 | #define ICONST_ATTR_SPC ICONST_ATTR |
85 | #define IDATA_ATTR_SPC IDATA_ATTR | ||
85 | /* Not enough IRAM available to move further data to it. */ | 86 | /* Not enough IRAM available to move further data to it. */ |
86 | #define IBSS_ATTR_SPC_LARGE_IRAM | 87 | #define IBSS_ATTR_SPC_LARGE_IRAM |
87 | 88 | ||
@@ -90,6 +91,7 @@ | |||
90 | #define IBSS_ATTR_SPC | 91 | #define IBSS_ATTR_SPC |
91 | #define ICODE_ATTR_SPC | 92 | #define ICODE_ATTR_SPC |
92 | #define ICONST_ATTR_SPC | 93 | #define ICONST_ATTR_SPC |
94 | #define IDATA_ATTR_SPC | ||
93 | /* Not enough IRAM available to move further data to it. */ | 95 | /* Not enough IRAM available to move further data to it. */ |
94 | #define IBSS_ATTR_SPC_LARGE_IRAM | 96 | #define IBSS_ATTR_SPC_LARGE_IRAM |
95 | 97 | ||
@@ -97,6 +99,7 @@ | |||
97 | #define IBSS_ATTR_SPC IBSS_ATTR | 99 | #define IBSS_ATTR_SPC IBSS_ATTR |
98 | #define ICODE_ATTR_SPC ICODE_ATTR | 100 | #define ICODE_ATTR_SPC ICODE_ATTR |
99 | #define ICONST_ATTR_SPC ICONST_ATTR | 101 | #define ICONST_ATTR_SPC ICONST_ATTR |
102 | #define IDATA_ATTR_SPC IDATA_ATTR | ||
100 | /* Not enough IRAM available to move further data to it. */ | 103 | /* Not enough IRAM available to move further data to it. */ |
101 | #define IBSS_ATTR_SPC_LARGE_IRAM | 104 | #define IBSS_ATTR_SPC_LARGE_IRAM |
102 | 105 | ||
@@ -104,6 +107,7 @@ | |||
104 | #define IBSS_ATTR_SPC IBSS_ATTR | 107 | #define IBSS_ATTR_SPC IBSS_ATTR |
105 | #define ICODE_ATTR_SPC ICODE_ATTR | 108 | #define ICODE_ATTR_SPC ICODE_ATTR |
106 | #define ICONST_ATTR_SPC ICONST_ATTR | 109 | #define ICONST_ATTR_SPC ICONST_ATTR |
110 | #define IDATA_ATTR_SPC IDATA_ATTR | ||
107 | /* Very large IRAM. Move even more data to it. */ | 111 | /* Very large IRAM. Move even more data to it. */ |
108 | #define IBSS_ATTR_SPC_LARGE_IRAM IBSS_ATTR | 112 | #define IBSS_ATTR_SPC_LARGE_IRAM IBSS_ATTR |
109 | 113 | ||
@@ -111,6 +115,7 @@ | |||
111 | #define IBSS_ATTR_SPC IBSS_ATTR | 115 | #define IBSS_ATTR_SPC IBSS_ATTR |
112 | #define ICODE_ATTR_SPC ICODE_ATTR | 116 | #define ICODE_ATTR_SPC ICODE_ATTR |
113 | #define ICONST_ATTR_SPC ICONST_ATTR | 117 | #define ICONST_ATTR_SPC ICONST_ATTR |
118 | #define IDATA_ATTR_SPC IDATA_ATTR | ||
114 | /* Not enough IRAM available to move further data to it. */ | 119 | /* Not enough IRAM available to move further data to it. */ |
115 | #define IBSS_ATTR_SPC_LARGE_IRAM | 120 | #define IBSS_ATTR_SPC_LARGE_IRAM |
116 | #endif | 121 | #endif |
@@ -318,6 +323,8 @@ struct Spc_Dsp; | |||
318 | #if defined(CPU_ARM) | 323 | #if defined(CPU_ARM) |
319 | #if ARM_ARCH >= 6 | 324 | #if ARM_ARCH >= 6 |
320 | #include "cpu/spc_dsp_armv6.h" | 325 | #include "cpu/spc_dsp_armv6.h" |
326 | #elif ARM_ARCH >= 5 | ||
327 | #include "cpu/spc_dsp_armv5.h" | ||
321 | #else | 328 | #else |
322 | #include "cpu/spc_dsp_armv4.h" | 329 | #include "cpu/spc_dsp_armv4.h" |
323 | #endif | 330 | #endif |
@@ -329,6 +336,10 @@ struct Spc_Dsp; | |||
329 | function names. */ | 336 | function names. */ |
330 | #include "spc_dsp_generic.h" | 337 | #include "spc_dsp_generic.h" |
331 | 338 | ||
339 | #if !SPC_NOINTERP && !defined (GAUSS_TABLE_SCALE) | ||
340 | #define GAUSS_TABLE_SCALE 0 | ||
341 | #endif | ||
342 | |||
332 | struct Spc_Dsp | 343 | struct Spc_Dsp |
333 | { | 344 | { |
334 | union | 345 | union |