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

Frank Aurich fa859178 at inf.tu-dresden.de
Wed Feb 28 12:16:00 CET 2007


Frank Aurich wrote:
> Frank Aurich wrote:
>> 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
> 
> I reverted back to an older driver (7.14.10.830) and it works again. 
> Yay! :)
> 
> Now I fear that they cut something altogether in upcoming Vista drivers 
> that will disable this forever :( We'll have to see.
> 
> I think we'll need a D3D videoout for Mplayer.
> 
> 
> Frank

I just wanted to inform everyone who might have experienced this issue as well, 
that as of the new ATi Catalyst 7.02 driver this issue is gone.
Overlay works fine with hi-res videos again.


Frank




More information about the MPlayer-cygwin mailing list