diff options
author | Tomasz Malesinski <tomal@rockbox.org> | 2006-11-26 18:31:41 +0000 |
---|---|---|
committer | Tomasz Malesinski <tomal@rockbox.org> | 2006-11-26 18:31:41 +0000 |
commit | 80da8b141c4672ca4380d66094976b6342ed5071 (patch) | |
tree | 631e9edd537ae9983524622a9e1ec82e24957280 /apps/codecs/shorten.c | |
parent | 8ef3c8a342d41c2aa5e5d8370fd4e89d4d8d937e (diff) |
FS#6357, patch 1: let iramcopy and bss share the same space in codecs and
plugins. Currently, in case of plugins using IRAM bss is cleared twice,
once in the loader, once in PLUGIN_IRAM_INIT. For codecs, bss is cleared only
during codec initialization. Also, removed double variables in codecs
storing a pointer to codec_api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11606 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/shorten.c')
-rw-r--r-- | apps/codecs/shorten.c | 27 |
1 files changed, 4 insertions, 23 deletions
diff --git a/apps/codecs/shorten.c b/apps/codecs/shorten.c index b48a91ea17..1b9563a676 100644 --- a/apps/codecs/shorten.c +++ b/apps/codecs/shorten.c @@ -20,23 +20,12 @@ #include "codeclib.h" #include <codecs/libffmpegFLAC/shndec.h> -#ifndef IBSS_ATTR_SHORTEN_DECODED0 -#define IBSS_ATTR_SHORTEN_DECODED0 IBSS_ATTR -#endif - CODEC_HEADER -#ifdef USE_IRAM -extern char iramcopy[]; -extern char iramstart[]; -extern char iramend[]; -extern char iedata[]; -extern char iend[]; +#ifndef IBSS_ATTR_SHORTEN_DECODED0 +#define IBSS_ATTR_SHORTEN_DECODED0 IBSS_ATTR #endif -struct codec_api* rb; -struct codec_api* ci; - int32_t decoded0[MAX_DECODE_SIZE] IBSS_ATTR_SHORTEN_DECODED0; int32_t decoded1[MAX_DECODE_SIZE] IBSS_ATTR; @@ -46,7 +35,7 @@ int32_t offset1[MAX_OFFSET_SIZE] IBSS_ATTR; int8_t ibuf[MAX_BUFFER_SIZE] IBSS_ATTR; /* this is the codec entry point */ -enum codec_status codec_start(struct codec_api* api) +enum codec_status codec_main(void) { ShortenContext sc; uint32_t samplesdone; @@ -56,14 +45,6 @@ enum codec_status codec_start(struct codec_api* api) size_t bytesleft; /* Generic codec initialisation */ - rb = api; - ci = api; - -#ifdef USE_IRAM - ci->memcpy(iramstart, iramcopy, iramend-iramstart); - ci->memset(iedata, 0, iend - iedata); -#endif - ci->configure(CODEC_SET_FILEBUF_WATERMARK, (int *)(1024*512)); ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, (int *)(1024*128)); @@ -72,7 +53,7 @@ enum codec_status codec_start(struct codec_api* api) next_track: /* Codec initialization */ - if (codec_init(api)) { + if (codec_init()) { LOGF("Shorten: codec_init error\n"); return CODEC_ERROR; } |