[FFmpeg-devel] Proper parsing of DTS-HD MA streams

Robert McNamara robert.mcnamara
Wed Nov 26 18:30:20 CET 2008

On Wed, Nov 26, 2008 at 1:08 AM, madshi <dear at madshi.net> wrote:

> Kostya schrieb:
> > Thank you for the sample. I'll try to find some time to improve parser.
> See here how to properly parse and skip DTS-HD blocks:
> http://forum.doom9.org/showthread.php?p=1183481#post1183481
> https://ffdshow-tryout.svn.sourceforge.net/svnroot/ffdshow-tryout/branches/libavformat/src/TaudioParser.cpp
> Search for "blownUpHeader".
> Regards, madshi.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel

Thank you Kostya and Madshi both for looking into this.  I'm thrilled to see
that a lot of the heavy lifting is already done and hope that this will be a

In what may be an unpopular move, I've updated the previous patches to
mpegts.c/h to properly parse the tracks.  I know there was some resistance
to this before, but perhaps since we're starting fresh, cool heads can
prevail and we can figure out a way that it makes sense to get this
committed.  I've changed the patch somewhat to create a case for TrueHD to
point at the MLP codec (I think it was mistakenly included in AC3 before)
and I've added stream definition for LPCM so that it at least is parse
correctly in m2ts.  I tested pointing Bluray LPCM at CODEC_ID_PCM_S16LE, but
that seems not to work properly just yet so I left it out.  I have tested
these parser updates and found them to work with LPCM (0x80, even though it
is technically misidentified as mp1), DTS-HD (0x85), and DTS-HD MA (0x86).
 I don't have any disks that include E-AC-3 (0x84) or MLP/TrueHD (0x83) so I
wasn't able to test those.

I should note that the parser hangs entirely on these samples without the
patches.  With this patch applied, ffmpeg -i infile works as expected and
picks up all the tracks in all of my disks (about 30).

Thanks, guys.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: tsparser_hdformats.diff
Type: application/octet-stream
Size: 1976 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20081126/d630f34d/attachment.obj>

More information about the ffmpeg-devel mailing list