Opened 6 years ago
Last modified 3 years ago
#6568 open enhancement
Add support for DTS matrixed channel decoding
Reported by: | macdavis | Owned by: | |
---|---|---|---|
Priority: | wish | Component: | avcodec |
Version: | git-master | Keywords: | dca |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
The attachments are 2 "6.1 Matrix DTS-HD High Resolution Audio" files. One is "ES Phase Shift" enabled, which requires a discrete Center Surround channel during encoding. The other is "ES Pre-Mixed" enabled, which doesn't require a discrete Center Surround channel during encoding. FFmpeg is not able to decode those samples to 6.1 channel.
How to reproduce:
HR_6.1_MATRIX_ES_PHASE_SHIFT_3840.dtshd
ffmpeg -i /Volumes/BOOTCAMP/Users/Davis/Downloads/DTS\ CHECK/HR_6.1_MATRIX_ES_PHASE_SHIFT_3840.dtshd -f null - ffmpeg version 3.3.git Copyright (c) 2000-2017 the FFmpeg developers built with Apple LLVM version 8.1.0 (clang-802.0.42) configuration: --optflags=-Ofast --prefix=/usr/local --extra-cflags='-march=haswell -mtune=intel -m64 -minline-all-stringops -fomit-frame-pointer -fforce-addr -finline-functions -funit-at-a-time -funroll-loops -ffunction-sections -fdata-sections -Ofast -pipe -fomit-frame-pointer -ftree-vectorize' --target-os=darwin --arch=x86_64 --cpu=haswell --disable-runtime-cpudetect --disable-debug --disable-opencl --disable-avdevice --disable-ffplay --disable-ffprobe --disable-postproc --disable-ffserver --disable-devices --disable-avresample --disable-indev=qtkit --disable-doc --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-gpl --enable-nonfree --enable-libopenh264 --enable-shared libavutil 55. 69.100 / 55. 69.100 libavcodec 57.102.100 / 57.102.100 libavformat 57. 76.100 / 57. 76.100 libavfilter 6. 96.100 / 6. 96.100 libswscale 4. 7.101 / 4. 7.101 libswresample 2. 8.100 / 2. 8.100 Input #0, dtshd, from '/Volumes/BOOTCAMP/Users/Davis/Downloads/DTS CHECK/HR_6.1_MATRIX_ES_PHASE_SHIFT_3840.dtshd': Metadata: fileinfo : : Duration: 00:00:04.03, bitrate: 3850 kb/s Stream #0:0: Audio: dts (DTS-HD HRA), 48000 Hz, 5.1(side), fltp Stream mapping: Stream #0:0 -> #0:0 (dts (dca) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, null, to 'pipe:': Metadata: fileinfo : : encoder : Lavf57.76.100 Stream #0:0: Audio: pcm_s16le, 48000 Hz, 5.1(side), s16, 4608 kb/s Metadata: encoder : Lavc57.102.100 pcm_s16le size=N/A time=00:00:04.03 bitrate=N/A speed= 117x video:0kB audio:2268kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
HR_6.1_MATRIX_ES_PRE-MIXED_3840.dtshd
ffmpeg -i /Volumes/BOOTCAMP/Users/Davis/Downloads/DTS\ CHECK/HR_6.1_MATRIX_ES_PRE-MIXED_3840.dtshd -f null - ffmpeg version 3.3.git Copyright (c) 2000-2017 the FFmpeg developers built with Apple LLVM version 8.1.0 (clang-802.0.42) configuration: --optflags=-Ofast --prefix=/usr/local --extra-cflags='-march=haswell -mtune=intel -m64 -minline-all-stringops -fomit-frame-pointer -fforce-addr -finline-functions -funit-at-a-time -funroll-loops -ffunction-sections -fdata-sections -Ofast -pipe -fomit-frame-pointer -ftree-vectorize' --target-os=darwin --arch=x86_64 --cpu=haswell --disable-runtime-cpudetect --disable-debug --disable-opencl --disable-avdevice --disable-ffplay --disable-ffprobe --disable-postproc --disable-ffserver --disable-devices --disable-avresample --disable-indev=qtkit --disable-doc --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-gpl --enable-nonfree --enable-libopenh264 --enable-shared libavutil 55. 69.100 / 55. 69.100 libavcodec 57.102.100 / 57.102.100 libavformat 57. 76.100 / 57. 76.100 libavfilter 6. 96.100 / 6. 96.100 libswscale 4. 7.101 / 4. 7.101 libswresample 2. 8.100 / 2. 8.100 Input #0, dtshd, from '/Volumes/BOOTCAMP/Users/Davis/Downloads/DTS CHECK/HR_6.1_MATRIX_ES_PRE-MIXED_3840.dtshd': Metadata: fileinfo : : Duration: 00:00:04.03, bitrate: 3850 kb/s Stream #0:0: Audio: dts (DTS-HD HRA), 48000 Hz, 5.1(side), fltp Stream mapping: Stream #0:0 -> #0:0 (dts (dca) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, null, to 'pipe:': Metadata: fileinfo : : encoder : Lavf57.76.100 Stream #0:0: Audio: pcm_s16le, 48000 Hz, 5.1(side), s16, 4608 kb/s Metadata: encoder : Lavc57.102.100 pcm_s16le size=N/A time=00:00:04.03 bitrate=N/A speed=35.9x video:0kB audio:2268kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown}}}
Attachments (16)
Change History (25)
by , 6 years ago
Attachment: | HR_6.1_MATRIX_ES_PRE-MIXED_3840.dtshd added |
---|
by , 6 years ago
Attachment: | HR_6.1_MATRIX_ES_PHASE_SHIFT_3840.dtshd added |
---|
comment:1 by , 6 years ago
Component: | undetermined → avcodec |
---|---|
Priority: | normal → wish |
Status: | new → open |
follow-up: 6 comment:4 by , 3 years ago
The file is fine. It is encoded via DTS-HD Master Audio Suite. Mediainfo shows both files as 7 channels.
Replying to cehoyos:
My DTS-HD capable receiver detects both files as 5.1.
comment:5 by , 3 years ago
No, it's not.
Replying to Balling:
Is not DTS-ES outdated deprecated, etc? https://github.com/henningms/ps3m2ts/blob/23e03836ae58cb5ba958031f94219a5c945f9381/ps3m2ts/bin/Debug/eac3to/log.txt#L12
follow-up: 7 comment:6 by , 3 years ago
Replying to macdavis:
The file is fine. It is encoded via DTS-HD Master Audio Suite.
Does the software also allow decoding so we would know the expected output?
comment:7 by , 3 years ago
Yes. DTS-HD StreamPlayer can decode the rear center channel.
Replying to cehoyos:
Replying to macdavis:
The file is fine. It is encoded via DTS-HD Master Audio Suite.
Does the software also allow decoding so we would know the expected output?
by , 3 years ago
Attachment: | 6.0_Matrix_2046_kbps.zip.001 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_2046_kbps.zip.002 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_2046_kbps.zip.003 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_2046_kbps.zip.004 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_ES_Phase_Shift_Enabled_2046_kbps.zip.001 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_ES_Phase_Shift_Enabled_2046_kbps.zip.002 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_ES_Phase_Shift_Enabled_2046_kbps.zip.003 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_ES_Phase_Shift_Enabled_2046_kbps.zip.004 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_ES_Pre_Mixed_Enabled_2046_kbps.zip.001 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_ES_Pre_Mixed_Enabled_2046_kbps.zip.002 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_ES_Pre_Mixed_Enabled_2046_kbps.zip.003 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_Rear_Ch_-3dB_Enabled_2046_kbps.zip.001 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_Rear_Ch_-3dB_Enabled_2046_kbps.zip.002 added |
---|
by , 3 years ago
Attachment: | 6.0_Matrix_Rear_Ch_-3dB_Enabled_2046_kbps.zip.003 added |
---|
comment:9 by , 3 years ago
I uploaded some new samples together with their expected outputs. I think this might be a better illustration as all channels make sounds. Note during DTS encoding, Rear Surround Left channel originally from a 7.1 test is chosen for the source of Center Surround channel. So it is expected to hear man's voice "Rear Surround Left" coming from Center Surround channel.
Replying to cehoyos:
Please provide the expected output.
Is not DTS-ES outdated deprecated, etc? https://github.com/henningms/ps3m2ts/blob/23e03836ae58cb5ba958031f94219a5c945f9381/ps3m2ts/bin/Debug/eac3to/log.txt#L12