[videodb] remove unused seasons table from episode_view
[xbmc.git] / xbmc / windowing / gbm / OptionalsReg.cpp
blob9f5076f7ce76ba10f83e2ec4e5c10e18270b18bd
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 #include "OptionalsReg.h"
11 //-----------------------------------------------------------------------------
12 // VAAPI
13 //-----------------------------------------------------------------------------
14 #if defined (HAVE_LIBVA)
15 #include <va/va_drm.h>
16 #include "cores/VideoPlayer/DVDCodecs/Video/VAAPI.h"
17 #if defined(HAS_GL)
18 #include "cores/VideoPlayer/VideoRenderers/HwDecRender/RendererVAAPIGL.h"
19 #endif
20 #if defined(HAS_GLES)
21 #include "cores/VideoPlayer/VideoRenderers/HwDecRender/RendererVAAPIGLES.h"
22 #endif
24 namespace KODI
26 namespace WINDOWING
28 namespace GBM
31 class CVaapiProxy : public VAAPI::IVaapiWinSystem
33 public:
34 CVaapiProxy(int fd) : m_fd(fd) {};
35 virtual ~CVaapiProxy() = default;
36 VADisplay GetVADisplay() override;
37 void *GetEGLDisplay() override { return eglDisplay; };
39 VADisplay vaDpy;
40 void *eglDisplay;
42 private:
43 int m_fd{-1};
46 VADisplay CVaapiProxy::GetVADisplay()
48 return vaGetDisplayDRM(m_fd);
51 CVaapiProxy* VaapiProxyCreate(int fd)
53 return new CVaapiProxy(fd);
56 void VaapiProxyDelete(CVaapiProxy *proxy)
58 delete proxy;
61 void VaapiProxyConfig(CVaapiProxy *proxy, void *eglDpy)
63 proxy->vaDpy = proxy->GetVADisplay();
64 proxy->eglDisplay = eglDpy;
67 void VAAPIRegister(CVaapiProxy *winSystem, bool deepColor)
69 VAAPI::CDecoder::Register(winSystem, deepColor);
72 #if defined(HAS_GL)
73 void VAAPIRegisterRenderGL(CVaapiProxy* winSystem, bool& general, bool& deepColor)
75 CRendererVAAPIGL::Register(winSystem, winSystem->vaDpy, winSystem->eglDisplay, general,
76 deepColor);
78 #endif
80 #if defined(HAS_GLES)
81 void VAAPIRegisterRenderGLES(CVaapiProxy* winSystem, bool& general, bool& deepColor)
83 CRendererVAAPIGLES::Register(winSystem, winSystem->vaDpy, winSystem->eglDisplay, general,
84 deepColor);
86 #endif
91 #else
93 namespace KODI
95 namespace WINDOWING
97 namespace GBM
100 class CVaapiProxy
104 CVaapiProxy* VaapiProxyCreate(int fd)
106 return nullptr;
109 void VaapiProxyDelete(CVaapiProxy *proxy)
113 void VaapiProxyConfig(CVaapiProxy *proxy, void *eglDpy)
118 void VAAPIRegister(CVaapiProxy *winSystem, bool deepColor)
123 #if defined(HAS_GL)
124 void VAAPIRegisterRenderGL(CVaapiProxy* winSystem, bool& general, bool& deepColor)
128 #endif
130 #if defined(HAS_GLES)
131 void VAAPIRegisterRenderGLES(CVaapiProxy* winSystem, bool& general, bool& deepColor)
134 #endif
139 #endif