View Single Post
Old 12th April 2012, 22:35   #11606  |  Link
MuteyM
Registered User
 
Join Date: Nov 2007
Posts: 19
eac3to bug when decoding DTS-ES 6.1 using libav

Hi, I am decoding a DTS-ES 6.1 soundtrack to wav format. If I use the Sonic decoder then everything works correctly. However if I use libav, then I end up with a wav file with a corrupt channel mask. It looks like eac3to is not taking into account libav's lack of back channel decoding:

Code:
eac3to j:\backup 1) 4: c:\temp\orig.wav -libav
M2TS, 1 video track, 2 audio tracks, 4 subtitle tracks, 1:38:52, 24p /1.001
1: Chapters, 20 chapters
2: MPEG2, 1080p24 /1.001 (16:9)
3: AC3, English, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
4: DTS-ES, English, 6.1 channels, 24 bits, 1509kbps, 48kHz, dialnorm: -4dB
5: Subtitle (PGS), English
6: Subtitle (PGS), French
7: Subtitle (PGS), Spanish
8: Subtitle (PGS), English
a04 The libav DTS decoder doesn't decode the back channels.
a04 Extracting audio track number 4...
a04 Removing DTS dialog normalization...
a04 Removing XCh extension...
a04 Decoding with libav/ffmpeg...
a04 Reducing depth from 64 to 24 bits...
a04 Writing WAV...
a04 Creating file "c:\temp\orig.wav"...
I end up with a wav file containing 5.1 channels of data, but with a channel mask of 0x70f (6.1) instead of the expected 0x60f (5.1). This confuses the heck out of any software that attempts to play it

I thought using -down6 might force eac3to to work properly, but this ended up with the same problem. So I think the solution is for madshi to update eac3to to write the correct channel mask when libav decodes 6.1 (and probably 7.1) DTS files.
MuteyM is offline