#96 Support for standard multichannel wav's and channel mask iss

open
Josh Coalson
None
7
2009-01-02
2008-04-22
Tebasuna
No

Now, to encode a multichannel wav, must have the WAVE_FORMAT_EXTENSIBLE header, and the MaskChannel must match with the unique value allowed with each channel number.
The rest are rejected.
I propose be more benevolent and assume the standard wav's (without MaskChannel) have the standard order and the appropriate channels.
I know this can be do using the undocumented parameter --channel-map=none, but isn't elegant.

BTW, there are others related issues:
1) A mono file with Channel Mask 0x0004 (Center channel) is rejected, but allowed when is 0x0001 (Left Channel). We listen the mono files by the left ear only?

2) The 5.0 and 5.1 files with Channel Mask 0x0037 and 0x003F are accepted but, when decoded, the Channel Mask are 0x0607 and 0x60F. The Back/Surround channels are chaged for the Side channels. Warning SL, SR means Side not Surround.

3) There are many possibles MaskChannels (0x0103, 0x00F, 0x010B, ... ) not allowed in Flac format if STREAMINFO or FRAME_HEDER don't change.
Only there are some codes reserved (1011-1111) in 'channel assignements'. What is the future?

4) The 7 and 8 channels not defined seems have solid candidates:
7 channels: left, right, center, LFE, back left, back right, back center
8 channels: left, right, center, LFE, back left, back right, side left, side right

A correct management of Channel Mask and accept input files >4 GB (--ignore-chunk-sizes) are basic to support multichannel.

Discussion

  • Mathias Rauen
    Mathias Rauen
    2008-09-27

    2) 0x607 and 0x60f are IMHO the correct channel masks to use... :-)

    3) tag "WAVEFORMATEXTENSIBLE_CHANNEL_MASK"

     
  • Tebasuna
    Tebasuna
    2008-09-27

    Wonderful!
    Then how to make is clear, we only need make it.
    Because is clear than don't work.
    I need open a bug issue?

     
  • Josh Coalson
    Josh Coalson
    2009-01-02

    • priority: 5 --> 7
    • assigned_to: nobody --> jcoalson