[opus] Force Opus/CELT to encode 2 mono instead of 1 stereo
giles at thaumas.net
Mon Sep 25 17:43:51 UTC 2017
On 2017-09-25 10:24 AM, Andrew P. Lentvorski wrote:
> The old CELT thing treated the L and R channels as independent mono
> streams, encoded them somehow with CELT to form one bitstream, sent one
> bitstream across, and then unpacked it manually after the decoder.
You can try calling `opus_encoder_ctl(enc, OPUS_SET_FORCE_CHANNELS(2))`
on the encoder context. That will prevent the encoder from producing
mono packets when it thinks that's a more efficient representation of
Does upping the bitrate help?
In general, I suspect the answer is no. The opus encoder expects to
exploit correllations between the two channels when given them, so it's
not too surprising there's bleed-through at low bitrates. The general
expectation is that applications will use distinct codec contexts for
uncoupled streams, or for coupled streams with more that two channels.
More information about the opus