[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.
Jean-Marc
More information about the celt-dev
mailing list