summaryrefslogtreecommitdiff
path: root/apps/codecs/libgme/hes_apu.h
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2011-08-13 16:41:14 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2011-08-13 16:41:14 +0000
commita1145a1d040dd52b2b5d0e7fe965b6507475bbe2 (patch)
tree988f845d688974dd7db1950243ef09cc39ed443c /apps/codecs/libgme/hes_apu.h
parent724a2d2514578297a7fe21dc4c17a7b51a25758d (diff)
downloadrockbox-a1145a1d040dd52b2b5d0e7fe965b6507475bbe2.tar.gz
rockbox-a1145a1d040dd52b2b5d0e7fe965b6507475bbe2.zip
Remove all IRAM attributes from libGME to be able to restart the IRAM optimization on a clean code base. As first step move the sample buffers to IRAM which results in a 1-5% speedup for all codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30284 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libgme/hes_apu.h')
-rw-r--r--apps/codecs/libgme/hes_apu.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/apps/codecs/libgme/hes_apu.h b/apps/codecs/libgme/hes_apu.h
index fcdcbab786..8f8a525108 100644
--- a/apps/codecs/libgme/hes_apu.h
+++ b/apps/codecs/libgme/hes_apu.h
@@ -31,7 +31,7 @@ struct Hes_Osc
31 unsigned char control; 31 unsigned char control;
32}; 32};
33 33
34void Osc_run_until( struct Hes_Osc* this, struct Blip_Synth* synth, blip_time_t ) ICODE_ATTR; 34void Osc_run_until( struct Hes_Osc* this, struct Blip_Synth* synth, blip_time_t );
35 35
36struct Hes_Apu { 36struct Hes_Apu {
37 struct Hes_Osc oscs [osc_count]; 37 struct Hes_Osc oscs [osc_count];
@@ -47,9 +47,9 @@ void Apu_init( struct Hes_Apu* this );
47// Reset HES apu couns chip 47// Reset HES apu couns chip
48void Apu_reset( struct Hes_Apu* this ); 48void Apu_reset( struct Hes_Apu* this );
49 49
50void Apu_osc_output( struct Hes_Apu* this, int index, struct Blip_Buffer* center, struct Blip_Buffer* left, struct Blip_Buffer* right ) ICODE_ATTR; 50void Apu_osc_output( struct Hes_Apu* this, int index, struct Blip_Buffer* center, struct Blip_Buffer* left, struct Blip_Buffer* right );
51void Apu_write_data( struct Hes_Apu* this, blip_time_t, int addr, int data ) ICODE_ATTR; 51void Apu_write_data( struct Hes_Apu* this, blip_time_t, int addr, int data );
52void Apu_end_frame( struct Hes_Apu* this, blip_time_t ) ICODE_ATTR; 52void Apu_end_frame( struct Hes_Apu* this, blip_time_t );
53 53
54static inline void Apu_volume( struct Hes_Apu* this, int v ) { Synth_volume( &this->synth, (v*9)/5 / osc_count / amp_range ); } 54static inline void Apu_volume( struct Hes_Apu* this, int v ) { Synth_volume( &this->synth, (v*9)/5 / osc_count / amp_range ); }
55#endif 55#endif