mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
imx6: update kodi, libcec and linux 3.14 patches
This commit is contained in:
parent
170604fbcc
commit
27c38bd87c
@ -1,6 +1,6 @@
|
||||
https://github.com/OpenBricks/openbricks/tree/krypton-glibc
|
||||
https://github.com/OpenBricks/openbricks/tree/krypton-glibc/packages/multimedia/kodi/patches
|
||||
https://github.com/OpenBricks/openbricks/tree/32da31689ba04a94d1a08bfc04f69d6c1a3c848a/packages/multimedia/kodi/patches
|
||||
https://github.com/OpenBricks/openbricks/tree/731d2788a4f5924cdf80314709dc303a43b5c3f5/packages/multimedia/kodi/patches
|
||||
|
||||
==============================================================
|
||||
file 0010-IMX-add-Supports-ERENDERFEATURE.patch
|
||||
@ -3201,12 +3201,77 @@ index 2168e00..22b34d7 100644
|
||||
|
||||
|
||||
==============================================================
|
||||
file 0050-Change-mediainfo-logging.patch
|
||||
file 0042-Honour-forced-aspect-ratio-hint.patch
|
||||
==============================================================
|
||||
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp 2016-10-02 11:49:42.415297936 +0200
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp 2016-10-02 11:50:57.875301018 +0200
|
||||
@@ -504,8 +504,6 @@
|
||||
From 8542fadfce7bfa1c7691403029a81682c389c8c2 Mon Sep 17 00:00:00 2001
|
||||
From: Rudi <r.ihle@s-t.de>
|
||||
Date: Mon, 3 Oct 2016 18:08:34 +0200
|
||||
Subject: [PATCH] Honour forced aspect ratio hint
|
||||
|
||||
---
|
||||
xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp | 6 +++++-
|
||||
xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.h | 1 +
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
index 74f4ae4..155710a 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
@@ -544,6 +544,8 @@ bool CIMXCodec::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options, std::stri
|
||||
#endif
|
||||
|
||||
m_warnOnce = true;
|
||||
+ m_forcedWidthHeightRatio = m_hints.forced_aspect ? (65536 * m_hints.aspect) : 0;
|
||||
+
|
||||
switch(m_hints.codec)
|
||||
{
|
||||
case AV_CODEC_ID_MPEG1VIDEO:
|
||||
@@ -1155,7 +1157,9 @@ bool CIMXCodec::GetPicture(DVDVideoPicture* pDvdVideoPicture)
|
||||
pDvdVideoPicture->iWidth = pIMXBuffer->GetPictureWidth();
|
||||
pDvdVideoPicture->iHeight = pIMXBuffer->GetPictureHeight();
|
||||
|
||||
- pDvdVideoPicture->iDisplayWidth = ((pDvdVideoPicture->iWidth * pIMXBuffer->GetWidthHeightRatio()) + 32767) >> 16;
|
||||
+ int ratio = m_forcedWidthHeightRatio ? m_forcedWidthHeightRatio : pIMXBuffer->GetWidthHeightRatio();
|
||||
+
|
||||
+ pDvdVideoPicture->iDisplayWidth = ((pDvdVideoPicture->iWidth * ratio) + 32767) >> 16;
|
||||
pDvdVideoPicture->iDisplayHeight = pDvdVideoPicture->iHeight;
|
||||
|
||||
pDvdVideoPicture->pts = pIMXBuffer->GetPts();
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.h b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.h
|
||||
index 22b34d7..b91cdc2 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.h
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.h
|
||||
@@ -386,6 +386,7 @@ protected:
|
||||
int m_speed;
|
||||
CCriticalSection m_signalLock;
|
||||
CCriticalSection m_queuesLock;
|
||||
+ int m_forcedWidthHeightRatio;
|
||||
#ifdef DUMP_STREAM
|
||||
FILE *m_dump;
|
||||
#endif
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
||||
==============================================================
|
||||
file 0043-Cleanup-mediainfo-logging.patch
|
||||
==============================================================
|
||||
|
||||
From 5a26b1e3d341dd2591f6315f9fc97b5677105bf8 Mon Sep 17 00:00:00 2001
|
||||
From: Rudi <r.ihle@s-t.de>
|
||||
Date: Mon, 3 Oct 2016 18:11:31 +0200
|
||||
Subject: [PATCH] Cleanup mediainfo logging
|
||||
|
||||
---
|
||||
.../DVDCodecs/Video/DVDVideoCodecIMX.cpp | 52 +++++++++++-----------
|
||||
1 file changed, 26 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
index 155710a..3dc63d5 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
@@ -504,8 +504,6 @@ bool CIMXCodec::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options, std::stri
|
||||
}
|
||||
|
||||
m_hints = hints;
|
||||
@ -3215,7 +3280,7 @@ file 0050-Change-mediainfo-logging.patch
|
||||
|
||||
int param = 0;
|
||||
SetVPUParams(VPU_DEC_CONF_INPUTTYPE, ¶m);
|
||||
@@ -514,32 +512,31 @@
|
||||
@@ -514,32 +512,31 @@ bool CIMXCodec::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options, std::stri
|
||||
#ifdef MEDIAINFO
|
||||
if (g_advancedSettings.CanLogComponent(LOGVIDEO))
|
||||
{
|
||||
@ -3271,7 +3336,7 @@ file 0050-Change-mediainfo-logging.patch
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -624,6 +621,9 @@
|
||||
@@ -626,6 +623,9 @@ bool CIMXCodec::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options, std::stri
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -3281,6 +3346,75 @@ file 0050-Change-mediainfo-logging.patch
|
||||
std::list<EINTERLACEMETHOD> deintMethods({ EINTERLACEMETHOD::VS_INTERLACEMETHOD_AUTO,
|
||||
EINTERLACEMETHOD::VS_INTERLACEMETHOD_RENDER_BOB });
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
||||
==============================================================
|
||||
file 0044-CodecIMX-fix-a-xvid-type-media-playback-starting-wit.patch
|
||||
==============================================================
|
||||
|
||||
From 451b97280d92fe1eedd78a5f06ec8b5bad6ae28c Mon Sep 17 00:00:00 2001
|
||||
From: Matus Kral <matuskral@me.com>
|
||||
Date: Sat, 8 Oct 2016 17:23:32 +0200
|
||||
Subject: [PATCH] [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 3dc63d5..5e0abd5 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
@@ -977,7 +977,7 @@ void CIMXCodec::Process()
|
||||
m_decInput.setquotasize(m_fps);
|
||||
|
||||
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);
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
||||
==============================================================
|
||||
file 0045-Partly-undo-d6f6155a060e0a5b94e3257f7c5d75fa1a8be321.patch
|
||||
==============================================================
|
||||
|
||||
From 99f481ea2c64ada525e135957be4b50751ca3a09 Mon Sep 17 00:00:00 2001
|
||||
From: Rudi <r.ihle@s-t.de>
|
||||
Date: Thu, 13 Oct 2016 20:49:02 +0200
|
||||
Subject: [PATCH] Partly undo d6f6155a060e0a5b94e3257f7c5d75fa1a8be321
|
||||
|
||||
---
|
||||
xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
index 5e0abd5..4fefc27 100644
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
@@ -393,13 +393,6 @@ bool CIMXCodec::VpuAllocFrameBuffers()
|
||||
#endif
|
||||
vpuFrameBuffer.pbufVirtMvCol = ptrVirt + ySize + uSize + vSize;
|
||||
|
||||
- if (i < 2)
|
||||
- {
|
||||
- memset(vpuFrameBuffer.pbufVirtY, 16, ySize);
|
||||
- memset(vpuFrameBuffer.pbufVirtCb, 128, uSize + vSize);
|
||||
- memset(vpuFrameBuffer.pbufVirtMvCol, 0, mvSize);
|
||||
- }
|
||||
-
|
||||
m_vpuFrameBuffers.push_back(vpuFrameBuffer);
|
||||
}
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
||||
|
||||
==============================================================
|
||||
file 400-Boost-Center-Audio-Channel-on-Downmixing.patch
|
||||
@ -3367,43 +3501,6 @@ index e4ddf9e..34d0152 100644
|
||||
if (remapLayout)
|
||||
{
|
||||
|
||||
==============================================================
|
||||
file 52-imx-enable-forced-aspect-ratio.patch
|
||||
==============================================================
|
||||
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.h 2016-08-15 21:22:26.222137237 +0200
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.h 2016-08-15 21:22:26.246137238 +0200
|
||||
@@ -385,6 +385,7 @@
|
||||
int m_speed;
|
||||
CCriticalSection m_signalLock;
|
||||
CCriticalSection m_queuesLock;
|
||||
+ int m_forcedWidthDivHeightRatio;
|
||||
#ifdef DUMP_STREAM
|
||||
FILE *m_dump;
|
||||
#endif
|
||||
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp 2016-08-15 21:27:17.166149119 +0200
|
||||
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp 2016-08-15 21:27:17.190149120 +0200
|
||||
@@ -541,6 +541,8 @@
|
||||
#endif
|
||||
|
||||
m_warnOnce = true;
|
||||
+ m_forcedWidthDivHeightRatio = m_hints.forced_aspect ? (65536 * m_hints.aspect) : 0;
|
||||
+
|
||||
switch(m_hints.codec)
|
||||
{
|
||||
case AV_CODEC_ID_MPEG1VIDEO:
|
||||
@@ -1154,7 +1156,9 @@
|
||||
pDvdVideoPicture->iWidth = pIMXBuffer->GetPictureWidth();
|
||||
pDvdVideoPicture->iHeight = pIMXBuffer->GetPictureHeight();
|
||||
|
||||
- pDvdVideoPicture->iDisplayWidth = ((pDvdVideoPicture->iWidth * pIMXBuffer->GetWidthHeightRatio()) + 32767) >> 16;
|
||||
+ int ratio = m_forcedWidthDivHeightRatio ? m_forcedWidthDivHeightRatio : pIMXBuffer->GetWidthHeightRatio();
|
||||
+
|
||||
+ pDvdVideoPicture->iDisplayWidth = ((pDvdVideoPicture->iWidth * ratio) + 32767) >> 16;
|
||||
pDvdVideoPicture->iDisplayHeight = pDvdVideoPicture->iHeight;
|
||||
|
||||
pDvdVideoPicture->pts = pIMXBuffer->GetPts();
|
||||
|
||||
==============================================================
|
||||
file 53-imx-fix-edid-readout.patch
|
||||
==============================================================
|
||||
@ -3515,7 +3612,7 @@ file 55-cec-power-button.diff
|
||||
|
||||
--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp 2015-10-17 10:00:03.704969969 +0200
|
||||
+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp 2015-10-17 10:00:03.724969970 +0200
|
||||
@@ -908,8 +908,14 @@
|
||||
@@ -935,8 +935,14 @@
|
||||
case CEC_USER_CONTROL_CODE_POWER:
|
||||
case CEC_USER_CONTROL_CODE_POWER_TOGGLE_FUNCTION:
|
||||
case CEC_USER_CONTROL_CODE_POWER_OFF_FUNCTION:
|
||||
@ -3527,7 +3624,7 @@ file 55-cec-power-button.diff
|
||||
+ cec_command command;
|
||||
+ command.opcode = CEC_OPCODE_STANDBY;
|
||||
+ command.initiator = CECDEVICE_TV;
|
||||
+ CecCommand(this, command);
|
||||
+ CecCommand(this, &command);
|
||||
+ }
|
||||
break;
|
||||
case CEC_USER_CONTROL_CODE_VOLUME_UP:
|
||||
@ -3674,7 +3771,7 @@ file 65-fix-cec-dialog-text.diff
|
||||
|
||||
--- a/addons/resource.language.en_gb/resources/strings.po 2016-08-06 13:03:04.169879835 +0200
|
||||
+++ b/addons/resource.language.en_gb/resources/strings.po 2016-08-06 13:03:04.197879836 +0200
|
||||
@@ -16235,7 +16235,7 @@
|
||||
@@ -16416,7 +16416,7 @@
|
||||
|
||||
#: system/peripherals.xml
|
||||
msgctxt "#36026"
|
||||
|
@ -1,3 +1,5 @@
|
||||
disable standby
|
||||
|
||||
--- 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
|
||||
@ -25,90 +27,44 @@
|
||||
|
||||
#endif
|
||||
|
||||
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
|
||||
From e0c980535b164d7c28555418e5ce2252dbada2dc Mon Sep 17 00:00:00 2001
|
||||
From: Peter Vicman <peter.vicman@gmail.com>
|
||||
Date: Thu, 10 Nov 2016 17:05:11 +0100
|
||||
Subject: [PATCH] fix freeze on lvds display connected to udoo quad
|
||||
|
||||
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
|
||||
};
|
||||
|
||||
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
|
||||
revert 0ff257943e032e0f4b669a65e6449ab1e1699d74
|
||||
[IMXRenderer] skip rendering same frame
|
||||
|
||||
---
|
||||
xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
.../cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.cpp | 8 --------
|
||||
1 file changed, 8 deletions(-)
|
||||
|
||||
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);
|
||||
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.cpp
|
||||
index 8569c72..f21fa98 100644
|
||||
--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.cpp
|
||||
@@ -132,7 +132,6 @@ bool CRendererIMX::RenderHook(int index)
|
||||
|
||||
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)
|
||||
bool CRendererIMX::RenderUpdateVideoHook(bool clear, DWORD flags, DWORD alpha)
|
||||
{
|
||||
SetDrainMode((VpuDecInputType)IN_DECODER_SET);
|
||||
- static DWORD flagsPrev;
|
||||
#if 0
|
||||
static unsigned long long previous = 0;
|
||||
unsigned long long current = XbmcThreads::SystemClockMillis();
|
||||
@@ -142,13 +141,6 @@ bool CRendererIMX::RenderUpdateVideoHook(bool clear, DWORD flags, DWORD alpha)
|
||||
CDVDVideoCodecIMXBuffer *buffer = static_cast<CDVDVideoCodecIMXBuffer*>(m_buffers[m_iYV12RenderBuffer].hwDec);
|
||||
if (buffer)
|
||||
{
|
||||
- if (buffer == m_bufHistory[0] && flagsPrev == flags)
|
||||
- {
|
||||
- g_IMX.WaitVsync();
|
||||
- return true;
|
||||
- }
|
||||
-
|
||||
- flagsPrev = flags;
|
||||
buffer->Lock();
|
||||
|
||||
SAFE_RELEASE(m_bufHistory[1]);
|
||||
--
|
||||
2.7.1
|
||||
|
||||
|
1766
projects/imx6/patches/libcec/libcec-100-from-xbian.patch
Normal file
1766
projects/imx6/patches/libcec/libcec-100-from-xbian.patch
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,86 +0,0 @@
|
||||
commit 7c545ae5467cca6ce537e213ecd647fcd4c3c4c0
|
||||
Author: wolfgar <stephan.rafin@laposte.net>
|
||||
Date: Fri Sep 12 01:42:52 2014 +0200
|
||||
|
||||
Remove superflous guards that could even break invocation from mxc-hdmi
|
||||
|
||||
diff --git a/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c b/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c
|
||||
index e53510f..88670bd 100644
|
||||
--- a/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c
|
||||
+++ b/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c
|
||||
@@ -83,8 +83,6 @@ struct hdmi_cec_event {
|
||||
|
||||
static LIST_HEAD(head);
|
||||
|
||||
-static int hdmi_cec_ready = 0;
|
||||
-static int hdmi_cec_started;
|
||||
static int hdmi_cec_major;
|
||||
static struct class *hdmi_cec_class;
|
||||
static struct hdmi_cec_priv hdmi_cec_data;
|
||||
@@ -315,7 +313,7 @@ static ssize_t hdmi_cec_write(struct file *file, const char __user *buf,
|
||||
mutex_unlock(&hdmi_cec_data.lock);
|
||||
return -EACCES;
|
||||
}
|
||||
- /* Ensure that there is only one writer who is the only listener of tx_cec_queue */
|
||||
+ /* Ensure that there is only one writer who is the unique listener of tx_cec_queue */
|
||||
if (hdmi_cec_data.tx_answer != CEC_TX_AVAIL) {
|
||||
mutex_unlock(&hdmi_cec_data.lock);
|
||||
return -EBUSY;
|
||||
@@ -359,13 +357,11 @@ static ssize_t hdmi_cec_write(struct file *file, const char __user *buf,
|
||||
return ret;
|
||||
}
|
||||
|
||||
+
|
||||
void hdmi_cec_start_device(void)
|
||||
{
|
||||
u8 val;
|
||||
|
||||
- if (!hdmi_cec_ready || hdmi_cec_started)
|
||||
- return;
|
||||
-
|
||||
val = hdmi_readb(HDMI_MC_CLKDIS);
|
||||
val &= ~HDMI_MC_CLKDIS_CECCLK_DISABLE;
|
||||
hdmi_writeb(val, HDMI_MC_CLKDIS);
|
||||
@@ -378,11 +374,7 @@ void hdmi_cec_start_device(void)
|
||||
hdmi_writeb(val, HDMI_CEC_MASK);
|
||||
hdmi_writeb(val, HDMI_IH_MUTE_CEC_STAT0);
|
||||
hdmi_cec_data.link_status = hdmi_readb(HDMI_PHY_STAT0) & 0x02;
|
||||
- mutex_lock(&hdmi_cec_data.lock);
|
||||
hdmi_cec_data.cec_state = true;
|
||||
- mutex_unlock(&hdmi_cec_data.lock);
|
||||
-
|
||||
- hdmi_cec_started = 1;
|
||||
}
|
||||
EXPORT_SYMBOL(hdmi_cec_start_device);
|
||||
|
||||
@@ -390,9 +382,6 @@ void hdmi_cec_stop_device(void)
|
||||
{
|
||||
u8 val;
|
||||
|
||||
- if (!hdmi_cec_ready || !hdmi_cec_started)
|
||||
- return;
|
||||
-
|
||||
hdmi_writeb(0x10, HDMI_CEC_CTRL);
|
||||
val = HDMI_IH_CEC_STAT0_WAKEUP | HDMI_IH_CEC_STAT0_ERROR_FOLL | HDMI_IH_CEC_STAT0_ERROR_INIT | HDMI_IH_CEC_STAT0_ARB_LOST | \
|
||||
HDMI_IH_CEC_STAT0_NACK | HDMI_IH_CEC_STAT0_EOM | HDMI_IH_CEC_STAT0_DONE;
|
||||
@@ -402,11 +391,7 @@ void hdmi_cec_stop_device(void)
|
||||
val = hdmi_readb(HDMI_MC_CLKDIS);
|
||||
val |= HDMI_MC_CLKDIS_CECCLK_DISABLE;
|
||||
hdmi_writeb(val, HDMI_MC_CLKDIS);
|
||||
- mutex_lock(&hdmi_cec_data.lock);
|
||||
hdmi_cec_data.cec_state = false;
|
||||
- mutex_unlock(&hdmi_cec_data.lock);
|
||||
-
|
||||
- hdmi_cec_started = 0;
|
||||
}
|
||||
EXPORT_SYMBOL(hdmi_cec_stop_device);
|
||||
|
||||
@@ -580,7 +565,6 @@ static int hdmi_cec_dev_probe(struct platform_device *pdev)
|
||||
INIT_DELAYED_WORK(&hdmi_cec_data.hdmi_cec_work, mxc_hdmi_cec_worker);
|
||||
|
||||
dev_info(&pdev->dev, "HDMI CEC initialized\n");
|
||||
- hdmi_cec_ready = 1;
|
||||
goto out;
|
||||
|
||||
err_out_class:
|
||||
|
@ -1,29 +0,0 @@
|
||||
commit b6b72f40ec3b9d7faa0e37e87c3509848928746c
|
||||
Author: wolfgar <stephan.rafin@laposte.net>
|
||||
Date: Fri Sep 12 03:05:22 2014 +0200
|
||||
|
||||
Flush pending events at close
|
||||
|
||||
diff --git a/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c b/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c
|
||||
index 88670bd..f8b3f7a 100644
|
||||
--- a/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c
|
||||
+++ b/drivers/mxc/hdmi-cec/mxc_hdmi-cec.c
|
||||
@@ -466,11 +466,18 @@ static long hdmi_cec_ioctl(struct file *filp, u_int cmd,
|
||||
*/
|
||||
static int hdmi_cec_release(struct inode *inode, struct file *filp)
|
||||
{
|
||||
+ struct hdmi_cec_event *event, *tmp_event;
|
||||
mutex_lock(&hdmi_cec_data.lock);
|
||||
if (open_count) {
|
||||
open_count = 0;
|
||||
hdmi_cec_data.cec_state = false;
|
||||
hdmi_cec_data.Logical_address = 15;
|
||||
+
|
||||
+ /* Flush eventual events which have not been read by user space */
|
||||
+ list_for_each_entry_safe(event, tmp_event, &head, list) {
|
||||
+ list_del(&event->list);
|
||||
+ vfree(event);
|
||||
+ }
|
||||
}
|
||||
mutex_unlock(&hdmi_cec_data.lock);
|
||||
|
@ -1,166 +0,0 @@
|
||||
From cb984d101b30eb7478d32df56a0023e4603cba7f Mon Sep 17 00:00:00 2001
|
||||
From: Joe Perches <joe@perches.com>
|
||||
Date: Thu, 25 Jun 2015 15:01:02 -0700
|
||||
Subject: compiler-gcc: integrate the various compiler-gcc[345].h files
|
||||
|
||||
As gcc major version numbers are going to advance rather rapidly in the
|
||||
future, there's no real value in separate files for each compiler
|
||||
version.
|
||||
|
||||
Deduplicate some of the macros #defined in each file too.
|
||||
|
||||
Neaten comments using normal kernel commenting style.
|
||||
|
||||
Signed-off-by: Joe Perches <joe@perches.com>
|
||||
Cc: Andi Kleen <andi@firstfloor.org>
|
||||
Cc: Michal Marek <mmarek@suse.cz>
|
||||
Cc: Segher Boessenkool <segher@kernel.crashing.org>
|
||||
Cc: Sasha Levin <levinsasha928@gmail.com>
|
||||
Cc: Anton Blanchard <anton@samba.org>
|
||||
Cc: Alan Modra <amodra@gmail.com>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
---
|
||||
include/linux/compiler-gcc.h | 120 ++++++++++++++++++++++++++++++++++++++++--
|
||||
include/linux/compiler-gcc3.h | 23 --------
|
||||
include/linux/compiler-gcc4.h | 91 --------------------------------
|
||||
include/linux/compiler-gcc5.h | 67 -----------------------
|
||||
4 files changed, 116 insertions(+), 185 deletions(-)
|
||||
delete mode 100644 include/linux/compiler-gcc3.h
|
||||
delete mode 100644 include/linux/compiler-gcc4.h
|
||||
delete mode 100644 include/linux/compiler-gcc5.h
|
||||
|
||||
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
|
||||
index 5c2c14e..dfaa7b3 100644
|
||||
--- a/include/linux/compiler-gcc.h
|
||||
+++ b/include/linux/compiler-gcc.h
|
||||
@@ -122,10 +122,122 @@
|
||||
#define __maybe_unused __attribute__((unused))
|
||||
#define __always_unused __attribute__((unused))
|
||||
|
||||
-#define __gcc_header(x) #x
|
||||
-#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
|
||||
-#define gcc_header(x) _gcc_header(x)
|
||||
-#include gcc_header(__GNUC__)
|
||||
+/* gcc version specific checks */
|
||||
+
|
||||
+#if GCC_VERSION < 30200
|
||||
+# error Sorry, your compiler is too old - please upgrade it.
|
||||
+#endif
|
||||
+
|
||||
+#if GCC_VERSION < 30300
|
||||
+# define __used __attribute__((__unused__))
|
||||
+#else
|
||||
+# define __used __attribute__((__used__))
|
||||
+#endif
|
||||
+
|
||||
+#ifdef CONFIG_GCOV_KERNEL
|
||||
+# if GCC_VERSION < 30400
|
||||
+# error "GCOV profiling support for gcc versions below 3.4 not included"
|
||||
+# endif /* __GNUC_MINOR__ */
|
||||
+#endif /* CONFIG_GCOV_KERNEL */
|
||||
+
|
||||
+#if GCC_VERSION >= 30400
|
||||
+#define __must_check __attribute__((warn_unused_result))
|
||||
+#endif
|
||||
+
|
||||
+#if GCC_VERSION >= 40000
|
||||
+
|
||||
+/* GCC 4.1.[01] miscompiles __weak */
|
||||
+#ifdef __KERNEL__
|
||||
+# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101
|
||||
+# error Your version of gcc miscompiles the __weak directive
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
+#define __used __attribute__((__used__))
|
||||
+#define __compiler_offsetof(a, b) \
|
||||
+ __builtin_offsetof(a, b)
|
||||
+
|
||||
+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
|
||||
+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
|
||||
+#endif
|
||||
+
|
||||
+#if GCC_VERSION >= 40300
|
||||
+/* Mark functions as cold. gcc will assume any path leading to a call
|
||||
+ * to them will be unlikely. This means a lot of manual unlikely()s
|
||||
+ * are unnecessary now for any paths leading to the usual suspects
|
||||
+ * like BUG(), printk(), panic() etc. [but let's keep them for now for
|
||||
+ * older compilers]
|
||||
+ *
|
||||
+ * Early snapshots of gcc 4.3 don't support this and we can't detect this
|
||||
+ * in the preprocessor, but we can live with this because they're unreleased.
|
||||
+ * Maketime probing would be overkill here.
|
||||
+ *
|
||||
+ * gcc also has a __attribute__((__hot__)) to move hot functions into
|
||||
+ * a special section, but I don't see any sense in this right now in
|
||||
+ * the kernel context
|
||||
+ */
|
||||
+#define __cold __attribute__((__cold__))
|
||||
+
|
||||
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
|
||||
+
|
||||
+#ifndef __CHECKER__
|
||||
+# define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
+# define __compiletime_error(message) __attribute__((error(message)))
|
||||
+#endif /* __CHECKER__ */
|
||||
+#endif /* GCC_VERSION >= 40300 */
|
||||
+
|
||||
+#if GCC_VERSION >= 40500
|
||||
+/*
|
||||
+ * Mark a position in code as unreachable. This can be used to
|
||||
+ * suppress control flow warnings after asm blocks that transfer
|
||||
+ * control elsewhere.
|
||||
+ *
|
||||
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
|
||||
+ * this in the preprocessor, but we can live with this because they're
|
||||
+ * unreleased. Really, we need to have autoconf for the kernel.
|
||||
+ */
|
||||
+#define unreachable() __builtin_unreachable()
|
||||
+
|
||||
+/* Mark a function definition as prohibited from being cloned. */
|
||||
+#define __noclone __attribute__((__noclone__))
|
||||
+
|
||||
+#endif /* GCC_VERSION >= 40500 */
|
||||
+
|
||||
+#if GCC_VERSION >= 40600
|
||||
+/*
|
||||
+ * Tell the optimizer that something else uses this function or variable.
|
||||
+ */
|
||||
+#define __visible __attribute__((externally_visible))
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
+ * GCC 'asm goto' miscompiles certain code sequences:
|
||||
+ *
|
||||
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
+ *
|
||||
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
+ *
|
||||
+ * (asm goto is automatically volatile - the naming reflects this.)
|
||||
+ */
|
||||
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
||||
+
|
||||
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
|
||||
+#if GCC_VERSION >= 40400
|
||||
+#define __HAVE_BUILTIN_BSWAP32__
|
||||
+#define __HAVE_BUILTIN_BSWAP64__
|
||||
+#endif
|
||||
+#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
|
||||
+#define __HAVE_BUILTIN_BSWAP16__
|
||||
+#endif
|
||||
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
||||
+
|
||||
+#if GCC_VERSION >= 50000
|
||||
+#define KASAN_ABI_VERSION 4
|
||||
+#elif GCC_VERSION >= 40902
|
||||
+#define KASAN_ABI_VERSION 3
|
||||
+#endif
|
||||
+
|
||||
+#endif /* gcc version >= 40000 specific checks */
|
||||
|
||||
#if !defined(__noclone)
|
||||
#define __noclone /* not needed */
|
||||
--
|
||||
cgit v0.12
|
||||
|
Loading…
x
Reference in New Issue
Block a user