[MPlayer-dev-eng] [PATCH] Bluray support through libbluray

Ergzay ergzay at gmail.com
Sun Jul 4 09:17:00 CEST 2010


On Jul 4, 2010, at 2:25 AM, Reimar Döffinger wrote:

> On Sun, Jul 04, 2010 at 02:19:48AM -0400, Ergzay wrote:
>> On Mac OS X 10.6 here. I just tried a compile with the patch and it fails on compile. Comes about because it can't find a malloc.h. Probably some #ifdef needed.
> 
> Rather removing it, I can't see anything that would need malloc.h.
> The same probably applies to unistd.h and maybe others.

Well I threw in an #include config.h and an #ifdef for it anyway for the time being. I tried to create a patch, but I'm new to this. When I did an svn diff > file.diff it included all the patch changes except it didn't include the stream_bluray.c file in the patch for some reason. So not sure there.

It now seems to compile fine and it basically works with the single bluray folder I have. I can't switch audio tracks. I can't select subtitle tracks. I can't seek by chapters using ! and @. It just plays the video and it connects all the .m2ts files together and I can seek seamlessly between them. The channel decoding down to 2 channels is wrong (most sound comes from the right speaker). The timestamp of the video starts at 1:10:00.  The over all length of the timestamp is reported as 49:57:46 which is obviously much longer than it actually is. The timestamp on the OSD also flickers backward and forward right around when its changing second sometimes. This may be related to my computer not being quite fast enough to render some scenes, but I haven't seen this in other videos before. (I have a Core 2 Duo 2.5 GHz with nvida 8600M GT.)

Also I get some very strange behavior when mplayer plays inbetween episodes (and files). Right at the switch point the first thing that happens is the video freezes, the timestamp then resets to 1:10:00 and the audio continues to play. This continues until the buffer overflows and I get spammed "too many video packets in the buffer." This is with framedropping off. Some kind of activity is going on here thats eating decoding time. The A-V sync at the timestamp reset point is all of a sudden set to -1444.545 (which happens to exactly match the length of the episode). So after this point the video is frozen and then we get the buffer overflow then mplayer slowly catches back up as it tries to rush render back to match the AV sync (it resets to a normal AV sync number from the crazy high number after a few seconds). The issue is though is that mplayer gets stuck at a about a 7 second AV desync and seems to consider this the new norm and won't try and correct itself unless you seek in the file. If I seek past the change point this error doesn't happen. Although the timestamp still resets, there is no extreme loss in A-V sync. If I turn on frame dropping I still get a buffer overflow and mplayer seems to ignore the frame dropping trigger after it changes tracks (the setting gets reset internally?) Cycling the framedrop setting while its in this new stuck out of sync state does not help because it sees it as the new "norm."

I should add. Seeking seems to be inconsistent. Every time I seek the same file by the same number of key presses, it doesn't seek to the same spots. Sometimes its off by a good amount.

That was in mplayer before when just playing bluray .m2ts files. It's using ffdca to decode the audio so I assume its some form of DTS track. Also I get a lot of spammed errors with frame dropping on. They are all:

[h264 @ 0x1008e2000]concealing 6240 DC, 6240 AC, 6240 MV errors% 395 0 
[h264 @ 0x1008e2000]concealing 6240 DC, 6240 AC, 6240 MV errors% 396 0 
[h264 @ 0x1008e2000]concealing 6240 DC, 6240 AC, 6240 MV errors% 397 0 
[h264 @ 0x1008e2000]concealing 6240 DC, 6240 AC, 6240 MV errors% 399 0 
[h264 @ 0x1008e2000]concealing 6240 DC, 6240 AC, 6240 MV errors% 400 0 
[h264 @ 0x1008e2000]concealing 6240 DC, 6240 AC, 6240 MV errors% 401 0 

I also get a single: [h264 @ 0x1008e2000]Cannot parallelize deblocking type 1, decoding such frames in sequential order
right when playback starts (regardless of framedropping being on or off).

Also whenever I seek I get over 50 spammed lines of:
[h264 @ 0x1008e2000]number of reference frames exceeds max (probably corrupt input), discarding one
[h264 @ 0x1008e2000]number of reference frames exceeds max (probably corrupt input), discarding one
[h264 @ 0x1008e2000]number of reference frames exceeds max (probably corrupt input), discarding one

Mplayer crashes when you give it a title outside of the number of titles. For some reason on my disk using title 0 or title 1 both pointed to the same thing (using 0000 or 0 and 0001 or 1 both seem to work). Disk also had a title 2 but using title caused a crash with this error:

MPlayer interrupted by signal 11 in module: init_audio_codec

Anyway sorry for very long post.

Matthew Lindner


More information about the MPlayer-dev-eng mailing list