[MPlayer-cygwin] vo_directx: no triple buffering with certain videos

Frank Aurich fa859178 at inf.tu-dresden.de
Fri Jan 19 01:19:11 CET 2007


Hi,

I'm having a strange problem with Mplayer which I can't make heads or tails of.
I'm using the latest SVN build with this configure:

--enable-menu --disable-mencoder --enable-largefiles --disable-tv --disable-dvb 
--disable-gif --disable-jpeg --disable-tga --disable-xvid 
--disable-vidix-internal --with-extraincdir=/home/KyleK/live 
--with-extralibdir=/home/KyleK/live

(although I tried a build without any specific configure options, same result=

The Problem: With videos of high(er) resolution, i.e. 960x528 or 1280x720, 
vo_directx cannot enable triple buffering and therefore switches to single buffer.
The result is a slightly sluggish video, it looks like vertical sync is disabled 
and you can see "tears" on the screen. If you enable the OSD, it flickers badly.

An excerpt from Mplayers output:

==========================================================================
list_end=0x2286
AVI: dmlh found (size=248) (total_frames=62629)
list_end=0x22AA
hdr=Software  size=15
Software  : Nandub v1.0rc2
list_end=0x2B8A8AAC
Found movie at 0x280C - 0x2B8A8AAC
Reading INDEX block, 125245 chunks for 62629 frames (fpos=730499764).
AVI index offset: 0x2808 (movi=0x280C idx0=0x4 idx1=0x5DCC)
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video size=609211919 (62629) audio size=120244224 (120244224)
VIDEO:  [XVID]  960x528  12bpp  25.000 fps  1945.5 kbps (237.5 kbyte/s)
[V] filefmt:3  fourcc:0x44495658  size:960x528  fps:25.00  ftime:=0.0400
Clip info:
  Software: Nandub v1.0rc2
get_path('sub/') -> 'e:/programme/mplayer/mplayer/sub/'
<vo_directx><INFO>checking primary surface
<vo_directx><FORMAT PRIMARY>14 BGR32 supported
<vo_directx><INFO>testing supported overlay pixelformats
<vo_directx><FORMAT OVERLAY>0 YV12  supported
<vo_directx><FORMAT OVERLAY>1 I420  not supported
<vo_directx><FORMAT OVERLAY>2 IYUV  not supported
<vo_directx><FORMAT OVERLAY>3 YVU9  not supported
<vo_directx><FORMAT OVERLAY>4 YUY2  supported
<vo_directx><FORMAT OVERLAY>5 UYVY  supported
<vo_directx><FORMAT OVERLAY>6 BGR8  not supported
<vo_directx><FORMAT OVERLAY>7 RGB15 not supported
<vo_directx><FORMAT OVERLAY>8 BGR15 supported
<vo_directx><FORMAT OVERLAY>9 RGB16 not supported
<vo_directx><FORMAT OVERLAY>10 BGR16 supported
<vo_directx><FORMAT OVERLAY>11 RGB24 not supported
<vo_directx><FORMAT OVERLAY>12 BGR24 not supported
<vo_directx><FORMAT OVERLAY>13 RGB32 not supported
<vo_directx><FORMAT OVERLAY>14 BGR32 supported
<vo_directx><INFO>Your card supports 6 of 15 overlayformats
<vo_directx><INFO>hardware supports overlay
[vo] query(Planar YV12) -> 3
[ass] auto-open
Opening video filter: [pp=ac]
[ass] query(Planar YV12) -> 3
[ass] Init
get_path('fonts') -> 'e:/programme/mplayer/mplayer/fonts'
get_path('subfont.ttf') -> 'e:/programme/mplayer/mplayer/subfont.ttf'
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
dec_audio: Allocating 3840 bytes for input buffer.
dec_audio: Allocating 18432 + 65536 = 83968 bytes for output buffer.
AC3: 2.0 (stereo)  48000 Hz  384.0 kbit/s
A52 flags before a52_frame: 0x37
A52 flags after a52_frame: 0x2
A52 flags before a52_frame: 0x27
A52 flags after a52_frame: 0x2
A52 flags before a52_frame: 0x26
A52 flags after a52_frame: 0x2
A52 flags before a52_frame: 0x24
A52 flags after a52_frame: 0x2
A52 flags before a52_frame: 0x2A
A52 flags after a52_frame: 0x2
AUDIO: 48000 Hz, 2 ch, s16le, 384.0 kbit/25.00% (ratio: 48000->192000)
Selected audio codec: [a52] afm: liba52 (AC3-liba52)
==========================================================================
Building audio filter chain for 48000Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
ao_dsound: Output Devices:
0 Primary Sound Driver <--
1 Speakers (Creative SB Audigy)
2 SPDIF Out (Creative SB Audigy)
ao_dsound: DirectSound initialized
ao_dsound: Samplerate:48000Hz Channels:2 Format:s16le
ao_dsound: Buffersize:192000 bytes (1000 msec)
ao_dsound: primary buffer created
ao_dsound: secondary (stream)buffer created
AO: [dsound] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: Windows DirectSound audio output
AO: Author: Gabor Szecsi <deje at miki.hu>
Building audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Starting playback...
XXX initial  v_pts=0.000  a_pos=24000 (0.500)
[ffmpeg] aspect_ratio: 1.818182
VDec: vo config request - 960 x 528 (preferred colorspace: Planar YV12)
[PP] Using external postprocessing filter, max q = 6.
Trying filter chain: pp ass vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.82:1 - prescaling to correct movie aspect.
VO Config (960x528->960x528,flags=0,'MPlayer',0x32315659)
REQ: flags=0x2417  req=0x0
REQ: flags=0x417  req=0x0
VO: [directx] 960x528 => 960x528 Planar YV12
VO: Description: Directx DDraw YUV/RGB/BGR renderer
VO: Author: Sascha Sommer <saschasommer at freenet.de>
<vo_directx><WARN>cannot create tribblebuffer overlay with format YV12
<vo_directx><INFO>using singlebuffer overlay
<vo_directx><WARN>unable to get DirectDraw ColorControl interface
*** [pp] Allocating mp_image_t, 960x528x12bpp YUV planar, 760320 bytes
A:   0.9 V:   0.0 A-V:  0.870 ct:  0.000   1/  1 ??% ??% ??,?% 0 0
*** [pp] Allocating mp_image_t, 960x528x12bpp YUV planar, 760320 bytes
*** [vo] Allocating mp_image_t, 960x528x12bpp YUV planar, 760320 bytes
*** [ass] Direct Rendering mp_image_t, 960x528x12bpp YUV planar, 760320 bytes
[postproc @ 009D9C90]using npp filters 0x4404/0x4404
get_path('subfont.ttf') -> 'e:/programme/mplayer/mplayer/subfont.ttf'
Unicode font: 255 glyphs.

============================================================================================

With videos of size 640x352, it works fine. Triple buffering is enabled 
according to the log.

A friend of mine tried with the same Mplayer executable and the same video file, 
  and on his machine, it works.

Some info about my system:

Athlon XP 3000+
1GB RAM
Radeon X800 Pro
Window Vista Business RTM


Any idea what the  reason for this might be?
I've been using Mplayer for a while now, also for hires videos, and I can't say 
i've encountered the problem before.  Then again, I might have not noticed it.


Frank




More information about the MPlayer-cygwin mailing list