[opus] opus 1.2.1 regression with --enable-float-approx and --0fast

Stepan Salenikovich stepan.salenikovich at gmail.com
Fri Feb 23 03:14:16 UTC 2018


On Thu, Feb 22, 2018 at 9:53 PM, Jean-Marc Valin <jmvalin at jmvalin.ca> wrote:

> On 02/22/2018 09:34 PM, Stepan Salenikovich wrote:
> > Its unexpected because the decoder continues to output all samples
> > of -32768 even when the microphone input is silence or near silence, so
> > I would expect the decoded values to be at or near 0.
>
> Oh, if the output is stuck at -32768, then it's likely some NaNs crept
> in. The first thing to check is whether the problem is on the encoder
> side or the decoder side (when if you use a 1.1 encoder with a 1.2
> decoder and vice versa). In general, -Ofast is not IEEE-compliant when
> it comes to NaN, so libopus has to work around that non-compliance.
>

The encoder in my setup is always the one in chrome m64. I'm pretty sure
thats 1.2 and I'm not sure but I think they don't compile with -Ofast.
The decoder which gets stuck at -32768 is 1.2 with -Ofast. 1.1 with -Ofast
works, and 1.2 without -Ofast works as well.


> > I will try to reproduce with opus_demo or opus-tools.
>
> Thanks, that'll help a lot.
>

Having trouble right now compiling opus-tools against a local install of
opus 1.2 compiled with -Ofast... will ask on irc.


>
>         Jean-Marc
>
> >
> >
> >     Optionally, if you could bisect the git repo to see where the problem
> >     started.
> >
> >     Cheers,
> >
> >             Jean-Marc
> >
> >     On 02/22/2018 07:15 PM, Stepan Salenikovich wrote:
> >     > Hi,
> >     > I work on a webRTC application and recently tried updating from
> opus
> >     > 1.1.5 to 1.2.1
> >     >
> >     > Afterwards I noticed occasionally weird audio glitches. I finally
> >     > tracked down the issue to the opus decoder in my application
> >     outputting
> >     > samples with the value of -32768.
> >     >
> >     > This behaviour stopped when reverting to opus 1.1.5 or compiling
> opus
> >     > 1.2.1 without configuring --enable-float-aprox and --0fast.
> >     >
> >     > The setup is a microphone as audio input into chrome v64 which then
> >     > sends opus encoded audio to my application and my application
> decoding
> >     > this audio stream.
> >     >
> >     > I could induce the glitches by breathing/blowing really loudly
> >     into the
> >     > microphone. I noticed that occasionally this would result in the
> opus
> >     > decoder in my application to keep outputting a stream of -32768
> >     (even if
> >     > I stopped) until I talked normally for a bit.
> >     >
> >     > Is it possible that a regression was introduced between 1.1.5 and
> >     1.2.1
> >     > when configuring with --enable-float-approx and compiling
> >     with --0fast?
> >     >
> >     > Thanks,
> >     > -stepan
> >     >
> >     >
> >     > _______________________________________________
> >     > opus mailing list
> >     > opus at xiph.org <mailto:opus at xiph.org>
> >     > http://lists.xiph.org/mailman/listinfo/opus
> >     <http://lists.xiph.org/mailman/listinfo/opus>
> >     >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xiph.org/pipermail/opus/attachments/20180222/db5b692a/attachment-0001.html>


More information about the opus mailing list