forked from len0rd/rockbox
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
This commit is contained in:
parent
3841348930
commit
024db0a766
22 changed files with 428 additions and 107 deletions
|
@ -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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue