[MPlayer-dev-eng] Writing a brand new D3D video output to fix Vista Aero disabling
Georgi Petrov
gogothebee at gmail.com
Fri May 30 12:07:40 CEST 2008
Hello,
I want to write a D3D video output for MPlayer and contribute to the
best player ever.
I'm experimenting with Vista lately and I found that the old
incompatibility between Aero and Direct X video output isn't fixed.
Don't stop reading, I'm willing and WILL help all of you. After a
little bit research I found that it is not possible (correct me if I'm
wrong) to use Direct Draw video overlay AND have Aero in the same
time. In other players like VLC and Media Player Classic the problem
is fixed by using Direct 3D as output interface. I'm willing to write
D3D video output for MPlayer if there is no other way around this
issue.
Sure, you can use gl/gl2 as a workaround, but we all know that they
require software colorspace conversion into RGB32 first, which is
slooow :)
I think that the only way to have YV12/YUY2 output and Aero at the
same time is to use Direct 3D.
There is a patch for MPlayer's "directx" (Direct Draw) video output by
Gianluigi Tiesi here:
http://www.cccp-project.net/nichorai/mplayer-patches/mplayer-xx_vista_aero.diff
All it does is to actually add the flag PFD_SUPPORT_COMPOSITION in
Direct Draw flags, but this doesn't really help. I think this never
worked. I just tried a mingw compile with the flag added and it didn't
work.
I tried VLC's output modes and observed the same thing I'm talking about:
1. Direct X video output disables Aero
2. Direct 3D video output doesn't
So - I'm willing to look at the source code of vo_directx.c in MPlayer
and in both DirectX/D3D sources of VLC and figure out how to come with
vo_d3d.c for MPlayer. I don't have much free time, as I still study
and work, but consider this offer a real one.
I'm sure that when this issue gets resolved, MPlayer (and all of its
frontends) will gain even more popularity on Vista and this issue is a
real showstopper for MPlayer 1.0!
I'm open to any suggestions!
More information about the MPlayer-dev-eng
mailing list