Michael Graczyk
2016-May-05 22:29 UTC
[opus] [PATCH] Add Functions to Create Ambisonic Multistream Encoder
Jean-Marc,> Is there any reason you can't just use the generic multi-stream API, > i.e. opus_multistream_encoder_init() and give it the mapping you need?I would like the encoder to make decisions based on the fact that the audio is Ambisonics. For example, the bitrate allocation should not be the same for every channel. The original multistream API does not provide a way to pass in mapping family so I don't know how we could signal "ambisonics" to the> If it turns out you need this kind of thing too, then yes we > would probably just want to extend the > opus_multistream_surround_encoder_*() calls since they already take a > family argument.Alright, that is simpler. I can modify the patch to simply add "mapping_family == 2" to the allowed values in the surround encoder functions.
Jean-Marc Valin
2016-May-05 23:20 UTC
[opus] [PATCH] Add Functions to Create Ambisonic Multistream Encoder
On 05/05/2016 06:29 PM, Michael Graczyk wrote:> Alright, that is simpler. I can modify the patch to simply add > "mapping_family == 2" to the allowed values in the surround encoder > functions.Sounds reasonable. I would also suggest putting ambisonics behind a #define ENABLE_EXPERIMENTAL_AMBISONICS (or similar) until the spec is final to avoid accidental deployment of non-compliant implementations. Cheers, Jean-Marc
Michael Graczyk
2016-May-06 23:46 UTC
[opus] [PATCH] Add Functions to Create Ambisonic Multistream Encoder
Here is the modified patch. I added a flag to configure.ac which is set to 0 to disable ambisonics, and 1 to enable it. Right now the implementation simply creates a surround encoder with N uncoupled streams. Thanks, Michael Graczyk -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.xiph.org/pipermail/opus/attachments/20160506/5ba6a372/attachment.html> -------------- next part --------------
Possibly Parallel Threads
- [PATCH] Add Functions to Create Ambisonic Multistream Encoder
- [PATCH] Add Functions to Create Ambisonic Multistream Encoder
- [PATCH] Add Functions to Create Ambisonic Multistream Encoder
- [PATCH] Add Functions to Create Ambisonic Multistream Encoder
- [PATCH] Add Functions to Create Ambisonic Multistream Encoder