[opus] [Patch] Non-diegetic support for channel mapping 254

Jean-Marc Valin jmvalin at jmvalin.ca
Fri Apr 28 21:31:17 UTC 2017

Hi Drew,

Thanks for the update. It's merged in master.


On 28/04/17 12:59 PM, Drew Allen wrote:
> My apologies for the confusion, I think I have the mapping layout
> correct in this patch.
> Cheers!
> On Tue, Apr 25, 2017 at 10:07 AM Jean-Marc Valin <jmvalin at jmvalin.ca
> <mailto:jmvalin at jmvalin.ca>> wrote:
>     On 25/04/17 10:12 AM, Drew Allen wrote:
>     > We assume that the input file is ordered first by ACN ambisonic
>     channels
>     > followed by a (possible) stereo track, and we want to swap the
>     order for
>     > the API in order to couple the stereo for coding.
>     Well, if you look at section 5.1.1 of RFC7845:
>            The 'coupled stream
>            count' field indicates that the decoders for the first M Opus
>            streams are to be initialized for stereo (two-channel) output,
>            and the remaining (N - M) decoders are to be initialized for mono
>            (a single channel) only.
>     In other words, it says that in the file itself (regardless of what you
>     do in the API), you need to have the stereo channels first, followed by
>     the mono channels. Where the channels go in the API itself is another
>     question and you're free to put the non-diegetic stereo at the end
>     for that.
>     > The mapping code
>     > appears to be working on files I've tested it on so far.
>     Well, even if you get the mapping wrong, it's still going to work. It's
>     just that your non-diegetic stream will be made from two mono streams
>     and two of your directional channels will be coupled. That's one of the
>     limitations of simple testing, since it's not going to catch these kinds
>     of errors.
>             Jean-Marc

More information about the opus mailing list