imx6/kodi: add/update patches

"borrow" them from openbricks
This commit is contained in:
Peter Vicman 2016-10-09 13:44:51 +02:00
parent 370c5b9cd3
commit 2418399719
2 changed files with 3819 additions and 46 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,52 +1,114 @@
diff -aurNp a/xbmc/linux/imx/IMX.cpp b/xbmc/linux/imx/IMX.cpp
--- a/xbmc/linux/imx/IMX.cpp 2016-08-21 23:42:23.000000000 +0200
+++ b/xbmc/linux/imx/IMX.cpp 2016-09-02 12:51:09.516633817 +0200
@@ -198,11 +198,6 @@ bool CIMXFps::Recalc()
--- a/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp 2016-10-07 09:41:03.067310207 +0200
+++ b/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp 2016-10-07 09:41:27.658371366 +0200
@@ -52,8 +52,8 @@ CLogindUPowerSyscall::CLogindUPowerSysca
double frameNorm = CDVDCodecUtils::NormalizeFrameduration(frameDuration, &hasMatch);
m_canPowerdown = LogindCheckCapability("CanPowerOff");
m_canReboot = LogindCheckCapability("CanReboot");
- m_canHibernate = LogindCheckCapability("CanHibernate");
- m_canSuspend = LogindCheckCapability("CanSuspend");
+ m_canHibernate = false;
+ m_canSuspend = false;
- if (hasMatch && !patternLength)
- m_patternLength = 1;
- else
- m_patternLength = patternLength;
-
if (!m_hasPattern && hasMatch)
m_frameDuration = frameNorm;
InhibitDelayLock();
--- a/xbmc/powermanagement/linux/UPowerSyscall.cpp.orig 2016-10-07 10:01:18.236917326 +0200
+++ b/xbmc/powermanagement/linux/UPowerSyscall.cpp 2016-10-07 10:01:46.311845478 +0200
@@ -262,8 +262,8 @@ bool CUPowerSyscall::PumpPowerEvents(IPo
void CUPowerSyscall::UpdateCapabilities()
{
- m_CanSuspend = CDBusUtil::GetVariant("org.freedesktop.UPower", "/org/freedesktop/UPower", "org.freedesktop.UPower", "CanSuspend").asBoolean(false);
- m_CanHibernate = CDBusUtil::GetVariant("org.freedesktop.UPower", "/org/freedesktop/UPower", "org.freedesktop.UPower", "CanHibernate").asBoolean(false);
+ m_CanSuspend = false;
+ m_CanHibernate = false;
}
diff -aurNp a/xbmc/windowing/egl/EGLNativeTypeIMX.cpp b/xbmc/windowing/egl/EGLNativeTypeIMX.cpp
--- a/xbmc/windowing/egl/EGLNativeTypeIMX.cpp 2016-08-21 23:42:23.000000000 +0200
+++ b/xbmc/windowing/egl/EGLNativeTypeIMX.cpp 2016-09-02 12:42:54.443140655 +0200
@@ -29,6 +29,7 @@
#include <sys/ioctl.h>
#ifdef HAS_IMXVPU
#include <linux/mxcfb.h>
+#include "cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.h"
#endif
#include "utils/log.h"
#include "utils/RegExp.h"
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.h 2016-09-04 18:08:27.249816157 +0200
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.h 2016-09-04 18:09:16.803892804 +0200
@@ -55,9 +55,9 @@
// priorities to those subsystems can result in a very different user
// experience. With that setting enabled we can build some statistics,
// as numbers are always better than "feelings"
-#define IMX_PROFILE_BUFFERS
+//#define IMX_PROFILE_BUFFERS
From aa2b510f1ab61c8989fe41f23c2704facb962d50 Mon Sep 17 00:00:00 2001
From: Matus Kral <matuskral@me.com>
Date: Sat, 28 Mar 2015 23:30:03 +0100
Subject: [PATCH] Add CEC IMX adapter as known type and set no polling. - that
eliminates extensive periodic /sys walkthrough
Upstream-commit: f7ba60b4e94091a007fd656bc0084b600a12eb17
---
xbmc/peripherals/PeripheralTypes.h | 6 ++++++
xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/xbmc/peripherals/PeripheralTypes.h b/xbmc/peripherals/PeripheralTypes.h
index 565de4b..e2f2805 100644
--- a/xbmc/peripherals/PeripheralTypes.h
+++ b/xbmc/peripherals/PeripheralTypes.h
@@ -40,11 +40,13 @@ namespace PERIPHERALS
PERIPHERAL_BUS_USB,
PERIPHERAL_BUS_PCI,
PERIPHERAL_BUS_RPI,
+ PERIPHERAL_BUS_IMX,
PERIPHERAL_BUS_CEC,
PERIPHERAL_BUS_ADDON,
#ifdef TARGET_ANDROID
PERIPHERAL_BUS_ANDROID,
#endif
+ //PERIPHERAL_BUS_CEC
};
-#define IMX_PROFILE
+//#define IMX_PROFILE
//#define TRACE_FRAMES
enum PeripheralFeature
@@ -169,6 +171,8 @@ namespace PERIPHERALS
return "pci";
case PERIPHERAL_BUS_RPI:
return "rpi";
+ case PERIPHERAL_BUS_IMX:
+ return "imx";
case PERIPHERAL_BUS_CEC:
return "cec";
case PERIPHERAL_BUS_ADDON:
@@ -193,6 +197,8 @@ namespace PERIPHERALS
return PERIPHERAL_BUS_PCI;
else if (strTypeLowerCase == "rpi")
return PERIPHERAL_BUS_RPI;
+ else if (strTypeLowerCase == "imx")
+ return PERIPHERAL_BUS_IMX;
else if (strTypeLowerCase == "cec")
return PERIPHERAL_BUS_CEC;
else if (strTypeLowerCase == "addon")
diff --git a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
index b04fe00..3dc3d0e 100644
--- a/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
+++ b/xbmc/peripherals/bus/virtual/PeripheralBusCEC.cpp
@@ -102,6 +102,10 @@ bool CPeripheralBusCEC::PerformDeviceScan(PeripheralScanResults &results)
/** the Pi's adapter cannot be removed, no need to rescan */
m_bNeedsPolling = false;
break;
+ case ADAPTERTYPE_IMX:
+ result.m_mappedBusType = PERIPHERAL_BUS_IMX;
+ m_bNeedsPolling = false;
+ break;
default:
break;
}
From 07ae05827ef197fae42a6e849a816a38ffa3bf0d Mon Sep 17 00:00:00 2001
From: Matus Kral <matuskral@me.com>
Date: Sat, 8 Oct 2016 17:23:32 +0200
Subject: [PATCH 20/20] [CodecIMX] fix a xvid-type media playback - starting
with green screen
---
xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
index f692482..50ff805 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
@@ -974,7 +974,7 @@ void CIMXCodec::Process()
m_decInput.setquotasize(m_fps);
#define RENDER_USE_G2D 0
diff -aurNp a/system/peripherals.xml b/system/peripherals.xml
--- a/system/peripherals.xml 2016-09-07 16:50:55.725114234 +0200
+++ b/system/peripherals.xml 2016-09-07 16:51:13.472432981 +0200
@@ -16,7 +16,7 @@
<setting key="send_inactive_source" type="bool" value="1" label="36025" order="5" />
<setting key="cec_standby_screensaver" type="bool" value="0" label="36009" order="6" />
<setting key="cec_wake_screensaver" type="bool" value="1" label="36010" order="7" />
- <setting key="standby_pc_on_tv_standby" type="enum" value="13011" label="36029" order="8" lvalues="36028|13005|13011" />
+ <setting key="standby_pc_on_tv_standby" type="enum" value="36028" label="36029" order="8" lvalues="36028|13005|13011" />
<setting key="standby_tv_on_pc_standby" type="bool" value="1" label="36026" order="9" />
<setting key="use_tv_menu_language" type="bool" value="0" label="36018" order="10" />
<setting key="pause_playback_on_deactivate" type="bool" value="1" label="36033" configurable="0" />
bool getFrame = m_decOpenParam.CodecFormat != VPU_V_AVC || !m_converter;
- getFrame &= m_decOpenParam.CodecFormat != VPU_V_MPEG2;
+ getFrame &= m_decOpenParam.CodecFormat != VPU_V_MPEG2 && m_decOpenParam.CodecFormat != VPU_V_XVID;
if (getFrame || m_decRet & VPU_DEC_RESOLUTION_CHANGED)
{
SetDrainMode((VpuDecInputType)IN_DECODER_SET);