[FFmpeg-devel] [PATCH] Possible fix for h.264 HDDVD playback

Måns Rullgård mans
Fri Jan 18 12:21:13 CET 2008

Matthew Nichols wrote:
> At the moment, HDDVD files (EVOB) containing h.264 streams will not
> playback. This is because libavformat thinks these streams are MPEG-2.
> I've made a small patch to mpeg.c that fixes this; however, I have been
> told that this could break playback for some MPEG-2 files (although it
> hasn't for any of my MPEG-2 files so far, and no one has given me any
> good evidence as to why this is the case).

The evidence is the MPEG2 standard.  We can't make compliant files
unplayable in favour of a bastardised version of the format.  The
HD-DVD designers should hang in shame for not following the spec.

> The mplayer-users list had this information:
>  > US patent application #20060182418 (which appears to be based on an older
>  > version of the HD-DVD spec, thus contains a number of differences to the
>  > current version) lists the following stream assignments for EVOBs:
>  >
>  > 0xe0 - MPEG2 primary video
>  > 0xe1 - MPEG2 secondary video
>  > 0xe2/0xe3 - H264 primary/secondary video
>  > 0xfd->0x55 - VC-1 primary video
>  > 0xfd->0x75 - VC-1 secondary video
>  >
>  > 0xc0-0xc7 - MPEG primary audio 0-7
>  > 0xc8-0xcf - MPEG secondary audio 0-7
>  > 0xbd->0xc0-0xcf - DD+/E-AC3 audio
>  > 0xbd->0x88-0x8f - DTS-HD primary audio
>  > 0xbd->0x98-0x9f - DTS-HD secondary audio
>  > 0xbd->0xa0-0xaf - LPCM audio
>  > 0xbd->0xb0-0xbf - MLP audio
>  >
>  > 0xbd->0x20-0x3f - DVD subpictures
>  >
>  >
>  > These seem to be fairly compatible to DVD VOBs - the main note being that
>  > current encoding software seems to place plain AC-3 streams in the same
>  > stream id as E-AC3, I guess since AC-3 is forward compatible to E-AC3.
> Before the patch, 0xe0 to 0xef was interpreted as being an MPEG-2 file.
> My patch now only recognizes 0xe0 and 0xe1 as MPEG-2 and 0xe2 and 0xe3
> is now recognized as H.264.

This is unacceptable.

> If there's a better way to do this, I'm all for it, but it's unfortunate
> that H.264 playback in HDDVD still does not work when there's an
> apparently simple fix for it. At minimum, it should be possible to pass
> a flag to mplayer that tells it you're playing an HDDVD with H.264 and
> it would "turn on" my patch. Unfortunately, I have little experience
> with mplayer and don't know the proper way of doing that.

Well, hopefully Bluray will win, and we won't have to worry about this ;-)

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list