[FFmpeg-devel] [PATCH] Possible fix for h.264 HDDVD playback
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 ;-)
mans at mansr.com
More information about the ffmpeg-devel