PDA

View Full Version : Is anyone playing Blu-Ray with 100% A/V sync?


ggking7
28th November 2008, 05:04
I've tried everything I can possibly think of to speed up Blu-Ray playback via mplayer on Gentoo Linux and it still can't stay in A/V sync from the beginning to the end of a movie. I've tried playing from the hard disk and from the Blu-Ray disc, I've tried all kinds of mplayer optimization flags, and I just upgraded my AMD X2 2.55ghz to 3.3ghz. The console always fills up with "Too many video packets in the buffer" messages. Is anyone playing Blu-Ray back with 100% A/V sync from beginning to end?

Edit: Strangely, I get worse performance with -framedrop.

Dark Shikari
28th November 2008, 05:27
Too many video packets in the buffer" messageslibmpdemux/demuxer.h, add one or two zeroes to MAX_PACK_BYTES.

Not guaranteed to work; if the problem is one of your CPU being too slow, it won't help. You can also try -lavdopts threads=2.

ggking7
1st December 2008, 05:34
Thank you, do I need to recompile mplayer after editing that file?

Adub
1st December 2008, 05:47
Yes you do.

ggking7
1st December 2008, 06:47
Oh wow, night and day. Thank you very much. I changed:

#define MAX_PACK_BYTES 0x800000

to:

#define MAX_PACK_BYTES 0x8000000

Can this be specified when launching mplayer instead of editing libmpdemux/demuxer.h and compiling?

ggking7
19th December 2008, 06:15
Does anyone know of a way to accomplish this same thing with mplayer without editing that file?

nm
19th December 2008, 11:51
Does anyone know of a way to accomplish this same thing with mplayer without editing that file?
There is no command-line parameter for this. To have one, you would need to change the code more, create a patch and submit it to the mplayer-dev-eng mailing list for evaluation.

You could also try to ask on the mailing list if increasing the default value would be appropriate. Then the change could make it to SVN.

ggking7
19th December 2008, 16:05
Alright, thank you. Here's a patch in case anyone needs it:


--- libmpdemux/demuxer.h 2008-12-19 06:36:34.000000000 -0800
+++ libmpdemux/demuxer.h 2008-12-19 06:36:54.000000000 -0800
@@ -23,7 +23,7 @@
#ifdef CONFIG_TV_BSDBT848
#define MAX_PACK_BYTES 0x2000000
#else
-#define MAX_PACK_BYTES 0x800000
+#define MAX_PACK_BYTES 0x8000000
#endif

#define DEMUXER_TYPE_UNKNOWN 0