Thank you so much for implementing THD gaps correction!
I'm trying to re-check the THD audio stream of some of my Pixar blu-rays with the new version, but ffmpeg/eac3to now fails to decode the THD stream due to checksum errors (is that something that can be fixed?). Your ffmpeg command to remove Atmos doesn't seem to work for me; I just get "Unable to find a suitable output format for 'truehd_core'". Which ffmpeg version did you use?
ffmpeg 2.2.2 (the one Audacity wants):
Code: Select all
.\ffmpeg.exe -i "C:\Users\domin\Desktop\dgdemux_output\toy-story-4\00800 PID 1100 48000 8ch eng DELAY 0ms.thd" -bsf:a truehd_core -c:a copy "C:\Users\domin\Desktop\dgdemux_output\toy-story-4\00800 PID 1100 48000 8ch eng DELAY 0ms CORE.thd"
ffmpeg version 2.2.2 Copyright (c) 2000-2014 the FFmpeg developers
built on May 22 2014 19:56:44 with gcc 4.8.2 (GCC)
configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
[truehd @ 00ee7780] major sync info header checksum error
Last message repeated 56411 times
[truehd @ 00eeea60] Could not find codec parameters for stream 0 (Audio: truehd, 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
C:\Users\domin\Desktop\dgdemux_output\toy-story-4\00800 PID 1100 48000 8ch eng DELAY 0ms.thd: could not find codec parameters
Conversion failed!
ffmpeg 4.2.2 (latest):
Code: Select all
ffmpeg -i "C:\Users\domin\Desktop\dgdemux_output\toy-story-4\00800 PID 1100 48000 8ch eng DELAY 0ms.thd" -bsf:a truehd_core -c:a copy "C:\Users\domin\Desktop\dgdemux_output\toy-story-4\00800 PID 1100 48000 8ch eng DELAY 0ms CORE.thd"
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.2.1 (GCC) 20200122
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
Input #0, truehd, from 'C:\Users\domin\Desktop\dgdemux_output\toy-story-4\00800 PID 1100 48000 8ch eng DELAY 0ms.thd':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Audio: truehd, 48000 Hz, 7.1, s32 (24 bit)
[NULL @ 0000015da1a06980] Unable to find a suitable output format for 'truehd_core'
truehd_core: Invalid argument
eac3to:
Code: Select all
C:\Users\domin\Desktop\dgdemux_output\toy-story-4>"C:\Program Files (x86)\eac3to\eac3to.exe" "C:\Users\domin\Desktop\dgdemux_output\toy-story-4\00800 PID 1100 48000 8ch eng DELAY 0ms.thd" "C:\Users\domin\Desktop\dgdemux_output\toy-story-4\00800 PID 1100 48000 8ch eng DELAY 0ms.thd_.flac" -mono -progressnumbers -log="C:\Program Files (x86)\eac3to\UsEac3To.log"
TrueHD (Atmos), 7.1 channels, 48kHz, dialnorm: -28dB
Removing TrueHD dialog normalization...
Decoding with libav/ffmpeg...
Encoding FLAC with libFlac...
Creating file "C:\Users\domin\Desktop\dgdemux_output\toy-story-4\00800 PID 1100 48000 8ch eng DELAY 0ms.thd_.flac"...
process: 1%
[truehd @ 00032fc0] End of stream indicated.
[truehd @ 00032fc0] Lossless check failed - expected 00, calculated d6.
The libav decoder reported error -1094995529 while decoding.
I've got a small feature suggestion as well: Maybe add a "Remove dialog normalization" switch/option? I think that would be a nice quality-of-life option.