From 2aa511f6bdac6364fe09a0004e4e14b3fc17a6c2 Mon Sep 17 00:00:00 2001 From: Nils Wallménius Date: Wed, 8 Dec 2010 17:28:17 +0000 Subject: libtremor: merge upstream revisions 17541, 17542, 17543, 17544, 17545, 17546, 17547, 17555, 17572, bringing in various fixes and finally bringing our libtremor up to date, for now. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28773 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libtremor/codebook.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'apps/codecs/libtremor/codebook.c') diff --git a/apps/codecs/libtremor/codebook.c b/apps/codecs/libtremor/codebook.c index e00d648a59..9413257e2a 100644 --- a/apps/codecs/libtremor/codebook.c +++ b/apps/codecs/libtremor/codebook.c @@ -380,6 +380,7 @@ long vorbis_book_decode(codebook *book, oggpack_buffer *b){ } /* returns 0 on OK or -1 on eof *************************************/ +/* decode vector / dim granularity gaurding is done in the upper layer */ long vorbis_book_decodevs_add(codebook *book,ogg_int32_t *a, oggpack_buffer *b,int n,int point){ if(book->used_entries>0){ @@ -412,6 +413,7 @@ long vorbis_book_decodevs_add(codebook *book,ogg_int32_t *a, return(0); } +/* decode vector / dim granularity gaurding is done in the upper layer */ long vorbis_book_decodev_add(codebook *book,ogg_int32_t *a, oggpack_buffer *b,int n,int point){ if(book->used_entries>0){ @@ -441,6 +443,9 @@ long vorbis_book_decodev_add(codebook *book,ogg_int32_t *a, return(0); } +/* unlike the others, we guard against n not being an integer number + of internally rather than in the upper layer (called only by + floor0) */ long vorbis_book_decodev_set(codebook *book,ogg_int32_t *a, oggpack_buffer *b,int n,int point){ if(book->used_entries>0){ @@ -454,7 +459,7 @@ long vorbis_book_decodev_set(codebook *book,ogg_int32_t *a, entry = decode_packed_entry_number(book,b); if(entry==-1)return(-1); t = book->valuelist+entry*book->dim; - for (j=0;jdim;){ + for (j=0;idim;){ a[i++]=t[j++]>>shift; } } @@ -464,23 +469,22 @@ long vorbis_book_decodev_set(codebook *book,ogg_int32_t *a, entry = decode_packed_entry_number(book,b); if(entry==-1)return(-1); t = book->valuelist+entry*book->dim; - for (j=0;jdim;){ + for (j=0;idim;){ a[i++]=t[j++]<dim;){ - a[i++]=0; - } + a[i++]=0; } } return(0); } +/* decode vector / dim granularity gaurding is done in the upper layer */ static long vorbis_book_decodevv_add_2ch_even(codebook *book,ogg_int32_t **a, long offset,oggpack_buffer *b, unsigned int n,int point){ -- cgit v1.2.3