[Bug 791771] New: opusenc, opusdec: add option to disable phase inversion
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Dec 19 07:21:01 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=791771
Bug ID: 791771
Summary: opusenc, opusdec: add option to disable phase
inversion
Classification: Platform
Product: GStreamer
Version: unspecified
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-plugins-base
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: marcan at marcan.st
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
http://opus-codec.org/docs/opus_api-1.2/group__opus__genericctls.html#ga10fa1f6eab136baf83c232afa989b6a8
When downmixing stereo streams to mono, having phase inversion enabled produces
terrible audio quality (it sounds like a low bitrate MP3), since frequency
bands randomly cancel out. This should be exposed in the encoder (to produce
bitstreams that always sound good when downmixed to mono, regardless of what
the decoder does), and in the decoder (to allow any arbitrary bitstream to
sound good when downmixed to mono, regardless of what the encoder did). On the
decoder, additionally, it should probably default to disabled (i.e.
OPUS_SET_PHASE_INVERSION_DISABLED(1)) when the output channel count is 1.
Here's a sample of just how bad decoding opus to mono without this enabled
sounds: https://mrcn.st/t/opus_decoding_test.ogg . This is 6 seconds of stereo
decoding, 3 seconds of mono decoding, repeatedly. The input bitstream is the
same in both cases, with phase inversion enabled, as is the case right now in
gstreamer. It gets *really* bad at 0:50 or so.
See also: https://tools.ietf.org/html/rfc8251#section-10
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list