[MPlayer-users] Smooth DVD Playback And OpenGL

Sergei Klink sklink at yandex.ru
Fri May 31 04:09:02 CEST 2002


Hello Jason,

Thursday, May 30, 2002, 6:30:33 PM, you wrote:

JVC> [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
JVC> To play a DVD.  This is all I really want from Linux--my one desire.
JVC> I've looked high and low for a suitable player, and Mplayer certainly
JVC> looks the most appealing to me (I like that it's GUI-independent and can
JVC> run in text mode).  But DVD playback (only DVDs, not AVIs) is a little
JVC> jerky with Mplayer (0.90pre4, built from source), just enough to be
JVC> irritating.  Audio output is fine (oss), but there is a very slight
JVC> pause in the video about every 1/3 second.  This seems to be an Mplayer
JVC> flaw, because I have a fast, up-to-date system, and other DVD players
JVC> work better.  Xine performs best for DVDs--nice and smooth using
JVC> dvd-nav; but Xine is not what it's cracked up to be (it can't even play
JVC> an MP3 on my system without hiccuping every so often), so I would much
JVC> rather use Mplayer.  DVD playback is also better in Ogle, though it's
JVC> not as good as Xine, and let's face it, Ogle's interface is a shoddy
JVC> piece of crud.  (All right, just an opinion. . . .)

JVC> So I'm really hoping someone will help me get Mplayer working well,
JVC> because on the whole, I think it really kicks ass.  Or at least, let me
JVC> know whether I should report a bug or post to the advanced user list.
JVC> I've read all the doc's thoroughly, google'd 'till my brain hurt, tried
JVC> all the options I could find in the man page (-framedrop, -cache,
JVC> -double, -nosound, etc.), I have DMA enabled on my drive, and I've tried
JVC> all the latest dvdread (0.9.1, 0.9.2 and 0.9.3) and dvdcss (1.2.0 and
JVC> 0.0.3ogle3) packages as well as uninstalling those and using
JVC> libmpdvdkit:  the result is always the same, slightly jerky video for
JVC> DVDs.  AVIs play fine--a little out of sync, but I can adjust that.

JVC> Which brings me to my other problem.  All of the above pertains to the
JVC> xv driver.  I thought maybe I could get better results with one of the
JVC> gl options (which were compiled), but Mplayer crashes when I use those.
JVC> I've included some output below along with my system spec's.  With gl I
JVC> get a half second of sound, then it hangs for several seconds and
JVC> finally crashes.  With gl2 I get a little piece of sound and then it
JVC> crashes immediately.  You'll note from my spec's that I have a GeForce2
JVC> (GTS) card.  I know the doc's say Mplayer is "known not to work" with
JVC> it, and I know how you feel in general about Nvidia and their drivers. I
JVC> tend to agree, but this is my card, it's a popular card, and it does
JVC> well most of the time, so my wish is for someone to actually try and
JVC> resolve this here.  It ALMOST works, and I have a good system for
JVC> testing this, fast hardware, and a newly installed LFS OS with the
JVC> latest software (or the sanest:  gcc 2.95.3 and automake 1.5).  I have
JVC> the latest Nvidia drivers installed, 1.0.2960, with Nvidia's headers
JVC> linked in /usr/X11R6/include/GL/, but I've also tried using the utah-glx
JVC> driver with MesaLib 3.2, and that didn't help.  Neither did SDL.  The GL
JVC> modules just won't go.  Perhaps Mplayer is using some advanced GL
JVC> feature that my card is choking on, or perhaps this is a bug in Mplayer.

JVC> I've spent much time on this and tried many things, for it is my one
JVC> desire.  If I could get smooth DVD video with Xv, I won't cry about the
JVC> gl bug; but maybe GL is my key, and I just need a workaround or a
JVC> patch.  Maybe Xine is using GLX successfully, and that's why it plays
JVC> smoothly.  I dunno.  Here are my hardware spec's:

