diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-11-02 23:04:39 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-11-02 23:04:39 +0000 |
commit | 7aa5d80d59825dfb60493855cd00d8d14d9a75c5 (patch) | |
tree | d17c58a07e71e0ff7a8d35721845ec04f3ab6cb4 | |
parent | f63a4c328980d37105d1dc2e6af0691cf273e8aa (diff) | |
parent | 958430a43172a2799e3dba972123c5b836ba5f5f (diff) | |
download | tremolo-android11-platform-release.tar.gz |
Merge cherrypicks of [15871375] into rvc-platform-release.android-platform-11.0.0_r40android-platform-11.0.0_r39android-platform-11.0.0_r38android-platform-11.0.0_r37android-platform-11.0.0_r36android-platform-11.0.0_r35android-platform-11.0.0_r34android-platform-11.0.0_r33android-platform-11.0.0_r32android-platform-11.0.0_r31android-platform-11.0.0_r30android-platform-11.0.0_r29android-platform-11.0.0_r28android-platform-11.0.0_r27android-platform-11.0.0_r26android-platform-11.0.0_r25android-platform-11.0.0_r24android-platform-11.0.0_r23android-platform-11.0.0_r22android-platform-11.0.0_r21android-platform-11.0.0_r20android-platform-11.0.0_r19android-platform-11.0.0_r18android-platform-11.0.0_r17android-platform-11.0.0_r16android-platform-11.0.0_r15android-platform-11.0.0_r14android-platform-11.0.0_r13android11-platform-release
Change-Id: I059ad97b525db1a6ef8fd4e79985eb30276df53d
-rw-r--r-- | Tremolo/codebook.c | 5 | ||||
-rw-r--r-- | Tremolo/floor0.c | 5 |
2 files changed, 7 insertions, 3 deletions
diff --git a/Tremolo/codebook.c b/Tremolo/codebook.c index 43c4917..326a9bc 100644 --- a/Tremolo/codebook.c +++ b/Tremolo/codebook.c @@ -848,6 +848,7 @@ static int decode_map(codebook *s, oggpack_buffer *b, ogg_int32_t *v, int point) #endif /* 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){ @@ -865,6 +866,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){ @@ -881,6 +883,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 <dim> 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){ diff --git a/Tremolo/floor0.c b/Tremolo/floor0.c index 7e74d1e..ea814e5 100644 --- a/Tremolo/floor0.c +++ b/Tremolo/floor0.c @@ -426,10 +426,9 @@ ogg_int32_t *floor0_inverse1(vorbis_dsp_state *vd,vorbis_info_floor *i, } ogg_int32_t last=0; - for(j=0;j<info->order;j+=b->dim) - if(vorbis_book_decodev_set(b,lsp+j,&vd->opb,b->dim,-24)==-1)goto eop; + if(vorbis_book_decodev_set(b,lsp,&vd->opb,info->order,-24)==-1)goto eop; for(j=0;j<info->order;){ - for(k=0;k<b->dim;k++,j++)lsp[j]+=last; + for(k=0;k<b->dim && j<info->order;k++,j++)lsp[j]+=last; last=lsp[j-1]; } |