summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Giacomelli <giac2000@hotmail.com>2009-02-17 17:01:09 +0000
committerMichael Giacomelli <giac2000@hotmail.com>2009-02-17 17:01:09 +0000
commitbd60270418add07332505c1d7fd20cc0e031b8de (patch)
tree2b529d7118e91960cb51350761101ddf3f1fa487
parent5593de5e7990897bdd350231c76013e17fc4b617 (diff)
downloadrockbox-bd60270418add07332505c1d7fd20cc0e031b8de.tar.gz
rockbox-bd60270418add07332505c1d7fd20cc0e031b8de.zip
Commit FS#9915 by Sei Aoyumi. Adds hints to help GCC better optimize vorbis decoding. Gives a minor speed increase.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20030 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/codecs/libtremor/bitwise.c4
-rw-r--r--apps/codecs/libtremor/codebook.c2
-rw-r--r--apps/codecs/libtremor/floor1.c2
-rw-r--r--apps/codecs/libtremor/ogg.h2
4 files changed, 5 insertions, 5 deletions
diff --git a/apps/codecs/libtremor/bitwise.c b/apps/codecs/libtremor/bitwise.c
index caa42f4277..dabba468b9 100644
--- a/apps/codecs/libtremor/bitwise.c
+++ b/apps/codecs/libtremor/bitwise.c
@@ -131,8 +131,8 @@ static int _halt_one(oggpack_buffer *b){
131} 131}
132 132
133/* bits <= 32 */ 133/* bits <= 32 */
134long oggpack_read(oggpack_buffer *b,int bits) ICODE_ATTR_TREMOR_NOT_MDCT; 134long oggpack_read(oggpack_buffer *b,register int bits) ICODE_ATTR_TREMOR_NOT_MDCT;
135long oggpack_read(oggpack_buffer *b,int bits){ 135long oggpack_read(oggpack_buffer *b,register int bits){
136 unsigned long m=oggpack_mask[bits]; 136 unsigned long m=oggpack_mask[bits];
137 ogg_uint32_t ret=-1; 137 ogg_uint32_t ret=-1;
138 138
diff --git a/apps/codecs/libtremor/codebook.c b/apps/codecs/libtremor/codebook.c
index f291686870..dd0908ba6a 100644
--- a/apps/codecs/libtremor/codebook.c
+++ b/apps/codecs/libtremor/codebook.c
@@ -451,7 +451,7 @@ static long vorbis_book_decodevv_add_2ch_even(codebook *book,ogg_int32_t **a,
451long vorbis_book_decodevv_add(codebook *book,ogg_int32_t **a, 451long vorbis_book_decodevv_add(codebook *book,ogg_int32_t **a,
452 long offset,int ch, 452 long offset,int ch,
453 oggpack_buffer *b,int n,int point){ 453 oggpack_buffer *b,int n,int point){
454 if(book->used_entries>0){ 454 if(LIKELY(book->used_entries>0)){
455 long i,j,k,chunk,read; 455 long i,j,k,chunk,read;
456 int chptr=0; 456 int chptr=0;
457 int shift=point-book->binarypoint; 457 int shift=point-book->binarypoint;
diff --git a/apps/codecs/libtremor/floor1.c b/apps/codecs/libtremor/floor1.c
index 4ee58c18ca..fa81b0d197 100644
--- a/apps/codecs/libtremor/floor1.c
+++ b/apps/codecs/libtremor/floor1.c
@@ -299,7 +299,7 @@ static void render_line(int n, int x0,register int x1,int y0,int y1,ogg_int32_t
299 if(n>x1)n=x1; 299 if(n>x1)n=x1;
300 ady-=abs(base*adx); 300 ady-=abs(base*adx);
301 301
302 if(x<n) 302 if(LIKELY(x<n))
303 d[x]= MULT31_SHIFT15(d[x],FLOOR_fromdB_LOOKUP[y]); 303 d[x]= MULT31_SHIFT15(d[x],FLOOR_fromdB_LOOKUP[y]);
304 304
305 while(++x<n){ 305 while(++x<n){
diff --git a/apps/codecs/libtremor/ogg.h b/apps/codecs/libtremor/ogg.h
index 7e2785f117..15ca46b3cd 100644
--- a/apps/codecs/libtremor/ogg.h
+++ b/apps/codecs/libtremor/ogg.h
@@ -142,7 +142,7 @@ typedef struct {
142 142
143extern void oggpack_readinit(oggpack_buffer *b,ogg_reference *r); 143extern void oggpack_readinit(oggpack_buffer *b,ogg_reference *r);
144extern long oggpack_look_full(oggpack_buffer *b,int bits); 144extern long oggpack_look_full(oggpack_buffer *b,int bits);
145extern long oggpack_read(oggpack_buffer *b,int bits); 145extern long oggpack_read(oggpack_buffer *b,register int bits);
146 146
147/* Inline a few, often called functions */ 147/* Inline a few, often called functions */
148 148