[FFmpeg-devel] [PATCH]lavc/mlp_parse: Read wordlength from 0xba streams

Hendrik Leppkes h.leppkes at gmail.com
Fri Feb 14 02:20:37 EET 2020


On Fri, Feb 14, 2020 at 12:29 AM Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
>
> Hi!
>
> Attached patch allows detecting s16 truehd streams encoded with
> FFmpeg, only tested with FFmpeg's encoder, I did not look into any
> specification.
>

According to Dolbys Bitstream specification this read does not seem
right. It reads half of a reserved field and 3 single-bit control
fields - in a structure called "channel meaning", which otherwise only
includes fields on channel assignment and interpretation, so this
field being in there seems weird.
Also, why would they code a literal value, and not a lookup table with
fewer bits like the 0xbb case does?

Unless we can find an actual real-world sample from a licensed encoder
that can confirm the presence and accuracy of this field, I'm going to
assume its not correct. It looks to me like it may be writing a MLP
(ie. 0xbb) header, and not a TrueHD header - beyond the first
differences, anyway. The high-level bitstream specification was not
available when mlpenc.c was initially written.


More information about the ffmpeg-devel mailing list