On Tue, Aug 30, 2016 at 02:48:07PM -0700, Michael Graczyk wrote: > This allows libavcodec/opus to demux ambisonics in an ogg/opus container. > Channel mapping family 2 is being added in this standards track IETF draft: > tools.ietf.org/html/draft-ietf-codec-ambisonics-00 > --- > libavcodec/opus.c | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/opus.c b/libavcodec/opus.c > index 703d2e8..db758e9 100644 > --- a/libavcodec/opus.c > +++ b/libavcodec/opus.c > @@ -328,7 +328,7 @@ av_cold int ff_opus_parse_extradata(AVCodecContext *avctx, > > channels = avctx->extradata ? extradata[9] : (avctx->channels == 1) ? 1 > : 2; > if (!channels) { > - av_log(avctx, AV_LOG_ERROR, "Zero channel count specified in the > extadata\n"); > + av_log(avctx, AV_LOG_ERROR, "Zero channel count specified in the > extradata\n"); > return AVERROR_INVALIDDATA; > } >
unrelated change, please put this in a separate patch > @@ -347,7 +347,7 @@ av_cold int ff_opus_parse_extradata(AVCodecContext *avctx, > streams = 1; > stereo_streams = channels - 1; > channel_map = default_channel_map; > - } else if (map_type == 1 || map_type == 255) { > + } else if (map_type == 1 || map_type == 2 || map_type == 255) { > if (extradata_size < 21 + channels) { > av_log(avctx, AV_LOG_ERROR, "Invalid extradata size: %d\n", > extradata_size); > @@ -371,6 +371,15 @@ av_cold int ff_opus_parse_extradata(AVCodecContext > *avctx, > } > layout = ff_vorbis_channel_layouts[channels - 1]; > channel_reorder = channel_reorder_vorbis; > + } else if (map_type == 2) { > + int ambisonic_order = ((int)sqrt(channels)) - 1; ff_sqrt() to avoid float rounding thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB When you are offended at any man's fault, turn to yourself and study your own failings. Then you will forget your anger. -- Epictetus
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel