diff options
author | Nils Wallménius <nils@rockbox.org> | 2010-12-08 17:28:17 +0000 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2010-12-08 17:28:17 +0000 |
commit | 2aa511f6bdac6364fe09a0004e4e14b3fc17a6c2 (patch) | |
tree | 7c9bad037e3f57f7138d3846ccdccc48a752cd80 /apps/codecs/libtremor/floor0.c | |
parent | aff90a9db734186e680c4ef747d66d32a83eb2aa (diff) | |
download | rockbox-2aa511f6bdac6364fe09a0004e4e14b3fc17a6c2.tar.gz rockbox-2aa511f6bdac6364fe09a0004e4e14b3fc17a6c2.zip |
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
Diffstat (limited to 'apps/codecs/libtremor/floor0.c')
-rw-r--r-- | apps/codecs/libtremor/floor0.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/apps/codecs/libtremor/floor0.c b/apps/codecs/libtremor/floor0.c index 075bc36ef7..cd0a9f89f6 100644 --- a/apps/codecs/libtremor/floor0.c +++ b/apps/codecs/libtremor/floor0.c | |||
@@ -330,6 +330,8 @@ static vorbis_info_floor *floor0_unpack (vorbis_info *vi,oggpack_buffer *opb){ | |||
330 | for(j=0;j<info->numbooks;j++){ | 330 | for(j=0;j<info->numbooks;j++){ |
331 | info->books[j]=oggpack_read(opb,8); | 331 | info->books[j]=oggpack_read(opb,8); |
332 | if(info->books[j]<0 || info->books[j]>=ci->books)goto err_out; | 332 | if(info->books[j]<0 || info->books[j]>=ci->books)goto err_out; |
333 | if(ci->book_param[info->books[j]]->maptype==0)goto err_out; | ||
334 | if(ci->book_param[info->books[j]]->dim<1)goto err_out; | ||
333 | } | 335 | } |
334 | return(info); | 336 | return(info); |
335 | 337 | ||
@@ -400,10 +402,9 @@ static void *floor0_inverse1(vorbis_block *vb,vorbis_look_floor *i){ | |||
400 | ogg_int32_t last=0; | 402 | ogg_int32_t last=0; |
401 | ogg_int32_t *lsp=(ogg_int32_t *)_vorbis_block_alloc(vb,sizeof(*lsp)*(look->m+1)); | 403 | ogg_int32_t *lsp=(ogg_int32_t *)_vorbis_block_alloc(vb,sizeof(*lsp)*(look->m+1)); |
402 | 404 | ||
403 | for(j=0;j<look->m;j+=b->dim) | 405 | if(vorbis_book_decodev_set(b,lsp,&vb->opb,look->m,-24)==-1)goto eop; |
404 | if(vorbis_book_decodev_set(b,lsp+j,&vb->opb,b->dim,-24)==-1)goto eop; | ||
405 | for(j=0;j<look->m;){ | 406 | for(j=0;j<look->m;){ |
406 | for(k=0;k<b->dim;k++,j++)lsp[j]+=last; | 407 | for(k=0;j<look->m && k<b->dim;k++,j++)lsp[j]+=last; |
407 | last=lsp[j-1]; | 408 | last=lsp[j-1]; |
408 | } | 409 | } |
409 | 410 | ||