kodi: VAAPI on Intel auto-enable obsoleted by PR13686

This commit is contained in:
MilhouseVH 2018-04-01 01:35:36 +01:00
parent 7bae9a692b
commit 5ca06eff7c

View File

@ -1,46 +0,0 @@
From 94476cdec9d11160e201ba431fb4e4d6a7c481c8 Mon Sep 17 00:00:00 2001
From: fritsch <Peter.Fruehberger@gmail.com>
Date: Sat, 14 Jan 2017 10:23:11 +0100
Subject: [PATCH] VAAPI/VDPAU: Integration specific to LibreELEC
---
xbmc/settings/Settings.cpp | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/xbmc/settings/Settings.cpp b/xbmc/settings/Settings.cpp
index 96a1e95..78545a0 100644
--- a/xbmc/settings/Settings.cpp
+++ b/xbmc/settings/Settings.cpp
@@ -76,6 +76,7 @@
#include "utils/log.h"
#include "utils/RssManager.h"
#include "utils/StringUtils.h"
+#include "utils/SysfsUtils.h"
#include "utils/SystemInfo.h"
#include "utils/Weather.h"
#include "utils/XBMCTinyXML.h"
@@ -666,6 +667,21 @@ void CSettings::InitializeDefaults()
if (g_application.IsStandAlone())
std::static_pointer_cast<CSettingInt>(GetSettingsManager()->GetSetting(CSettings::SETTING_POWERMANAGEMENT_SHUTDOWNSTATE))->SetDefault(POWERSTATE_SHUTDOWN);
+
+// LibreELEC integration patch. We ship a special limited range intel kernel patch
+// that enables us to control the full / limited / clamping with just altering
+// the kodi limitedrange setting.
+// For intel we use Limited Range, for nvidia we use full range
+// that setting is also used to enable vdpau on nvidia only, vaapi on intel only
+#if ((defined(HAVE_LIBVA) || defined(HAVE_LIBVDPAU)))
+ std::string gpuvendor;
+ SysfsUtils::GetString("/proc/fb", gpuvendor);
+ bool isIntel = StringUtils::EndsWith(gpuvendor, "inteldrmfb");
+ // Intel driver is operating in passthrough mode so use limited range by default
+ std::static_pointer_cast<CSettingBool>(GetSettingsManager()->GetSetting(CSettings::SETTING_VIDEOSCREEN_LIMITEDRANGE))->SetDefault(isIntel);
+ std::static_pointer_cast<CSettingBool>(GetSettingsManager()->GetSetting(CSettings::SETTING_VIDEOPLAYER_USEVAAPI))->SetDefault(isIntel);
+ std::static_pointer_cast<CSettingBool>(GetSettingsManager()->GetSetting(CSettings::SETTING_VIDEOPLAYER_USEVDPAU))->SetDefault(!isIntel);
+#endif
}
void CSettings::InitializeOptionFillers()
--
2.14.1