JVC>         MSI K7T Turbo2 mainboard
JVC>         AMD Thunderbird 1.4GHz
JVC>         half-gig' of PC133 cas2 SDRAM
JVC>         ASUS v7700 GTS 32-meg GeForce2
JVC>         3 Western Digital HDs
JVC>         1 DVD-ROM, "OEM316B" (secondary slave)
JVC>         SoundBlaster Live! Platinum (with LiveDrive)

JVC> Software:

JVC>         LFS 3.3
JVC>         kernel 2.4.18
JVC>         libc 2.2.5
JVC>         XFree86 4.2.0
JVC>         gcc 2.95.3
JVC>         ld 2.12
JVC>         as 2.12
JVC>         Nvidia drivers 1.0.2960
JVC>         ALSA 0.9.0rc1

JVC> Here's some verbose output from when I use -vo gl:

JVC> MPlayer 0.90pre4-2.95.3 (C) 2000-2002 Arpad Gereoffy (see DOCS!)

JVC> CPU vendor name: AuthenticAMD  max cpuid level: 1
JVC> CPU: Advanced Micro Devices Athlon TB Thunderbird (Type: 6, Stepping: 4)
JVC> extended cpuid-level: 6
JVC> CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
JVC> Compiled for x86 CPU with features: MMX MMX2 3DNow 3DNowEx
JVC> Reading /home/jason/.mplayer/codecs.conf: can't open '/home/jason/.mplayer/codecs.conf': No such file or directory
JVC> Reading /usr/local/share/mplayer/codecs.conf: 34 audio & 92 video codecs
JVC> CommandLine:get_path('font/font.desc') -> '/home/jason/.mplayer/font/font.desc'
JVC>  '-v' '-vo' 'gl' 'The Fellowship Of The Ring (screener) - part 2.avi'
JVC> Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
JVC> font: can't open file: /home/jason/.mplayer/font/font.desc
JVC> font: can't open file: /usr/local/share/mplayer/font/font.desc
JVC> Linux RTC init error: Permission denied
JVC> Using usleep() timing
JVC> get_path('input.conf') -> '/home/jason/.mplayer/input.conf'
JVC> Can't open input config file /home/jason/.mplayer/input.conf : No such file or directory
JVC> Falling back on default (hardcoded) config
JVC> Playing The Fellowship Of The Ring (screener) - part 2.avi
JVC> Not an URL!
JVC> File size is 731994112 bytes
JVC> Detected AVI file format!
JVC> list_end=0x2292
JVC> list_end=0x10F4
JVC> ======= AVI Header =======
JVC> us/frame: 41708  (fps=23.976)
JVC> max bytes/sec: 0
JVC> padding: 0
JVC> MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
JVC> frames  total: 122813   initial: 0
JVC> streams: 2
JVC> Suggested BufferSize: 0
JVC> Size:  640 x 272
==>> Found video stream: 0
JVC> found 'bih', 40 bytes of 40
JVC> ======= STREAM Header =======
JVC> Type: vids   FCC: div3 (33766964)
JVC> Flags: 0
JVC> Priority: 0   Language: 0
JVC> InitialFrames: 0
JVC> Rate: 2997/125 = 23.976
JVC> Start: 0   Len: 122813
JVC> Suggested BufferSize: 68721
JVC> Quality 10000
JVC> Sample size: 0
JVC> Regenerating keyframe table for DIVX 3 video
JVC> ======= VIDEO Format ======
JVC>   biSize 40
JVC>   biWidth 640
JVC>   biHeight 272
JVC>   biPlanes 1
JVC>   biBitCount 24
JVC>   biCompression 861292868='DIV3'
JVC>   biSizeImage 522240
JVC> ===========================
JVC> list_end=0x2186
==>> Found audio stream: 1
JVC> found 'wf', 30 bytes of 20
JVC> ======= STREAM Header =======
JVC> Type: auds   FCC:  (0)
JVC> Flags: 0
JVC> Priority: 0   Language: 0
JVC> InitialFrames: 1
JVC> Rate: 48000/1152 = 41.667
JVC> Start: 0   Len: 213428
JVC> Suggested BufferSize: 960
JVC> Quality -1
JVC> Sample size: 0
JVC> list_end=0x2292
JVC> ======= WAVE Format =======
JVC> Format Tag: 85 (0x55)
JVC> Channels: 2
JVC> Samplerate: 48000
JVC> avg byte/sec: 17760
JVC> Block align: 1152
JVC> bits/sample: 0
JVC> cbSize: 12
JVC> mp3.wID=1
JVC> mp3.fdwFlags=0x2
JVC> mp3.nBlockSize=426
JVC> mp3.nFramesPerBlock=1
JVC> mp3.nCodecDelay=0
JVC> list_end=0x2368
JVC> hdr=Software  size=15
JVC> Software  : Nandub v1.0rc2
JVC> hdr=Name  size=64
JVC> Name      : The Lord Of The Rings: The Fellowship Of The Rings DVD Screener
JVC> hdr=Subject  size=64
JVC> Subject   : The Lord Of The Rings: The Fellowship Of The Rings DVD Screener
JVC> hdr=Artist  size=4
JVC> Artist    : DVL
JVC> hdr=Copyright  size=4
JVC> Copyright : DVL
JVC> hdr=Comments  size=1
JVC> Comments  : 
JVC> Broken chunk?  chunksize=1168  (id=JUNK)
JVC> list_end=0x2B4F3BF0
JVC> Found movie at 0x280C - 0x2B4F3BF0
JVC> Reading INDEX block, 336241 chunks for 122813 frames
JVC> Broken chunk?  chunksize=0  (id=idx1)
JVC> Reading INDEX block, 336241 chunks for 122813 frames
JVC> AVI index offset: 0x2808 (movi=0x280C idx0=0x4 idx1=0x1EC)
JVC> Auto-selected AVI audio ID = 1
JVC> Auto-selected AVI video ID = 0
JVC> AVI: Searching for audio stream (id:1)
JVC> AVI video length=723699376
JVC> VIDEO:  [DIV3]  640x272  24bpp  23.98 fps  1130.3 kbps (138.0 kbyte/s)
JVC> [V] filefmt:3  fourcc:0x33564944  size:640x272  fps:23.98  ftime:=0.0417
JVC> Clip info: 
JVC>  Software: Nandub v1.0rc2
JVC>  Name: The Lord Of The Rings: The Fellowship Of The Rings DVD Screener
JVC>  Subject: The Lord Of The Rings: The Fellowship Of The Rings DVD Screener
JVC>  Artist: DVL
JVC>  Copyright: DVL
JVC>  Comments: 
get_path('sub/') ->> '/home/jason/.mplayer/sub/'
JVC> Detected audio codec: [mp3] drv:1 (MPEG layer-2, layer-3)
JVC> Initializing audio codec...
JVC> Selecting Audio Decoder: [mp3lib] MPEG layer-2, layer-3
JVC> dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer
JVC> AUDIO: srate=48000  chans=2  bps=2  sfmt=0x10  ratio: 20000->192000
JVC> mp3lib: made decode tables with MMX optimization
JVC> init layer2&3 finished, tables done
JVC> mp3lib: using 3DNow!Ex optimized decore!

