On 05.09.2016 16:43, Nicolas George wrote:
Le decadi 20 fructidor, an CCXXIV, Marton Balint a écrit :
The order of the channels to remain unchanged regardless of the input
channel layout (which is often guessed only). Filtering in ffmpeg is
unfortunately forcing you to use channel layouts, even if you don't want to,
even if you only want to say: this track has 2 channels, that stream track
has 1 channels. Don't assume anything else.

I feel Carl Eugen has the right of it.

libavfilter can work with streams with unknown layouts, but some individual
filters may not. To make them work is relatively easy. First, make sure they
do not use the channel layout: most filters from the fork will use the
channel layout to know the number of channels, we have a separated field for
that. Then declare accordingly the list of formats in query formats.

The real problem is ffmpeg.c: it will try to guess the channel layout when
none is specified. I think I added an option to avoid that, but it may have
been lost at some point.

-guess_layout_max 0

But indeed when using it I stumbled over similar filter issues (amerge or pan?). In the end I stopped using it and let the guessing do its work, instead I added "-write_channel_mask off" on AVI output side.

And there seems to be no option to explicitly set an unknown input channel layout (as Marton noted).

And of course, most of the time, there is a channel layout, you just have to
make sure it is properly set at input and let the logic do its work.

Another example: You have a file, with mono tracks. Some tracks have correct
metadata describing the channel layout of the files, others don't.
                                                       ^^^^^^^^^^^^
This is what needs fixing.

                                                                     You wan't
the channels in file-order, regardless of the correctness of the input
channel layout metadata in the file.

Not true. Codecs work with the channel layouts, for inter-channel
correlation, for the cutoff frequency on the subwoofer, etc.

Regards,
Tobias

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to