[CELT-dev] llcon software using CELT

Volker v.fischer at nt.tu-darmstadt.de
Sat Aug 22 02:47:18 PDT 2009


Hi Gregory, hi Jean-Marc,

I found the cause of the problem. The bug is in the llcon softare, not 
in the CELT library.

In case of a network error, I do not only call the CELT decoder with 
data=NULL but sometimes with an all zero data vector (caused by a bug in 
my socket buffer implementation).

Thank you for your support,
Best Regards,
Volker


>When I use CELT in the llcon software, I noticed that in the case of a 
>network trouble, I get a constant tone back from the CELT decoder (audio 
>is not muted after some audio frames as I would expect). What I do in 
>case of network trouble is that I use a NULL pointer instead of putting 
>actual coded data to the decoder to force the "error resilience" in the 
>decoder.
>
>I wonder if I am doing something wrong using the CELT library or if this 
>is a bug.


Gregory Maxwell schrieb:
> On Fri, Aug 21, 2009 at 1:12 AM, Gregory Maxwell<gmaxwell at gmail.com> wrote:
>   
>> On Fri, Aug 21, 2009 at 1:07 AM, Volker<v.fischer at nt.tu-darmstadt.de> wrote:
>>     
>>> 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 ;-)
>>> ).
>>>       
>> The addition of EPSILON prevents the creation of denormals and is more
>> efficient than the compare and branch required for zeroizing.
>>     
>
> This makes me think however.. are you applying any gain control the
> the output which might be making a quiet tone loud?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/opus/attachments/20090822/0451f137/attachment-0002.htm 


More information about the celt-dev mailing list