JVC> MPEG 1.0, Layer III, 48000 Hz 160 kbit Joint-Stereo, BPF: 480
JVC> Channels: 2, copyright: No, original: Yes, CRC: No, emphasis: 0
JVC> ==========================================================================
JVC> Opening Video Decoder: [ffmpeg] FFmpeg's libavcodec codec family
JVC> INFO: libavcodec init OK!
JVC> libavcodec: CPU flags: mmx mmxext 3dnow
JVC> Detected video codec: [ffdivx] drv:5 prio:0 (FFmpeg DivX ;-) (MS MPEG-4 v3))
JVC> ==========================================================================
JVC> AO: [oss] 48000Hz Stereo Signed 16-bit (Little-Endian)
JVC> AO: Description: OSS/ioctl audio output
JVC> AO: Author: A'rpi
JVC> Start playing...
JVC> ao2: 48000 Hz  2 chans  Signed 16-bit (Little-Endian)
JVC> audio_setup: using '/dev/dsp' dsp device
JVC> audio_setup: sample format: Signed 16-bit (Little-Endian) (requested: Signed 16-bit (Little-Endian))
JVC> audio_setup: using 2 channels (requested: 2)
JVC> audio_setup: using 48000 Hz samplerate (requested: 48000)
JVC> audio_setup: frags:   8/8  (8192 bytes/frag)  free:  65536
JVC> VDec: vo config request - 640 x 272, Planar YV12  
JVC> [PP] Sorry, postprocessing is not available
JVC> vo_debug: query(Planar YV12) returned 0x401 (i=0) 
JVC> vo_debug: query(Planar I420) returned 0x0 (i=1) 
JVC> vo_debug: query(Planar IYUV) returned 0x0 (i=2) 
JVC> Movie-Aspect is undefined - no prescaling applied.
video_out->>init(640x272->640x272,flags=0,'MPlayer',0x32315659)
VO: [gl] 640x272 =>> 640x272 Planar YV12 
JVC> VO: Description: X11 (OpenGL)
JVC> VO: Author: Arpad Gereoffy <arpi at esp-team.scene.hu>
JVC> Cannot init MMX2 colorspace transform
JVC> X11 opening display: :0.0
JVC> vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
JVC> vo: X11 running at 1600x1200 with depth 24 and 32 bits/pixel (":0.0" => local display)
JVC> No accelerated colorspace conversion found
JVC> *** [vo] Exporting mp_image_t, 640x272x12bpp YUV planar, 261120 bytes
JVC> [gl] YUV init OK!
JVC> [gl] Creating 1024x1024 texture...
JVC> [gl] Resize: 640x272
JVC> Disabling DPMS
JVC> stat: 1


