[Libav-user] FFmpeg channel layouts

Nicolas George george at nsup.org
Fri Jul 22 13:14:51 EEST 2022

rohit khali (12022-07-21):
> Thanks Nicolas,
> As always your response answers my question. So it's confirmed that in our
> E-AC3 example FFmpeg does change the order of decoded channels when
> compared to the channel order illustrated by acmod values in the encoded
> bitstream. Let's keep the channel ordering aside for the below part.
> Channel layout and naming conventions have always been a topic with some
> doubts for me. For example: In this case, FFmpeg reported channels are "FL
> FR FC LFE SL SR" while as per ATSC A/52 channels are "L, C, R, Ls, Rs,
> LFE". Now if we see, as per R-REC-BS.2051-3 both FL(M+060) and L(M+030) are
> different. Even while measuring the loudness, channel weights are different
> for both FL and L.
> This difference is one of the main reasons I rely on deriving/reporting
> channel layout with names as per corresponding standard. But since the
> decoder is FFmpeg, I have to map extracted information from the encoded
> bitstream parsing with the FFmpeg decoded one.
> Any guidance on these naming conventions will also be helpful for me.

FFmpeg is a general-purpose library, it does not cater to the specifics
of any particular standard. Its channel layout flags are meant to be
unified between all codecs.

If you are sure that the file you just decoded adheres to a certain
standard, then you can be almost certain that what FFmpeg flags SL is
what the standard considers to be the side-left channel, but being sure
is your responsibility. And if you are unsure, experimenting is your
best option.


  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20220722/3f82c16f/attachment.sig>

More information about the Libav-user mailing list