Opened 12 years ago

Closed 12 years ago

Last modified 3 years ago

#779 closed defect (fixed)

Channels swapping when decode TrueHD 6.1

Reported by: TDiTP_ Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: thd
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Old problem with decoding of standart (and common) TrueHD 6.1-configuration:

http://img-fotki.yandex.ru/get/4526/79369042.0/0_77128_ec348211_XS.jpg

Decoding of this layout by ffmpeg Win32 Build:

D:\>ffmpeg -i 0.thd -acodec pcm_s24le 0-ffmpeg.wav
ffmpeg version N-35709-g7d531e8, Copyright (c) 2000-2011 the FFmpeg developers
  built on Dec 12 2011 13:50:00 with gcc 4.6.2
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpud
etect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable
-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libop
enjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --en
able-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx
264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 43. 0 / 53. 43. 0
  libavformat  53. 24. 0 / 53. 24. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 /  2. 53. 0
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[truehd @ 020D94A0] Estimating duration from bitrate, this may be inaccurate
Input #0, truehd, from '0.thd':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Audio: truehd, 48000 Hz, 7 channels (FL+FR+FC+LFE+BC+SL+SR), s32
Output #0, wav, to '0-ffmpeg.wav':
  Metadata:
    encoder         : Lavf53.24.0
    Stream #0:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 7 channels (FL+FR+FC+
LFE+BC+SL+SR), s32, 8064 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (truehd -> pcm_s24le)
Press [q] to stop, [?] for help
[truehd @ 020D9D00] End of stream indicated.
size=    3938kB time=00:00:04.00 bitrate=8064.1kbits/s
video:0kB audio:3938kB global headers:0kB muxing overhead 0.001686%

Swapping channels is result:

input	->	after_ffmpeg

L	->	L
C	->	C
R	->	R
LFE	->	LFE
Cs	->	SR
Ls	->	BC
Rs	->	SL

Here you can find all samples (input wavs and output TrueHD 6.1): http://www.mediafire.com/?lnkntqswa3qpd3c. PCMs were encoded by Dolby Media Producer Suite.

P.S. Exactly the same problem was in eac3to, but developer just decided to rename channels, as i can see.

Change History (3)

comment:1 by Carl Eugen Hoyos, 12 years ago

Keywords: 6.1 decode decoder removed
Reproduced by developer: set
Resolution: fixed
Status: newclosed
Version: unspecifiedgit-master

Should be fixed, thank you for the sample!

comment:2 by Carl Eugen Hoyos, 11 years ago

Keywords: thd added; TrueHD removed

comment:3 by Balling, 3 years ago

This is still good (checked wav in audition 2021, Center surround has sound in the end and compared to original many wav's), but of course the encoder does not support 6.1 and uses 5.1 while reencoding; is writing Center surround (that is only present in 6.1 not in 5.1) in both left and right surround.

Note: See TracTickets for help on using tickets.