Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'celt/bands.c')
-rw-r--r--celt/bands.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/celt/bands.c b/celt/bands.c
index 1d49386c..68b36261 100644
--- a/celt/bands.c
+++ b/celt/bands.c
@@ -238,22 +238,22 @@ void anti_collapse(const CELTMode *m, celt_norm *X_, unsigned char *collapse_mas
celt_norm *X;
opus_val16 prev1;
opus_val16 prev2;
- opus_val16 Ediff;
+ opus_val32 Ediff;
opus_val16 r;
int renormalize=0;
prev1 = prev1logE[c*m->nbEBands+i];
prev2 = prev2logE[c*m->nbEBands+i];
- if (C<CC)
+ if (C==1)
{
prev1 = MAX16(prev1,prev1logE[m->nbEBands+i]);
prev2 = MAX16(prev2,prev2logE[m->nbEBands+i]);
}
- Ediff = logE[c*m->nbEBands+i]-MIN16(prev1,prev2);
+ Ediff = EXTEND32(logE[c*m->nbEBands+i])-EXTEND32(MIN16(prev1,prev2));
Ediff = MAX16(0, Ediff);
#ifdef FIXED_POINT
if (Ediff < 16384)
- r = 2*MIN16(16383,SHR32(celt_exp2(-Ediff),1));
+ r = 2*MIN16(16383,SHR32(celt_exp2(-EXTRACT16(Ediff)),1));
else
r = 0;
if (LM==3)