[libav-bugs] [Bug 401] New: TrueHD decoder + request_channels: broken output

bugzilla-daemon at aruru.libav.org bugzilla-daemon at aruru.libav.org
Sun Dec 16 00:25:44 CET 2012


http://bugzilla.libav.org/show_bug.cgi?id=401

           Summary: TrueHD decoder + request_channels: broken output
           Product: Libav
           Version: git HEAD
          Platform: X86
        OS/Version: Mac OS
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: libavcodec
        AssignedTo: bugzilla at libav.org
        ReportedBy: tdskywalker at gmail.com


Though request_channels is deprecated, this is probably relevant to
request_channel_layout too.

Sample source:

https://dl.dropbox.com/u/37259775/audio/truehd/substreams/truehd_3_presentations.thd

-------------------------------------------------
avconv -request_channels 6 -i truehd_3_presentations.thd 
avconv version v9_beta2-519-gf33b5ba, Copyright (c) 2000-2012 the Libav
developers
  built on Dec 15 2012 16:41:35 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
[truehd @ 0x7fcb73806600] max_analyze_duration reached
[truehd @ 0x7fcb73806600] Estimating duration from bitrate, this may be
inaccurate
Input #0, truehd, from 'truehd_3_presentations.thd':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0.0: Audio: truehd, 48000 Hz, 7.1, s32
At least one output file must be specified
-------------------------------------------------

…other decoders that implement request_channels, like dca and ac3, already show
the downmixed layout in the "info" output, which suggests that request_channels
may be implemented too late in the TrueHD/MLP decoder.

-------------------------------------------------
avconv -request_channels 6 -i truehd_3_presentations.thd truehd_5point1.flac
avconv version v9_beta2-519-gf33b5ba, Copyright (c) 2000-2012 the Libav
developers
  built on Dec 15 2012 16:41:35 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
[truehd @ 0x7f918a006600] max_analyze_duration reached
[truehd @ 0x7f918a006600] Estimating duration from bitrate, this may be
inaccurate
Input #0, truehd, from 'truehd_3_presentations.thd':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0.0: Audio: truehd, 48000 Hz, 7.1, s32
Output #0, flac, to 'truehd_5point1.flac':
  Metadata:
    encoder         : Lavf54.20.0
    Stream #0.0: Audio: flac, 48000 Hz, 7.1, s32, 200 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (truehd -> flac)
Press ctrl-c to stop encoding
Input stream #0:0 frame changed from rate:48000 fmt:s32 ch:8 chl:7.1 to
rate:48000 fmt:s32 ch:6 chl:6 channels (FL|FR|FC|LFE|BL|BR|SL|SR)
[truehd @ 0x7f918a015e00] channel count mismatch
Error while decoding stream #0:0
[truehd @ 0x7f918a015e00] channel count mismatch
Error while decoding stream #0:0
[truehd @ 0x7f918a015e00] channel count mismatch
Error while decoding stream #0:0
End of stream indicated.19 bitrate=4233.1kbits/s    
size=   19658kB time=30.05 bitrate=5358.9kbits/s    
video:0kB audio:19650kB global headers:0kB muxing overhead 0.041001%
-------------------------------------------------

The result of my observation above is that the output was configured for 7.1
instead of 5.1. Not to mention the output is somewhat corrupt:

https://dl.dropbox.com/u/37259775/audio/truehd/substreams/truehd_5point1.flac

Same issue when requesting Stereo:

-------------------------------------------------
avconv -request_channels 2 -i truehd_3_presentations.thd truehd_stereo.flac
avconv version v9_beta2-519-gf33b5ba, Copyright (c) 2000-2012 the Libav
developers
  built on Dec 15 2012 16:41:35 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
[truehd @ 0x7fdbd1006600] max_analyze_duration reached
[truehd @ 0x7fdbd1006600] Estimating duration from bitrate, this may be
inaccurate
Input #0, truehd, from 'truehd_3_presentations.thd':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0.0: Audio: truehd, 48000 Hz, 7.1, s32
Output #0, flac, to 'truehd_stereo.flac':
  Metadata:
    encoder         : Lavf54.20.0
    Stream #0.0: Audio: flac, 48000 Hz, 7.1, s32, 200 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (truehd -> flac)
Press ctrl-c to stop encoding
Input stream #0:0 frame changed from rate:48000 fmt:s32 ch:8 chl:7.1 to
rate:48000 fmt:s32 ch:2 chl:2 channels (FL|FR|FC|LFE|BL|BR|SL|SR)
[truehd @ 0x7fdbd1015e00] channel count mismatch
Error while decoding stream #0:0
[truehd @ 0x7fdbd1015e00] Lossless check failed - expected 0c, calculated 01.
[truehd @ 0x7fdbd1015e00] channel count mismatch
Error while decoding stream #0:0
[truehd @ 0x7fdbd1015e00] Lossless check failed - expected 1b, calculated 10.
[truehd @ 0x7fdbd1015e00] channel count mismatch
Error while decoding stream #0:0
[truehd @ 0x7fdbd1015e00] Lossless check failed - expected c9, calculated 57.
End of stream indicated.77 bitrate=8328.9kbits/s    
size=   30844kB time=30.05 bitrate=8408.4kbits/s    
video:0kB audio:30836kB global headers:0kB muxing overhead 0.026127%
-------------------------------------------------

Please lower the volume and/or cover your ears:

https://dl.dropbox.com/u/37259775/audio/truehd/substreams/truehd_stereo.flac

Rodeo

-- 
Configure bugmail: http://bugzilla.libav.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the libav-bugs mailing list