summaryrefslogtreecommitdiff
path: root/apps/plugins/vorbis2wav.c
diff options
context:
space:
mode:
authorPedro Vasconcelos <pbv@rockbox.org>2005-05-27 09:14:00 +0000
committerPedro Vasconcelos <pbv@rockbox.org>2005-05-27 09:14:00 +0000
commit024db0a766f9590baea73babfefff278c28a5b2c (patch)
tree27e5e27e056cd0b988c2e6af7e575fe974f88035 /apps/plugins/vorbis2wav.c
parent38413489305efad4f682534f92c5daa031f5440a (diff)
Basic optimizations of the Vorbis decoder for the ihp-1x0.
Capable of real-time decoding with cpu freq at 120mhz. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6527 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/vorbis2wav.c')
-rw-r--r--apps/plugins/vorbis2wav.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/plugins/vorbis2wav.c b/apps/plugins/vorbis2wav.c
index 93ec4cfe69..01815ab1ca 100644
--- a/apps/plugins/vorbis2wav.c
+++ b/apps/plugins/vorbis2wav.c
@@ -16,7 +16,7 @@
* KIND, either express or implied.
*
****************************************************************************/
-
+#include "kernel.h"
#include "plugin.h"
#if (CONFIG_HWCODEC == MASNONE)
@@ -86,6 +86,10 @@ extern char iramstart[];
extern char iramend[];
#endif
+
+/* reserve the PCM buffer in the IRAM area */
+static char pcmbuf[4096] IDATA_ATTR;
+
/* this is the plugin entry point */
enum plugin_status plugin_start(struct plugin_api* api, void* file)
{
@@ -97,7 +101,6 @@ enum plugin_status plugin_start(struct plugin_api* api, void* file)
long n;
int current_section;
int eof;
- static char pcmbuf[4096];
#if BYTE_ORDER == BIG_ENDIAN
int i;
char x;
@@ -121,6 +124,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* file)
return PLUGIN_ERROR;
}
+
/* Create a decoder instance */
callbacks.read_func=read_handler;
@@ -171,7 +175,6 @@ enum plugin_status plugin_start(struct plugin_api* api, void* file)
close_wav(&file_info);
rb->splash(HZ*2, true, "FINISHED!");
-
return PLUGIN_OK;
}
#endif /* CONFIG_HWCODEC == MASNONE */