[CELT-dev] llcon software using CELT

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Fri Aug 21 03:52:58 PDT 2009

Volker a écrit :
> Gregory Maxwell schrieb:
>> Hm? If you call celt_decode with a null pointer in place of the data
>> it should fade out the audio after consecutive losses.
>> The relevant code is around line 1286 in celt.c:
>>    for (i=0;i<C*N;i++)
>>       freq[i] = ADD32(EPSILON, MULT16_32_Q15(QCONST16(.9f,15),freq[i]));
> If I interpret your code correctly, you use an exponential decay for the 
> fade out. In previous software projects I did something similar and got 
> strange effects when I applied a multiplication to very small floating 
> point values. I guess the same happens here, too. You should introduce a 
> bound for the floating point values. If the signal is below the bound, 
> set the floating point value to zero and the problems should disapear (I 
> guess ;-) ).

That's what EPSILON does -- it's just fast than a bound. Also, in the
git version, the decay has been changed. It does straight to zero after
a few frames.


More information about the celt-dev mailing list