gl: Make compatible with DirectX
@cap
Submitted by Julien Isorce Link to original bug (#723772)
Description
There is an OpenGL extension to convert a DirectX surface to a gl texture: http://developer.download.nvidia.com/opengl/specs/WGL_NV_DX_interop.txt
I think it works in both directions (at least dx surface to gl texture)
gst-launch-1.0 ... ! dxvadec ! glimagesink
gst-launch-1.0 ... ! dxvadec ! gleffects ! d3dvideosink
gst-launch-1.0 videotestsrc ! gleffects ! d3dvideosink
gst-launch-1.0 videotestsrc ! gleffects ! dxvaenc ! h264parse ! ...
gst-launch-1.0 videotestsrc ! gleffects ! dxvadeinterlace ! glimagesink
d3dvideosink:
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/sys/d3dvideosink)
DXVA:
http://en.wikipedia.org/wiki/DirectX_Video_Acceleration
http://msdn.microsoft.com/en-us/library/windows/desktop/ee663582(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms694840(v=vs.85).aspx
For gltexture to dxsurface we would need a new meta GstVideoDXSurfaceUploadMeta
GST_CAPS_FEATURE_META_GST_VIDEO_DX_SURFACE_UPLOAD_META
With a default upload/download callback that just convert a gl texture to a dx surface. So that every dx element could use it