[Matroska-devel] Channel Positions for Multichannel LPCM Track Inside Matroska

Nithin Mathew Kurien via Matroska-devel matroska-devel at lists.matroska.org
Sun Apr 24 17:39:55 CEST 2016


Currently the specification for storing a multichannel LPCM track (CodecID
A_PCM/INT/LIT) inside a Matroska file [1, 2], does not specify a way to
indicate the channel positions of the track. Due to this, players find it
difficult to map the channels to the correct speaker positions when playing
such a track. MakeMKV employs a workaround for this problem. It stores the
track under the CodecID A_MS/ACM, along with a WAVEFORMATEXTENSIBLE
structure in CodecPrivate. This structure contains a field called
dwChannelMask which specifies the channel positions [3]. This is identical
to the way LPCM is stored inside AVI files. The problem with this approach
is that most players do not recognise the CodecID A_MS/ACM, except for a
few open-source players like Kodi [4].

In the case of a FLAC track (inside either a raw .FLAC file or a .MKA
file), we can specify an optional WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag
[5]. Could a similar solution be implemented for LPCM inside Matroska too?

On a related note, the ffmpeg documentation [6] specifies additional
channel positions which are not found in the Microsoft documentation [3],
like Wide Left and Wide Right speakers. Are these speaker positions
recognised by players when reading WAV files?

[1] https://matroska.org/technical/specs/codecid/index.html
[2] http://haali.su/mkv/codecs.pdf
[4] http://www.makemkv.com/forum2/viewtopic.php?f=8&t=2530
[5] https://sourceforge.net/p/mediainfo/discussion/297609/thread/164b4fb3/
[6] https://ffmpeg.org/doxygen/2.2/channel__layout_8h_source.html

Thanks and regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.matroska.org/pipermail/matroska-devel/attachments/20160424/93c77c62/attachment.html>

More information about the Matroska-devel mailing list