Merge pull request #26350 from jjd-uk/estuary_media_align
[xbmc.git] / xbmc / windowing / X11 / OptionalsReg.h
blob1747b18d63be741fe593f45b7bba6324264e4b44
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include <X11/Xlib.h>
13 //-----------------------------------------------------------------------------
14 // VAAPI
15 //-----------------------------------------------------------------------------
17 namespace KODI
19 namespace WINDOWING
21 namespace X11
24 class CVaapiProxy;
26 CVaapiProxy* VaapiProxyCreate();
27 void VaapiProxyDelete(CVaapiProxy *proxy);
28 void VaapiProxyConfig(CVaapiProxy *proxy, void *dpy, void *eglDpy);
29 void VAAPIRegister(CVaapiProxy *winSystem, bool deepColor);
30 #if defined(HAS_GL)
31 void VAAPIRegisterRenderGL(CVaapiProxy* winSystem, bool& general, bool& deepColor);
32 #endif
33 #if defined(HAS_GLES)
34 void VAAPIRegisterRenderGLES(CVaapiProxy* winSystem, bool& general, bool& deepColor);
35 #endif
40 //-----------------------------------------------------------------------------
41 // GLX
42 //-----------------------------------------------------------------------------
44 class CVideoSync;
45 class CGLContext;
46 class CVideoReferenceClock;
48 namespace KODI
50 namespace WINDOWING
52 namespace X11
55 class CWinSystemX11GLContext;
57 XID GLXGetWindow(void* context);
58 void* GLXGetContext(void* context);
59 CGLContext* GLXContextCreate(Display *dpy);
60 CVideoSync* GLXVideoSyncCreate(CVideoReferenceClock* clock, CWinSystemX11GLContext& winSystem);
65 //-----------------------------------------------------------------------------
66 // VDPAU
67 //-----------------------------------------------------------------------------
69 namespace KODI
71 namespace WINDOWING
73 namespace X11
75 void VDPAURegisterRender();
76 void VDPAURegister();