diff options
author | Jonas Karlman <jonas@kwiboo.se> | 2019-04-22 20:03:23 +0000 |
---|---|---|
committer | Jonas Karlman <jonas@kwiboo.se> | 2019-06-13 22:16:10 +0000 |
commit | 0bb1f321e0b0e50c49960195a490dc715889bd13 (patch) | |
tree | d1249bc9aaef21b59f5e198e0678170c0134853c | |
parent | f29acc8d608536bceb65b348c95a3afdcabae628 (diff) |
GBM: override ProcessInfo and use Deinterlace Half by default on arm
-rw-r--r-- | cmake/treedata/optional/common/gbm.txt | 1 | ||||
-rw-r--r-- | xbmc/cores/VideoPlayer/Process/gbm/CMakeLists.txt | 5 | ||||
-rw-r--r-- | xbmc/cores/VideoPlayer/Process/gbm/ProcessInfoGBM.cpp | 34 | ||||
-rw-r--r-- | xbmc/cores/VideoPlayer/Process/gbm/ProcessInfoGBM.h | 26 | ||||
-rw-r--r-- | xbmc/windowing/gbm/WinSystemGbmGLESContext.cpp | 2 |
5 files changed, 68 insertions, 0 deletions
diff --git a/cmake/treedata/optional/common/gbm.txt b/cmake/treedata/optional/common/gbm.txt index 196b32357f..d6e6e9ebdc 100644 --- a/cmake/treedata/optional/common/gbm.txt +++ b/cmake/treedata/optional/common/gbm.txt @@ -1,2 +1,3 @@ xbmc/cores/RetroPlayer/process/gbm cores/RetroPlayer/process/gbm # GBM +xbmc/cores/VideoPlayer/Process/gbm cores/VideoPlayer/Process/gbm # GBM xbmc/windowing/gbm windowing/gbm # GBM
\ No newline at end of file diff --git a/xbmc/cores/VideoPlayer/Process/gbm/CMakeLists.txt b/xbmc/cores/VideoPlayer/Process/gbm/CMakeLists.txt new file mode 100644 index 0000000000..18b4b94c25 --- /dev/null +++ b/xbmc/cores/VideoPlayer/Process/gbm/CMakeLists.txt @@ -0,0 +1,5 @@ +set(SOURCES ProcessInfoGBM.cpp) + +set(HEADERS ProcessInfoGBM.h) + +core_add_library(processGBM) diff --git a/xbmc/cores/VideoPlayer/Process/gbm/ProcessInfoGBM.cpp b/xbmc/cores/VideoPlayer/Process/gbm/ProcessInfoGBM.cpp new file mode 100644 index 0000000000..0228319397 --- /dev/null +++ b/xbmc/cores/VideoPlayer/Process/gbm/ProcessInfoGBM.cpp @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2019 Team Kodi + * This file is part of Kodi - https://kodi.tv + * + * SPDX-License-Identifier: GPL-2.0-or-later + * See LICENSES/README.md for more information. + */ + +#include "ProcessInfoGBM.h" + +using namespace VIDEOPLAYER; + +CProcessInfo* CProcessInfoGBM::Create() +{ + return new CProcessInfoGBM(); +} + +void CProcessInfoGBM::Register() +{ + CProcessInfo::RegisterProcessControl("gbm", CProcessInfoGBM::Create); +} + +CProcessInfoGBM::CProcessInfoGBM() +{ +} + +EINTERLACEMETHOD CProcessInfoGBM::GetFallbackDeintMethod() +{ +#if defined(__arm__) + return EINTERLACEMETHOD::VS_INTERLACEMETHOD_DEINTERLACE_HALF; +#else + return CProcessInfo::GetFallbackDeintMethod(); +#endif +} diff --git a/xbmc/cores/VideoPlayer/Process/gbm/ProcessInfoGBM.h b/xbmc/cores/VideoPlayer/Process/gbm/ProcessInfoGBM.h new file mode 100644 index 0000000000..479e4fde4c --- /dev/null +++ b/xbmc/cores/VideoPlayer/Process/gbm/ProcessInfoGBM.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2019 Team Kodi + * This file is part of Kodi - https://kodi.tv + * + * SPDX-License-Identifier: GPL-2.0-or-later + * See LICENSES/README.md for more information. + */ + +#pragma once + +#include "cores/IPlayer.h" +#include "cores/VideoPlayer/Process/ProcessInfo.h" + +namespace VIDEOPLAYER +{ + +class CProcessInfoGBM : public CProcessInfo +{ +public: + CProcessInfoGBM(); + static CProcessInfo* Create(); + static void Register(); + EINTERLACEMETHOD GetFallbackDeintMethod() override; +}; + +} // namespace VIDEOPLAYER diff --git a/xbmc/windowing/gbm/WinSystemGbmGLESContext.cpp b/xbmc/windowing/gbm/WinSystemGbmGLESContext.cpp index c24cb919ae..f763577117 100644 --- a/xbmc/windowing/gbm/WinSystemGbmGLESContext.cpp +++ b/xbmc/windowing/gbm/WinSystemGbmGLESContext.cpp @@ -14,6 +14,7 @@ #include "cores/RetroPlayer/rendering/VideoRenderers/RPRendererGBM.h" #include "cores/RetroPlayer/rendering/VideoRenderers/RPRendererOpenGLES.h" #include "cores/VideoPlayer/DVDCodecs/DVDFactoryCodec.h" +#include "cores/VideoPlayer/Process/gbm/ProcessInfoGBM.h" #include "cores/VideoPlayer/VideoRenderers/LinuxRendererGLES.h" #include "cores/VideoPlayer/VideoRenderers/RenderFactory.h" @@ -65,6 +66,7 @@ bool CWinSystemGbmGLESContext::InitWindowSystem() CRendererDRMPRIMEGLES::Register(); CRendererDRMPRIME::Register(); CDVDVideoCodecDRMPRIME::Register(); + VIDEOPLAYER::CProcessInfoGBM::Register(); return true; } |