[Flac] 7.1 FLAC...But hao?

Josh Coalson xflac at yahoo.com
Wed Jun 13 22:40:27 PDT 2007


--- Nicholas Schell <nschell at gmail.com> wrote:
> I know I've read about it under the FAQ and other various forums a
> dozen times, FLAC is able to encode up to 8 channels. But has anyone
> actually tried to do this?
> 
> I ran across this nifty 7.1 wav sample courtesy of Microsoft.
>
http://www.microsoft.com/windows/windowsmedia/howto/articles/Multichannel.aspx#link6
> For some reason the channel mask was incorrectly set to 0x3f, so I
> manually changed it to 0x063f (this should be the correct mask for
> 7.1
> eh?). Now trying to just throw that into the reference CLI I get the
> following error
> "8_Channel_ID.wav: ERROR: WAVEFORMATEXTENSIBLE chunk with unsupported
> channel mask=0x063F."
> 
> That made exactly no sense whatsoever...how could that channel mask
> be
> unsupported when I've read time and time again that FLAC supports up
> to 8 channels. So after a bit of browsing through the 1.1.4 source, I
> found it myself in encode.c. All of the 6 channel masks are defined
> but nothing beyond that.

FLAC does not support arbitrary channel masks.  like vorbis it spec-
ifies only a few common speaker assignments (see the channel assignment
section of http://flac.sourceforge.net/format.html#frame_header).
so far I don't have an idea of what the standard 7.1 assigment(s)
will be.  I know MS went with SDDS but I doubt that's going to
catch on.

if you understand the consequences you can force the encode to
proceed by using the undocumented option --channel-map=none.
this will keep the existing channel order, and you can use the
same option when decoding to recover the WAV file as it was.

but the speaker assignment for playback is undefined.  a player
would have to know to look for and parse the tag
WAVEFORMATEXTENSIBLE_CHANNEL_MASK to figure it out.

> Most confusing part of all is that someone sent me a 7.1 FLAC sample
> from a BR movie. For some reason the reference CLI is unable to
> decode
> the file even for experimentation. I get the error
> "Inosensu Kkaku kidtai-sample-track2.ogg: ERROR: stream is too big to
> fit in a single WAVE file chunk"
> 
> The file is in Ogg only because it was extracted from a .MKV
> (mkvextract does not output native flac) and the sample itself is
> only
> 16 seconds long. I could however decode the sample with CoreFLAC
> through directshow and dump to a extensible wav file (which plays
> perfectly and seems to still contain all 8 channels). Trying to run
> that through the CLI encoder runs up with the same issues of
> unsupported channel masks though. So again, what format does the Wave
> actually need to be in in order to compress as 7.1?
> 
> Here is the 7.1 FLAC sample if you want to check it out. The full
> .MKV
> sample is also in the directory with similar name.
>
http://www.cccp-project.net/beta/test_files/Inosensu%20Kkaku%20kidtai-sample-Track2.ogg

got the file.  will have to take a look later, I want to concentrate
on the upcoming release...

Josh



 
____________________________________________________________________________________
Expecting? Get great news right away with email Auto-Check. 
Try the Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html 


More information about the Flac mailing list