JVC> MPlayer interrupted by signal 11 in module: uninit_vo 
JVC> - MPlayer crashed by bad usage of CPU/FPU/RAM. Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and disassembly. For details, see DOCS/bugreports.html section 5.b.
JVC> - MPlayer crashed. This shouldn't happen. It can be a bug in the MPlayer code _or_ in your drivers _or_ in your gcc version. If you think it's MPlayer's fault, please read DOCS/bugreports.html
JVC> and follow instructions there. We can't and won't help unless you provide these informations when reporting a possible bug.
JVC> X11 error: BadDrawable (invalid Pixmap or Window parameter)
JVC> Type: 0, display: 8330018, resourceid: 0, serial: 4a
JVC> Error code: 9, request code: e, minor code: 0

JVC> *** free_stream() called ***
JVC> Successfully enabled DPMS
JVC> vo: uninit ...


JVC> . . . Sorry if this is the wrong place to be posting all this info'.  If
JVC> so, just let me know if I should report this as a bug, or what?

JVC> Thanx very much,

JVC> --Jason Van Cleve

JVC> _______________________________________________
JVC> RTFM!!!  http://www.MPlayerHQ.hu/DOCS
JVC> Search:  http://www.MPlayerHQ.hu/cgi-bin/htsearch
JVC> http://mplayerhq.hu/mailman/listinfo/mplayer-users

I don't see anyone answering it, so I'll make my own silly suggestion
:) - try -cache <something in kb> to enable cache and see if it
helps...Just don't make it unreasonably big - I think that 256kb is
more than enough for any case...I once had to use such thing when I
needed to play movies from a _slow_ harddrive while having lots of
disk activity, and it helped, though I don't know how useful it will
be to DVDs - never used it, but I guess that there could be the same
problem as with some CDs - scratches and therefore slow or no reading.

-- 
Best regards,
 Sergei                            mailto:sklink at yandex.ru

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 "Windows NT has detected mouse movement, you MUST restart
 your computer before the new settings will take effect, [ OK ]"
 --------------------------------------------------------------------
 Windows is a 32 bit patch to a 16 bit GUI based on a 8 bit operating
 system, written for a 4 bit processor by a 2 bit company which can
 not stand 1 bit of competition.
 -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-




More information about the MPlayer-users mailing list