[MPlayer-dev-eng] Writing a brand new D3D video output to fix Vista Aero disabling
Georgi Petrov
gogothebee at gmail.com
Sat May 31 02:41:24 CEST 2008
After I get some sleep (just came homein 3:30 am from party all night
long), I will investigate further.
I'm using fresh Vista + Geforce 7600GS + latest (175.16) nVidia
drivers. Playing my test movie with -vo directx gives average 8% CPU
usage on Core 2 Duo E2160 @ 2,88GHz, average 18% with -vo gl:yuy=1 and
average 28-30% again with -vi gl:yuy=1 and fullscreen.
Do you mean that with ATi hardware/drivers -vo gl:yuy=1 doesn't work
at all? If it doesn't, that's one of the other reasons I want to
develop D3D driver - because it's supported for sure even in the most
retarded drivers for Vista (nothing against ATi. I mean something like
SiS if they are still alive...).
Anyway - these days I will be really busy, but in the end of the next
week I'll start looking through VLC's D3D module (which contains some
really good looking code) and I'll try to figure out what's happening.
KMplayer (not KDE MPlayer, but a Korean one) has a Windows build
supporting all possible modes (D3D, D3D+VMR7, D3D+VMR9, Vista's
enhanced renderer as well as the classic overlay mixer) and it may
come in handy as well. I've already experimented with it and it gave
me the impression that all we need is just D3D surface without any
VMRx. VLC's D3D module doesn't use VMR as well as far as I can
understand the source code.
Once I have working D3D module and the performance is as expected on
par with the -vo directx's current DirectDraw, I supposse that it
would make sense after extensive testing to make it the default
drawing mode for Windows, because DirectDraw is dying from my
perspective. It doesn't hurt Windows XP, but for Vista it's a real
pain.
Also - if I'm not mistaken DirectDraw offers HW accelerated overlay
only for the FIRST player instance. Every other MPlayer instance
doesn't get HW overlay (because it's only one available) and the video
looks terrible. Especially upscaled. Try it - launch MPlayer, then
launch another instance with another video (both instances using -vo
directx) and observe the second one's quality. If you can't tell the
difference, hit "f" for full screen and enjoy terrible quality :)
This is all related to XP. In Vista the second video doesn't work at
all! It's all green (colorkey) and nothing happens :)
As all other player already use D3D by default, I think it's time from
MPlayer to jump on the bandwagon!
More information about the MPlayer-dev-eng
mailing list