Merge pull request #822 from vpeter4/imx6

imx6 updates
This commit is contained in:
Christian Hewitt 2016-10-09 18:26:58 +04:00 committed by GitHub
commit d9f61e8085
5 changed files with 5743 additions and 49 deletions

View File

@ -1,16 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<showexitbutton>false</showexitbutton>
<video>
<busydialogdelayms>750</busydialogdelayms>
</video>
<audio>
<streamsilence>false</streamsilence>
</audio>
<samba>
<clienttimeout>30</clienttimeout>
</samba>
<network>
<cachemembuffersize>20971520</cachemembuffersize>
<readbufferfactor>4.0</readbufferfactor>
</network>
<gui>
<nofliptimeout>1000</nofliptimeout>
<algorithmdirtyregions>1</algorithmdirtyregions>
</gui>
</advancedsettings>

View File

@ -0,0 +1,36 @@
--- a/os_dep/linux/ioctl_cfg80211.c 2016-10-04 15:18:32.405995229 +0200
+++ b/os_dep/linux/ioctl_cfg80211.c 2016-10-04 15:18:37.653865585 +0200
@@ -649,20 +649,16 @@ void rtw_cfg80211_ibss_indicate_connect(
struct wlan_network *cur_network = &(pmlmepriv->cur_network);
struct wireless_dev *pwdev = padapter->rtw_wdev;
struct cfg80211_bss *bss = NULL;
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
struct wiphy *wiphy = pwdev->wiphy;
int freq = 2412;
struct ieee80211_channel *notify_channel;
-#endif
DBG_871X(FUNC_ADPT_FMT"\n", FUNC_ADPT_ARG(padapter));
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
freq = rtw_ch2freq(cur_network->network.Configuration.DSConfig);
if (0)
DBG_871X("chan: %d, freq: %d\n", cur_network->network.Configuration.DSConfig, freq);
-#endif
if (pwdev->iftype != NL80211_IFTYPE_ADHOC)
{
@@ -713,12 +709,8 @@ void rtw_cfg80211_ibss_indicate_connect(
DBG_871X_LEVEL(_drv_always_, FUNC_ADPT_FMT" BSS not found !!\n", FUNC_ADPT_ARG(padapter));
}
//notify cfg80211 that device joined an IBSS
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
notify_channel = ieee80211_get_channel(wiphy, freq);
cfg80211_ibss_joined(padapter->pnetdev, cur_network->network.MacAddress, notify_channel, GFP_ATOMIC);
-#else
- cfg80211_ibss_joined(padapter->pnetdev, cur_network->network.MacAddress, GFP_ATOMIC);
-#endif
}
void rtw_cfg80211_indicate_connect(_adapter *padapter)

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);

File diff suppressed because it is too large Load Diff