From 0c885ac4c1b5351162cb08f92e67d2ea1247f7c1 Mon Sep 17 00:00:00 2001 From: Thom Johansen Date: Wed, 7 Sep 2005 10:13:39 +0000 Subject: Put some FLAC data in IRAM. Will clean up code later. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7496 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libFLAC/file_decoder.c | 20 ++++++++++------- apps/codecs/libFLAC/seekable_stream_decoder.c | 27 ++++++++++++++--------- apps/codecs/libFLAC/stream_decoder.c | 31 ++++++++++++++++----------- 3 files changed, 48 insertions(+), 30 deletions(-) (limited to 'apps') diff --git a/apps/codecs/libFLAC/file_decoder.c b/apps/codecs/libFLAC/file_decoder.c index f0a3ea170e..213e76e8a5 100644 --- a/apps/codecs/libFLAC/file_decoder.c +++ b/apps/codecs/libFLAC/file_decoder.c @@ -100,6 +100,8 @@ FLAC_API const char * const FLAC__FileDecoderStateString[] = { * Class constructor/destructor * ***********************************************************************/ +FLAC_FileDecoderProtected _fdprotected; +FLAC_FileDecoderPrivate _fdprivate; FLAC_API FLAC__FileDecoder *FLAC__file_decoder_new() { @@ -112,24 +114,26 @@ FLAC_API FLAC__FileDecoder *FLAC__file_decoder_new() return 0; } - decoder->protected_ = (FLAC__FileDecoderProtected*)calloc(1, sizeof(FLAC__FileDecoderProtected)); + decoder->protected = &_fdprotected; + /*decoder->protected_ = (FLAC__FileDecoderProtected*)calloc(1, sizeof(FLAC__FileDecoderProtected)); if(decoder->protected_ == 0) { free(decoder); return 0; - } + }*/ - decoder->private_ = (FLAC__FileDecoderPrivate*)calloc(1, sizeof(FLAC__FileDecoderPrivate)); + decoder->private_ = &_fdprivate; + /*decoder->private_ = (FLAC__FileDecoderPrivate*)calloc(1, sizeof(FLAC__FileDecoderPrivate)); if(decoder->private_ == 0) { free(decoder->protected_); free(decoder); return 0; - } + }*/ decoder->private_->seekable_stream_decoder = FLAC__seekable_stream_decoder_new(); if(0 == decoder->private_->seekable_stream_decoder) { - free(decoder->private_); + /*free(decoder->private_); free(decoder->protected_); - free(decoder); + free(decoder);*/ return 0; } @@ -153,9 +157,9 @@ FLAC_API void FLAC__file_decoder_delete(FLAC__FileDecoder *decoder) FLAC__seekable_stream_decoder_delete(decoder->private_->seekable_stream_decoder); - free(decoder->private_); + /*free(decoder->private_); free(decoder->protected_); - free(decoder); + free(decoder);*/ } /*********************************************************************** diff --git a/apps/codecs/libFLAC/seekable_stream_decoder.c b/apps/codecs/libFLAC/seekable_stream_decoder.c index 7aa215bed5..5af0af0d03 100644 --- a/apps/codecs/libFLAC/seekable_stream_decoder.c +++ b/apps/codecs/libFLAC/seekable_stream_decoder.c @@ -135,35 +135,42 @@ FLAC_API const char * const FLAC__SeekableStreamDecoderLengthStatusString[] = { * ***********************************************************************/ +FLAC__SeekableStreamDecoder _ssd; +FLAC__SeekableStreamDecoderProtected _ssdprotected IDATA_ATTR; +FLAC__SeekableStreamDecoderPrivate _ssdprivate IDATA_ATTR; + FLAC_API FLAC__SeekableStreamDecoder *FLAC__seekable_stream_decoder_new(void) { FLAC__SeekableStreamDecoder *decoder; FLAC__ASSERT(sizeof(int) >= 4); /* we want to die right away if this is not true */ - decoder = (FLAC__SeekableStreamDecoder*)calloc(1, sizeof(FLAC__SeekableStreamDecoder)); + decoder = &_ssd; + /*decoder = (FLAC__SeekableStreamDecoder*)calloc(1, sizeof(FLAC__SeekableStreamDecoder)); if(decoder == 0) { return 0; - } + }*/ - decoder->protected_ = (FLAC__SeekableStreamDecoderProtected*)calloc(1, sizeof(FLAC__SeekableStreamDecoderProtected)); + decoder->protected_ = &_ssdprotected; + /*decoder->protected_ = (FLAC__SeekableStreamDecoderProtected*)calloc(1, sizeof(FLAC__SeekableStreamDecoderProtected)); if(decoder->protected_ == 0) { free(decoder); return 0; - } + }*/ - decoder->private_ = (FLAC__SeekableStreamDecoderPrivate*)calloc(1, sizeof(FLAC__SeekableStreamDecoderPrivate)); + decoder->private_ = &_ssdprivate; + /*decoder->private_ = (FLAC__SeekableStreamDecoderPrivate*)calloc(1, sizeof(FLAC__SeekableStreamDecoderPrivate)); if(decoder->private_ == 0) { free(decoder->protected_); free(decoder); return 0; - } + }*/ decoder->private_->stream_decoder = FLAC__stream_decoder_new(); if(0 == decoder->private_->stream_decoder) { - free(decoder->private_); + /*free(decoder->private_); free(decoder->protected_); - free(decoder); + free(decoder);*/ return 0; } @@ -185,9 +192,9 @@ FLAC_API void FLAC__seekable_stream_decoder_delete(FLAC__SeekableStreamDecoder * FLAC__stream_decoder_delete(decoder->private_->stream_decoder); - free(decoder->private_); + /*free(decoder->private_); free(decoder->protected_); - free(decoder); + free(decoder);*/ } /*********************************************************************** diff --git a/apps/codecs/libFLAC/stream_decoder.c b/apps/codecs/libFLAC/stream_decoder.c index ac398d0150..6f6b221527 100644 --- a/apps/codecs/libFLAC/stream_decoder.c +++ b/apps/codecs/libFLAC/stream_decoder.c @@ -184,6 +184,10 @@ FLAC_API const char * const FLAC__StreamDecoderErrorStatusString[] = { * Class constructor/destructor * ***********************************************************************/ +FLAC__StreamDecoder _sd; +FLAC__StreamDecoderPrivate _sdprivate IDATA_ATTR; +FLAC__StreamDecoderProtected _sdprotected IDATA_ATTR; + FLAC_API FLAC__StreamDecoder *FLAC__stream_decoder_new(void) { FLAC__StreamDecoder *decoder; @@ -191,38 +195,41 @@ FLAC_API FLAC__StreamDecoder *FLAC__stream_decoder_new(void) FLAC__ASSERT(sizeof(int) >= 4); /* we want to die right away if this is not true */ - decoder = (FLAC__StreamDecoder*)calloc(1, sizeof(FLAC__StreamDecoder)); + decoder = &_sd; + /*decoder = (FLAC__StreamDecoder*)calloc(1, sizeof(FLAC__StreamDecoder)); if(decoder == 0) { return 0; - } + }*/ - decoder->protected_ = (FLAC__StreamDecoderProtected*)calloc(1, sizeof(FLAC__StreamDecoderProtected)); + decoder->protected_ = &_sdprotected; + /*decoder->protected_ = (FLAC__StreamDecoderProtected*)calloc(1, sizeof(FLAC__StreamDecoderProtected)); if(decoder->protected_ == 0) { free(decoder); return 0; - } + }*/ - decoder->private_ = (FLAC__StreamDecoderPrivate*)calloc(1, sizeof(FLAC__StreamDecoderPrivate)); + decoder->private_ = &_sdprivate; + /*decoder->private_ = (FLAC__StreamDecoderPrivate*)calloc(1, sizeof(FLAC__StreamDecoderPrivate)); if(decoder->private_ == 0) { free(decoder->protected_); free(decoder); return 0; - } + }*/ decoder->private_->input = FLAC__bitbuffer_new(); if(decoder->private_->input == 0) { - free(decoder->private_); + /*free(decoder->private_); free(decoder->protected_); - free(decoder); + free(decoder);*/ return 0; } decoder->private_->metadata_filter_ids_capacity = 16; if(0 == (decoder->private_->metadata_filter_ids = (FLAC__byte*)malloc((FLAC__STREAM_METADATA_APPLICATION_ID_LEN/8) * decoder->private_->metadata_filter_ids_capacity))) { FLAC__bitbuffer_delete(decoder->private_->input); - free(decoder->private_); + /*free(decoder->private_); free(decoder->protected_); - free(decoder); + free(decoder);*/ return 0; } @@ -264,9 +271,9 @@ FLAC_API void FLAC__stream_decoder_delete(FLAC__StreamDecoder *decoder) for(i = 0; i < FLAC__MAX_CHANNELS; i++) FLAC__format_entropy_coding_method_partitioned_rice_contents_clear(&decoder->private_->partitioned_rice_contents[i]); - free(decoder->private_); + /*free(decoder->private_); free(decoder->protected_); - free(decoder); + free(decoder);*/ } /*********************************************************************** -- cgit