[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