Hello, it has brought to my attention that reviewing 200 patches is not desirable, and following the reviewers' suggestions, I squashed the more mundane replacement patches across the codebase, and left the more important or complex ones separate to simplify review.
Some of the single patches at the beginning have already been published and reviewed, added for completeness. Cheers, Vittorio Anton Khirnov (5): Add a new channel layout API lavu: support AVChannelLayout AVOptions lavc: deprecate channel count/layout changing side data avframe: switch to the new channel layout API lavr: switch to the new channel layout API Vittorio Giovara (20): avtools: Use the new channel layout API in AVFrame lavfi, buffersrc: switch to the new channel layout API libavfilter changes for the new channel layout API lavfi: Port filter negotiation to use the new channel layout API avcodecpar: switch to the new channel layout API libavformat changes for the new channel layout API lavc: switch to the new channel layout API aac: convert to new channel layout API ac3: convert to new channel layout API libavcodec changes for the the new channel layout API tools, examples changes for the new channel layout API channel_layout: Add Ambisonic components and channel order lavr: Only let pass-through ambisonic channel layouts opus: Implement mapping type 2 for Ambisonic support lavf: Add non diegetic stream disposition flag mov: Implement spatial audio support aac: Allow pass-through transcoding of ambisonic audio avprobe: Print the channel layout string fate: Add ambisonic tests Bump library versions, update Changelog and APIchanges Changelog | 1 + avtools/avconv.c | 30 +-- avtools/avconv.h | 8 +- avtools/avconv_filter.c | 44 +++- avtools/avconv_opt.c | 52 ++-- avtools/avplay.c | 52 ++-- avtools/avprobe.c | 6 +- avtools/cmdutils.c | 17 +- avtools/cmdutils.h | 8 - doc/APIchanges | 22 ++ doc/examples/decode_audio.c | 2 +- doc/examples/encode_audio.c | 36 +-- doc/examples/filter_audio.c | 11 +- doc/examples/output.c | 30 ++- doc/examples/transcode_aac.c | 29 ++- libavcodec/8svx.c | 15 +- libavcodec/aac.h | 7 +- libavcodec/aac_ac3_parser.c | 9 +- libavcodec/aaccoder.c | 2 +- libavcodec/aacdec.c | 79 +++++- libavcodec/aacdectab.h | 16 ++ libavcodec/aacenc.c | 2 +- libavcodec/aacpsy.c | 10 +- libavcodec/ac3dec.c | 49 +++- libavcodec/ac3dec.h | 2 + libavcodec/ac3enc.c | 83 +++++-- libavcodec/ac3enc.h | 4 +- libavcodec/ac3enc_fixed.c | 5 + libavcodec/ac3enc_float.c | 5 + libavcodec/adpcm.c | 57 ++--- libavcodec/adpcmenc.c | 92 +++---- libavcodec/adx.c | 16 +- libavcodec/adxdec.c | 6 +- libavcodec/adxenc.c | 11 +- libavcodec/alac.c | 18 +- libavcodec/alac_data.c | 12 + libavcodec/alac_data.h | 6 + libavcodec/alacenc.c | 20 +- libavcodec/alsdec.c | 65 ++--- libavcodec/amrnbdec.c | 6 +- libavcodec/amrwbdec.c | 6 +- libavcodec/apedec.c | 9 +- libavcodec/atrac1.c | 10 +- libavcodec/atrac3.c | 26 +- libavcodec/atrac3plusdec.c | 25 +- libavcodec/avcodec.h | 47 ++++ libavcodec/binkaudio.c | 17 +- libavcodec/bmvaudio.c | 4 +- libavcodec/cngdec.c | 3 +- libavcodec/cngenc.c | 6 +- libavcodec/cook.c | 22 +- libavcodec/cook_parser.c | 4 +- libavcodec/dca.h | 2 + libavcodec/dca_xll.c | 6 +- libavcodec/dcadec.c | 54 +++-- libavcodec/decode.c | 88 +++++-- libavcodec/dpcm.c | 14 +- libavcodec/dsicinaudio.c | 4 +- libavcodec/dss_sp.c | 4 +- libavcodec/eac3enc.c | 5 + libavcodec/encode.c | 18 +- libavcodec/flac.c | 37 +-- libavcodec/flac.h | 2 +- libavcodec/flac_parser.c | 7 +- libavcodec/flacdec.c | 10 +- libavcodec/flacenc.c | 2 +- libavcodec/g722dec.c | 4 +- libavcodec/g722enc.c | 8 +- libavcodec/g723_1dec.c | 4 +- libavcodec/g723_1enc.c | 8 +- libavcodec/g726.c | 6 +- libavcodec/gsmdec.c | 4 +- libavcodec/imc.c | 22 +- libavcodec/internal.h | 2 + libavcodec/libdcadec.c | 6 +- libavcodec/libfdk-aacdec.c | 34 ++- libavcodec/libfdk-aacenc.c | 36 ++- libavcodec/libgsmdec.c | 4 +- libavcodec/libgsmenc.c | 4 +- libavcodec/libilbc.c | 4 +- libavcodec/libopencore-amr.c | 8 +- libavcodec/libopusdec.c | 42 ++-- libavcodec/libopusenc.c | 32 ++- libavcodec/libspeexdec.c | 18 +- libavcodec/mace.c | 11 +- libavcodec/metasound.c | 31 +-- libavcodec/mlp_parser.c | 34 +-- libavcodec/mlp_parser.h | 4 +- libavcodec/mlpdec.c | 96 ++++---- libavcodec/mpc7.c | 7 +- libavcodec/mpc8.c | 5 +- libavcodec/mpegaudio_parser.c | 2 +- libavcodec/mpegaudiodec_template.c | 37 +-- libavcodec/mpegaudioenc.c | 11 +- libavcodec/nellymoserdec.c | 4 +- libavcodec/nellymoserenc.c | 6 +- libavcodec/on2avc.c | 19 +- libavcodec/options_table.h | 5 + libavcodec/opus.c | 42 +++- libavcodec/opusdec.c | 13 +- libavcodec/pafaudio.c | 5 +- libavcodec/pcm-bluray.c | 36 ++- libavcodec/pcm-dvd.c | 24 +- libavcodec/pcm.c | 23 +- libavcodec/psymodel.c | 8 +- libavcodec/qcelpdec.c | 4 +- libavcodec/qdm2.c | 6 +- libavcodec/ra144dec.c | 4 +- libavcodec/ra144enc.c | 6 +- libavcodec/ra288.c | 4 +- libavcodec/ralf.c | 16 +- libavcodec/roqaudioenc.c | 20 +- libavcodec/s302m.c | 15 +- libavcodec/shorten.c | 6 +- libavcodec/sipr.c | 4 +- libavcodec/smacker.c | 11 +- libavcodec/takdec.c | 40 ++-- libavcodec/truespeech.c | 7 +- libavcodec/tta.c | 15 +- libavcodec/twinvq.c | 20 +- libavcodec/twinvqdec.c | 18 +- libavcodec/utils.c | 173 +++++++++++--- libavcodec/vima.c | 5 +- libavcodec/vmdaudio.c | 22 +- libavcodec/vorbis.h | 5 + libavcodec/vorbis_data.c | 18 ++ libavcodec/vorbisdec.c | 18 +- libavcodec/vorbisenc.c | 4 +- libavcodec/wavpack.c | 19 +- libavcodec/wma.c | 13 +- libavcodec/wmadec.c | 25 +- libavcodec/wmaenc.c | 27 ++- libavcodec/wmalosslessdec.c | 36 ++- libavcodec/wmaprodec.c | 66 +++-- libavcodec/wmavoice.c | 4 +- libavcodec/ws-snd1.c | 4 +- libavdevice/alsa.c | 10 +- libavfilter/af_aformat.c | 30 ++- libavfilter/af_amix.c | 11 +- libavfilter/af_ashowinfo.c | 12 +- libavfilter/af_asyncts.c | 6 +- libavfilter/af_channelmap.c | 92 +++---- libavfilter/af_channelsplit.c | 40 ++-- libavfilter/af_compand.c | 8 +- libavfilter/af_hdcd.c | 2 +- libavfilter/af_join.c | 84 +++---- libavfilter/af_resample.c | 33 +-- libavfilter/af_volume.c | 2 +- libavfilter/audio.c | 17 +- libavfilter/avfilter.c | 9 +- libavfilter/avfilter.h | 13 +- libavfilter/avfiltergraph.c | 116 +++++++-- libavfilter/buffersink.c | 2 +- libavfilter/buffersrc.c | 53 +++-- libavfilter/buffersrc.h | 12 +- libavfilter/fifo.c | 7 +- libavfilter/formats.c | 45 +++- libavfilter/formats.h | 4 +- libavfilter/trim.c | 3 +- libavformat/4xm.c | 7 +- libavformat/adxdec.c | 11 +- libavformat/aea.c | 11 +- libavformat/aiffdec.c | 13 +- libavformat/aiffenc.c | 4 +- libavformat/amr.c | 3 +- libavformat/apc.c | 12 +- libavformat/ape.c | 3 +- libavformat/au.c | 5 +- libavformat/audiointerleave.c | 2 +- libavformat/avformat.h | 6 + libavformat/bethsoftvid.c | 3 +- libavformat/bfi.c | 3 +- libavformat/bink.c | 12 +- libavformat/bmv.c | 3 +- libavformat/cafdec.c | 3 +- libavformat/cdxl.c | 9 +- libavformat/dashenc.c | 2 +- libavformat/dauddec.c | 3 +- libavformat/daudenc.c | 2 +- libavformat/dsicin.c | 7 +- libavformat/dss.c | 3 +- libavformat/dump.c | 11 +- libavformat/dv.c | 3 +- libavformat/dvenc.c | 2 +- libavformat/eacdata.c | 3 +- libavformat/electronicarts.c | 7 +- libavformat/flacdec.c | 2 +- libavformat/flacenc.c | 13 +- libavformat/flic.c | 3 +- libavformat/flvdec.c | 21 +- libavformat/flvenc.c | 6 +- libavformat/g722.c | 2 +- libavformat/g723_1.c | 3 +- libavformat/g729dec.c | 2 +- libavformat/gsmdec.c | 3 +- libavformat/gxf.c | 9 +- libavformat/gxfenc.c | 2 +- libavformat/idcin.c | 4 +- libavformat/idroqdec.c | 12 +- libavformat/iff.c | 16 +- libavformat/ilbc.c | 2 +- libavformat/ipmovie.c | 8 +- libavformat/isom.c | 5 +- libavformat/iss.c | 17 +- libavformat/jvdec.c | 3 +- libavformat/lxfdec.c | 3 +- libavformat/matroskadec.c | 4 +- libavformat/matroskaenc.c | 15 +- libavformat/mm.c | 3 +- libavformat/mmf.c | 3 +- libavformat/mov.c | 158 ++++++++++-- libavformat/mov_chan.c | 26 +- libavformat/mov_chan.h | 4 +- libavformat/movenc.c | 8 +- libavformat/mp3enc.c | 2 +- libavformat/mpc.c | 3 +- libavformat/mpc8.c | 5 +- libavformat/mpegenc.c | 6 +- libavformat/mux.c | 2 +- libavformat/mvdec.c | 10 +- libavformat/mvi.c | 3 +- libavformat/mxfdec.c | 13 +- libavformat/mxfenc.c | 6 +- libavformat/mxg.c | 3 +- libavformat/nsvdec.c | 2 +- libavformat/nutdec.c | 2 +- libavformat/nutenc.c | 2 +- libavformat/nuv.c | 7 +- libavformat/oggparsecelt.c | 3 +- libavformat/oggparseogm.c | 6 +- libavformat/oggparseopus.c | 3 +- libavformat/oggparsespeex.c | 8 +- libavformat/oggparsevorbis.c | 3 +- libavformat/oma.c | 19 +- libavformat/oma.h | 5 +- libavformat/omadec.c | 10 +- libavformat/omaenc.c | 4 +- libavformat/paf.c | 3 +- libavformat/pcm.c | 2 +- libavformat/pcmdec.c | 7 +- libavformat/pmpdec.c | 3 +- libavformat/psxstr.c | 10 +- libavformat/qcp.c | 3 +- libavformat/r3d.c | 3 +- libavformat/riffdec.c | 13 +- libavformat/riffenc.c | 11 +- libavformat/rl2.c | 7 +- libavformat/rmdec.c | 6 +- libavformat/rmenc.c | 2 +- libavformat/rpl.c | 8 +- libavformat/rsodec.c | 3 +- libavformat/rsoenc.c | 2 +- libavformat/rtp.c | 10 +- libavformat/rtpdec_amr.c | 3 +- libavformat/rtpenc.c | 12 +- libavformat/rtsp.c | 6 +- libavformat/rtsp.h | 1 - libavformat/sdp.c | 34 +-- libavformat/segafilm.c | 9 +- libavformat/sierravmd.c | 12 +- libavformat/siff.c | 3 +- libavformat/smacker.c | 12 +- libavformat/smjpegdec.c | 3 +- libavformat/smjpegenc.c | 2 +- libavformat/smoothstreamingenc.c | 2 +- libavformat/smush.c | 4 +- libavformat/sol.c | 4 +- libavformat/soxdec.c | 14 +- libavformat/soxenc.c | 4 +- libavformat/swfdec.c | 8 +- libavformat/swfenc.c | 2 +- libavformat/takdec.c | 7 +- libavformat/tests/movenc.c | 2 +- libavformat/thp.c | 3 +- libavformat/tiertexseq.c | 7 +- libavformat/tmv.c | 10 +- libavformat/tta.c | 3 +- libavformat/utils.c | 35 ++- libavformat/voc_packet.c | 7 +- libavformat/vocenc.c | 8 +- libavformat/vqf.c | 11 +- libavformat/wavdec.c | 4 +- libavformat/wc3movie.c | 8 +- libavformat/westwood_aud.c | 6 +- libavformat/westwood_vqa.c | 2 +- libavformat/wtv.c | 6 +- libavformat/wvdec.c | 3 +- libavformat/xa.c | 7 +- libavformat/xmv.c | 3 +- libavformat/xwma.c | 8 +- libavformat/yop.c | 3 +- libavresample/audio_mix.c | 148 +++++++----- libavresample/audio_mix_matrix.c | 477 +++++++++++++++++++++---------------- libavresample/avresample.h | 42 +++- libavresample/internal.h | 10 +- libavresample/options.c | 8 + libavresample/tests/avresample.c | 26 +- libavresample/utils.c | 135 ++++++++--- libavutil/channel_layout.c | 467 +++++++++++++++++++++++++++++++----- libavutil/channel_layout.h | 395 ++++++++++++++++++++++++++++-- libavutil/frame.c | 88 ++++++- libavutil/frame.h | 12 +- libavutil/opt.c | 47 ++++ libavutil/opt.h | 10 + libavutil/version.h | 3 + tests/fate/ac3.mak | 12 +- tests/fate/lossless-audio.mak | 2 +- tests/fate/mov.mak | 3 + tests/fate/opus.mak | 5 + tests/ref/fate/mov-ambisonic | 1 + tests/ref/fate/opus-ambisonic | 1 + tools/graph2dot.c | 7 +- tools/ismindex.c | 2 +- tools/sidxindex.c | 2 +- 314 files changed, 4084 insertions(+), 2119 deletions(-) create mode 100644 tests/ref/fate/mov-ambisonic create mode 100644 tests/ref/fate/opus-ambisonic -- 2.13.1 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel