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/wav.c | |
| parent | 8ef3c8a342d41c2aa5e5d8370fd4e89d4d8d937e (diff) | |
| download | rockbox-80da8b141c4672ca4380d66094976b6342ed5071.zip rockbox-80da8b141c4672ca4380d66094976b6342ed5071.tar.gz rockbox-80da8b141c4672ca4380d66094976b6342ed5071.tar.bz2 rockbox-80da8b141c4672ca4380d66094976b6342ed5071.tar.xz | |
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/wav.c')
| -rw-r--r-- | apps/codecs/wav.c | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/apps/codecs/wav.c b/apps/codecs/wav.c index 9add1f5..26cbf7f 100644 --- a/apps/codecs/wav.c +++ b/apps/codecs/wav.c @@ -25,8 +25,6 @@ CODEC_HEADER /* Macro that sign extends an unsigned byte */ #define SE(x) ((int32_t)((int8_t)(x))) -struct codec_api *rb; - /* This codec support WAVE files with the following formats: * - PCM, up to 32 bits, supporting 32 bits playback when useful. * - ALAW and MULAW (16 bits compressed on 8 bits). @@ -95,14 +93,6 @@ enum /* for 44.1kHz stereo 16bits, this represents 0.023s ~= 1/50s */ #define WAV_CHUNK_SIZE (1024*2) -#ifdef USE_IRAM -extern char iramcopy[]; -extern char iramstart[]; -extern char iramend[]; -extern char iedata[]; -extern char iend[]; -#endif - static const int16_t alaw2linear16[256] ICONST_ATTR = { -5504, -5248, -6016, -5760, -4480, -4224, -4992, -4736, -7552, -7296, -8064, -7808, -6528, -6272, @@ -213,9 +203,8 @@ decode_dvi_adpcm(struct codec_api *ci, size_t *pcmoutsize); /* this is the codec entry point */ -enum codec_status codec_start(struct codec_api *api) +enum codec_status codec_main(void) { - struct codec_api *ci; uint32_t numbytes, bytesdone; uint32_t totalsamples = 0; uint16_t channels = 0; @@ -235,20 +224,12 @@ enum codec_status codec_start(struct codec_api *api) /* 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(DSP_SET_SAMPLE_DEPTH, (long *)28); ci->configure(CODEC_SET_FILEBUF_WATERMARK, (int *)(1024*512)); ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, (int *)(1024*256)); next_track: - if (codec_init(api)) { + if (codec_init()) { i = CODEC_ERROR; goto exit; } |