Use more iram in the tta lib, speeds up decoding by 47MHz on h300 (mcf5249) and 2.7MHz on c200v1 (pp5024)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27403 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Nils Wallménius 2010-07-12 15:59:11 +00:00
parent ec4ee48318
commit d3a1945939
3 changed files with 16 additions and 16 deletions

View file

@ -45,31 +45,31 @@
/******************* static variables and structures *******************/
static unsigned char isobuffers[ISO_BUFFERS_SIZE + 4] IBSS_ATTR;
static unsigned char *iso_buffers_end = isobuffers + ISO_BUFFERS_SIZE;
static unsigned int pcm_buffer_size;
static unsigned char * const iso_buffers_end ICONST_ATTR = isobuffers + ISO_BUFFERS_SIZE;
static unsigned int pcm_buffer_size IBSS_ATTR;
static decoder tta[MAX_NCH] IBSS_ATTR; /* decoder state */
static decoder tta[MAX_NCH] IBSS_ATTR; /* decoder state */
/* Rockbox speciffic: cache is defined in get_samples() (non static value) */
/* static int cache[MAX_NCH]; // decoder cache */
tta_info *ttainfo; /* currently playing file info */
tta_info *ttainfo IBSS_ATTR; /* currently playing file info */
static unsigned int fframes; /* number of frames in file */
static unsigned int framelen; /* the frame length in samples */
static unsigned int lastlen; /* the length of the last frame in samples */
static unsigned int data_pos; /* currently playing frame index */
static unsigned int data_cur; /* the playing position in frame */
static unsigned int fframes IBSS_ATTR; /* number of frames in file */
static unsigned int framelen IBSS_ATTR; /* the frame length in samples */
static unsigned int lastlen IBSS_ATTR; /* the length of the last frame in samples */
static unsigned int data_pos IBSS_ATTR; /* currently playing frame index */
static unsigned int data_cur IBSS_ATTR; /* the playing position in frame */
static int maxvalue; /* output data max value */
static int maxvalue IBSS_ATTR; /* output data max value */
/* Rockbox speciffic: seek_table is static size */
static unsigned int seek_table[MAX_SEEK_TABLE_SIZE]; /* the playing position table */
static unsigned int st_state; /* seek table status */
static unsigned int frame_crc32;
static unsigned int bit_count;
static unsigned int bit_cache;
static unsigned char *bitpos;
static unsigned int frame_crc32 IBSS_ATTR;
static unsigned int bit_count IBSS_ATTR;
static unsigned int bit_cache IBSS_ATTR;
static unsigned char *bitpos IBSS_ATTR;
/* Rockbox speciffic: deletes read_id3_tags(). */
/* static int read_id3_tags (tta_info *info); */

View file

@ -142,7 +142,7 @@ static const unsigned int bit_shift[] ICONST_ATTR = {
0x80000000, 0x80000000, 0x80000000, 0x80000000
};
static const unsigned int *shift_16 = bit_shift + 4;
static const unsigned int * const shift_16 ICONST_ATTR = bit_shift + 4;
typedef unsigned char byte;

View file

@ -142,7 +142,7 @@ void player_stop (void); // FUNCTION: destroys memory pools
/* Rockbox speciffic: unsigned char -> int32_t */
int get_samples ( // FUNCTION: decode PCM_BUFFER_LENGTH samples
int32_t *buffer); // into the current PCM buffer position
int32_t *buffer) ICODE_ATTR; // into the current PCM buffer position
/*
* RETURN VALUE