http://bugs.winehq.org/show_bug.cgi?id=11681
Summary: Add support for video overlay Product: Wine Version: unspecified Platform: Other OS/Version: other Status: NEW Severity: major Priority: P2 Component: directx-ddraw AssignedTo: wine-bugs@winehq.org ReportedBy: thunderbird2k@gmx.net
Hi,
At the moment Wine doesn't support Video Overlay in DirectX. In order to make DirectDraw feature complete we need this ability. It is used in media players (in a lot of cases through quartz 'DirectShow') to improve rendering performance. A free application that attempts to use it in directx mode (the default option) is VLC. Further Picasa seems to need it too and their special Wine branch supports video overlay using Xv but in a hacky way.
It is relatively easy to add a software implementation to DirectDraw/WineD3D but it would be slow. For best performance and less reinventing the wheel we need to implement overlay using Xv. The most tricky part would be on how to access Xv from within wined3d.
Roderick
http://bugs.winehq.org/show_bug.cgi?id=11681
Roderick Colenbrander thunderbird2k@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.0.0
--- Comment #1 from Roderick Colenbrander thunderbird2k@gmx.net 2008-02-22 02:35:39 --- This should be a requirement for Wine 1.0. It is an important feature and second adding the required WineD3D - Winex11.drv - Xv interface is tricky.
http://bugs.winehq.org/show_bug.cgi?id=11681
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefandoesinger@gmx.at
--- Comment #2 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-03 09:26:31 --- I don't think if implementing the Xv interface is possible within the timeframe to the 1.0 code freeze...
http://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #3 from Roderick Colenbrander thunderbird2k@gmx.net 2008-04-03 09:29:50 --- The freeze is in a month. If somehow would step up, it is certainly doable as there is already example code. It is mainly about digging the interface which could be done in a similar was as opengl is handled inside gdi32.dll.
http://bugs.winehq.org/show_bug.cgi?id=11681
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #4 from Dan Kegel dank@kegel.com 2008-04-03 17:04:31 --- Are overlays supported in Vista? (I may be confusing two things here...)
http://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #5 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-03 19:08:06 --- I think they are, but I have to check. They might be emulated via Direct3D by drivers though, but that is not relevant for us
Overlays != drawing to the NULL window, like in the QuickTime black screen bug.
http://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #6 from Roderick Colenbrander thunderbird2k@gmx.net 2008-04-04 02:50:25 --- To give an idea all multimedia players use overlays when available it results in better performance as an overlay engine of the gpu (or a shader engine) can do the scaling and yuv conversion. I wouldn't be surprised if plugins like flash wouldn't use it either.
I think the code from the picasa branch can for a large part be reused. The main thing that is wrong with it is that it uses ExtEscape to access winex11.drv. I think it would be fine by AJ if we routed it in a similar way as opengl32 through gdi32.dll.
http://bugs.winehq.org/show_bug.cgi?id=11681
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.0.0 |1.2.0
--- Comment #7 from Dan Kegel dank@kegel.com 2008-05-01 13:39:13 --- Not happening before code freeze, not regression -> deferring to 1.2
http://bugs.winehq.org/show_bug.cgi?id=11681
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #8 from joaopa jeremielapuree@yahoo.fr 2008-09-16 14:43:49 --- S. Dosinger began to implement video overlay.
Maybe this bug could be closed now.
Joaopa
http://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #9 from Dan Kegel dank@kegel.com 2008-09-16 14:50:25 --- Not yet. I think we need xv support before we can close this.
http://bugs.winehq.org/show_bug.cgi?id=11681
Michael Karpukhin triada123@pochta.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |triada123@pochta.ru
http://bugs.winehq.org/show_bug.cgi?id=11681
Mustafa POLAT mpolat@ekin.tc changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolat@ekin.tc
http://bugs.winehq.org/show_bug.cgi?id=11681
Tymoteusz Paul puciek@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |puciek@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=11681
sub.mesa@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sub.mesa@gmail.com
--- Comment #10 from sub.mesa@gmail.com 2009-06-28 13:05:13 --- Is video overlay supported yet? I tried to check with VLC-1.0rc4. The default settings do give me proper video but it exits abruptly, without leaving something in my logs like a segfault message.
Scanning the video output options of VLC i couldn't see which option was using overlay. The default it some auto-selection of available output methods so i couldn't identify if overlays worked yet.
http://bugs.winehq.org/show_bug.cgi?id=11681
sub.mesa@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sub.mesa@gmail.com
--- Comment #10 from sub.mesa@gmail.com 2009-06-28 13:05:13 --- Is video overlay supported yet? I tried to check with VLC-1.0rc4. The default settings do give me proper video but it exits abruptly, without leaving something in my logs like a segfault message.
Scanning the video output options of VLC i couldn't see which option was using overlay. The default it some auto-selection of available output methods so i couldn't identify if overlays worked yet.
--- Comment #11 from Stefan Dösinger stefandoesinger@gmx.at 2009-06-28 13:19:51 --- Overlays are supported with the opengl ddraw renderer, but not yet with the gdi(software rendering, and default) ddraw renderer.
http://bugs.winehq.org/show_bug.cgi?id=11681
sub.mesa@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sub.mesa@gmail.com
Scott Ritchie scott@open-vote.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |scott@open-vote.org Target Milestone|1.2.0 |---
--- Comment #10 from sub.mesa@gmail.com 2009-06-28 13:05:13 --- Is video overlay supported yet? I tried to check with VLC-1.0rc4. The default settings do give me proper video but it exits abruptly, without leaving something in my logs like a segfault message.
Scanning the video output options of VLC i couldn't see which option was using overlay. The default it some auto-selection of available output methods so i couldn't identify if overlays worked yet.
--- Comment #11 from Stefan Dösinger stefandoesinger@gmx.at 2009-06-28 13:19:51 --- Overlays are supported with the opengl ddraw renderer, but not yet with the gdi(software rendering, and default) ddraw renderer.
--- Comment #12 from Scott Ritchie scott@open-vote.org 2009-11-08 03:29:49 --- At wineconf we decided that this is probably not doable by 1.2
http://bugs.winehq.org/show_bug.cgi?id=11681
Robert Wm Ruedisueli esd45@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |esd45@earthlink.net
--- Comment #13 from Robert Wm Ruedisueli esd45@earthlink.net 2010-04-06 00:39:41 --- Has anyone considered using videoshader over GLX for this?
While this would limit to newer video cards, I don't really see it as a problem.
http://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #14 from Roderick Colenbrander thunderbird2k@gmail.com 2010-04-06 03:04:25 --- We do have a YUV shader in our Direct3D code. The DirectShow code doesn't take advantage of it yet. You can also wonder if we should let DirectShow use that code. Last year someone worked on GStreamer support for DirectShow and someone might continue that this year. Thinking about video APIs like VDPAU and others it might make more sense for us to somehow forward some of the rendering to another API as well. Though making sure the output is rendered to the right location is tricky but perhaps the GStreamer output can be treated as a texture of which we pass the location over or so and let WineD3D or OpenGL finish the rendering work.
http://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #15 from joaopa jeremielapuree@yahoo.fr 2011-07-28 06:29:03 CDT --- Any progress on this subject?
http://bugs.winehq.org/show_bug.cgi?id=11681
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|directx-ddraw |directx-d3d
http://bugs.winehq.org/show_bug.cgi?id=11681
George georgegreige@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |georgegreige@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=11681
ax 34noff otaku@rambler.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |otaku@rambler.ru
https://bugs.winehq.org/show_bug.cgi?id=11681
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Hardware|Other |x86 OS|other |Linux
https://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #16 from joaopa jeremielapuree@yahoo.fr --- What is the status of overlay in wine now?
https://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #17 from Stefan Dösinger stefandoesinger@gmx.at --- Ddraw overlays are essentially nonexistent. Do you have an application that needs them? I am generally interested to implement them, but so far I have only one application that is not a video player that makes use of them.
Note that YUV->RGB blits are supported, that's enough to make many video players happy.
https://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #18 from ax 34noff otaku@rambler.ru --- Some games (e.g. Redneck Kentucky) use overlays to play intro/outro clips. Also to the best of my memory MPC-HC and Winamp's AVS had options to use them.
https://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #19 from joaopa jeremielapuree@yahoo.fr --- Confirming that the game Redneck Kentucky presents the bug: http://www.fileplanet.com/174986/download/Redneck-Kentucky-Demo
C:\Program Files\City Interactive\Redneck Kentucky Demo\System>kury.exe fixme:process:GetProcessWorkingSetSize (0xffffffff,0x33e504,0x33e500): stub fixme:win:EnumDisplayDevicesW ((null),0,0x33e668,0x00000000), stub! fixme:wbemprox:client_security_SetBlanket 0x7c5be7a8, 0x19f2a8, 10, 0, (null), 3, 3, (nil), 0x00000000 fixme:wbemprox:client_security_Release 0x7c5be7a8 fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030 fixme:win:EnumDisplayDevicesW ((null),0,0x33e528,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x33e898,0x00000000), stub! fixme:system:SystemParametersInfoW Unimplemented action: 59 (SPI_SETSTICKYKEYS) err:ole:CoGetClassObject class {96749377-3391-11d2-9ee3-00c04f797396} not registered err:ole:CoGetClassObject class {96749377-3391-11d2-9ee3-00c04f797396} not registered err:ole:create_server class {96749377-3391-11d2-9ee3-00c04f797396} not registered err:ole:CoGetClassObject no class object {96749377-3391-11d2-9ee3-00c04f797396} could be created for context 0x7 fixme:win:EnumDisplayDevicesW ((null),0,0x33bc78,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x33bb18,0x00000000), stub! fixme:ddraw:ddraw_surface7_UpdateOverlay Ignoring fx 0x33c308. err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded fixme:win:EnumDisplayDevicesW ((null),0,0x33bb18,0x00000000), stub! fixme:ddraw:ddraw_surface7_UpdateOverlay Ignoring fx 0x33c308. fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1. fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1. fixme:imm:ImmReleaseContext (0x60072, 0x7818978): stub fixme:d3d8:ValidatePixelShader (0x63842c0 (nil) 1 0x335f58): stub fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1.
C:\Program Files\City Interactive\Redneck Kentucky Demo\System>cd ..
https://bugs.winehq.org/show_bug.cgi?id=11681
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #20 from joaopa jeremielapuree@yahoo.fr --- Bug still occur with wine-5.10 Here is a compiled sample to ease the testing http://web.archive.org/web/20070205214248/http://nexe.gamedev.net/files/Over...
https://bugs.winehq.org/show_bug.cgi?id=11681
--- Comment #21 from joaopa jeremielapuree@yahoo.fr --- Bug still occurs with wine-7.0-rc4.