[MPlayer-users] Possible fix for broken h.264 in HDDVD playback

Matthew Nichols mjnichol at uwaterloo.ca
Thu Jan 17 10:21:58 CET 2008


So I figured out a fix for this issue (patch vs current SVN is 
attached). I'm not sure what the proper procedure is allow me to commit 
this fix, since I haven't contributed code to this project before.

Looking back at previous posts to this mailing list, I noticed that a 
previous problem that was unsolved was that no one was able to play any 
HDDVD (EVOB file) that had an h.264 stream (rather than just 
specifically the Transformers HDDVD). I then went back much earlier, to 
when support for EVOB files was first added to mplayer and noticed the 
following comment from Ian Caulfield, who added the support:

"I haven't told it to flag video streams 0xE2 and 0xE3 as H264, since I
thought that might break program streams using those ids for MPEG2 video."

(His post is "[Ffmpeg-devel] support for hddvd .evo files (mpg ps 
variant) in ffmpeg" from Jan 16 13:05:09 CET 2007)

So, what I did is add support to mpeg.c to recognize 0x1e2 and 0x1e3 as 
h.264 streams and shrunk support for MPEG-2 streams to 0x1e0 and 0x1e1. 
Given Ian's warning, I tried out a few regular DVDs (which use MPEG-2) 
and it didn't break any of them. Of course, ideally someone should check 
this over before it is committed to make sure it won't break any other 
types of files).

Also this post to the list, seems to indicate that this is the proper 
set of stream assignments:

 > 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.


I tried out the Transformers HDDVD with the following command, and it 
plays flawlessly now (remember you need the EAC3 patch as well for audio 
to work properly, and get rid of lavdopts if you don't have a multi-core 
or multiple CPUs):

mplayer -fps 24000/1001 -aid 6 -ac +ffeac3 -demuxer lavf -lavdopts 
fast:threads=4 FEATURE_1.EVO


Asfand Yar Qazi wrote:
> On 15/01/2008, Matthew Nichols <mjnichol at uwaterloo.ca> wrote:
>> I tried -vid 1 and I get a black screen. If I fast forward a bit, I can
>> see bits and pieces of something, but it looks like some kind of "behind
>> the scenes" video (you can see the cameras, microphones, etc.).
>>
>> So I'm sure vid 0 is the real movie.
>>
>> Here's the output, when I used vid 1, just for curiosity sake (I quit
>> after a few seconds as to not make the output extraordinarily long). For
>> this stream, it at least makes a bit more progress, but like I said,
>> still not watchable.
>>
> 
> <snip>
> 
> I posted a small EVO File from the decrypted Transformers HD-DVD
> recently when I had this issue - it seems the problem still hasn't
> been looked at by the devs.  Hey, can't blame them, they don't get
> paid for doing this, and its up to them when they look into it.
> _______________________________________________
> MPlayer-users mailing list
> MPlayer-users at mplayerhq.hu
> http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mpeg_evob-h264fix-1.diff
Type: text/x-patch
Size: 831 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-users/attachments/20080117/3423b292/attachment.bin>


More information about the MPlayer-users mailing list