[opus] Fix DTX is always unavailable when DISABLE_FLOAT_API is not defined
Jean-Marc Valin
jmvalin at jmvalin.ca
Tue Oct 17 02:28:12 UTC 2017
The reason we disable the SILK DTX in that case is because we have a
"global" DTX in the analysis code that works for CELT too.
Jean-Marc
On 16/10/17 10:23 PM, 강인규 wrote:
> Hi.
>
> I found that DTX is always unavailable when DISABLE_FLAOT_API is not
> defined in OPUS_AUTO mode.
>
> As you know analysis_info.valid is alway true except NaN case and
> is_silence is alway true except digital zero signal case.
>
> In general, following condition will be alway true except exceptional case.
>
> (analysis_info.valid || is_silence)
>
> But in a code, there is a NOT expression in front of above condition, so
> st->silk_mode.useDTX will be always disable
>
> Here is the code.
>
> #ifndef DISABLE_FLOAT_API
>
> st->silk_mode.useDTX = st->use_dtx && !(analysis_info.valid ||
> is_silence);
>
> #else
>
> st->silk_mode.useDTX = st->use_dtx;
>
> #endif
>
> Is it a bug or are there any reason for this?
>
> In my opinion, the NOT expression should to be removed.
>
> I attached a fixed file.
>
> Please review.
>
>
> Thanks,
>
> InGyu Kang
>
>
>
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus
>
More information about the opus
mailing list