[FFmpeg-devel] [PATCH] Support unknown channel layouts in lavfi.

Nicolas George nicolas.george at normalesup.org
Wed Dec 26 18:28:11 CET 2012

The principle is this: it happens in the format negotiation. The
AVFilterChannelLayouts structure and handling functions are updated to be
able to include either known channel layouts like now or just channel counts
with unknown layout. Filters that have been tested/updated to support
unknown channel layouts declare they accept them, and the negotiation can
detect if all the chain works. Applications can enable it for buffersink,
but it is not the default, thus ensuring binary compatibility.

[PATCH 1/9] lavfi: support unknown channel layouts.

The main work. All merge / reduce / pick functions needed to be specialized
for the change of semantic of AVFilterChannelLayouts, since it is no longer
a simple set: UNKNOWN_2_CHANNELS can be merged with STEREO.

[PATCH 2/9] lavfi: implement ff_all_channel_counts().
[PATCH 3/9] lavfi: implement ff_query_formats_all().

Trivial helpers.

[PATCH 4/9] lavfi/sink_buffer: accept unknown channel layouts.
[PATCH 5/9] lavfi/buffersrc: accept unknown channel layouts.
[PATCH 6/9] lavfi/af_aformat: accept unknown channel layouts.
[PATCH 7/9] lavfi/af_aresample: accept unknown channel layouts.
[PATCH 8/9] lavfi/af_anull: accept unknown channel layouts.
[PATCH 9/9] ffmpeg: support filtering of unknown channel layouts.

Rather straightforward changes.

Note: the patchset is missing all version bumps and APIchanges entries; they
can be added as a single additional commit, no need to increment the counter
several times.


  Nicolas George

More information about the ffmpeg-devel mailing list