mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
xbmc-pvr: add XVBA support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
f49ef71a93
commit
21ed1fbafb
@ -124,6 +124,12 @@ else
|
||||
XBMC_VAAPI="--disable-vaapi"
|
||||
fi
|
||||
|
||||
if [ "$XVBA" = yes ]; then
|
||||
XBMC_XVBA="--enable-xvba"
|
||||
else
|
||||
XBMC_XVBA="--disable-xvba"
|
||||
fi
|
||||
|
||||
if [ "$CRYSTALHD" = yes ]; then
|
||||
XBMC_CRYSTALHD="--enable-crystalhd"
|
||||
else
|
||||
@ -184,6 +190,7 @@ cd $PKG_BUILD
|
||||
$XBMC_VDPAU \
|
||||
$XBMC_VAAPI \
|
||||
$XBMC_CRYSTALHD \
|
||||
$XBMC_XVBA \
|
||||
--disable-vdadecoder \
|
||||
--disable-vtbdecoder \
|
||||
--disable-openmax \
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 0c2185d62f858f7b41461b4141e731dc7ec01ca6 Mon Sep 17 00:00:00 2001
|
||||
From: FernetMenta <fernetmenta@online.de>
|
||||
Date: Thu, 11 Aug 2011 18:35:18 +0200
|
||||
Subject: [PATCH] LinuxRendererGL: increase buffers to 3
|
||||
|
||||
---
|
||||
xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
|
||||
index 18c6da4..79a9d90 100644
|
||||
--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
|
||||
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
|
||||
@@ -223,7 +223,7 @@ bool CLinuxRendererGL::ValidateRenderer()
|
||||
|
||||
void CLinuxRendererGL::ManageTextures()
|
||||
{
|
||||
- m_NumYV12Buffers = 2;
|
||||
+ m_NumYV12Buffers = 3;
|
||||
//m_iYV12RenderBuffer = 0;
|
||||
return;
|
||||
}
|
||||
@@ -720,7 +720,7 @@ unsigned int CLinuxRendererGL::PreInit()
|
||||
m_resolution = RES_PAL_4x3;
|
||||
|
||||
m_iYV12RenderBuffer = 0;
|
||||
- m_NumYV12Buffers = 2;
|
||||
+ m_NumYV12Buffers = 3;
|
||||
|
||||
// setup the background colour
|
||||
m_clearColour = (float)(g_advancedSettings.m_videoBlackBarColour & 0xff) / 0xff;
|
||||
--
|
||||
1.7.5.4
|
||||
|
@ -1,40 +0,0 @@
|
||||
diff -Naur xbmc-4c32cde/xbmc/windowing/X11/WinSystemX11GL.cpp xbmc-4c32cde.patch/xbmc/windowing/X11/WinSystemX11GL.cpp
|
||||
--- xbmc-4c32cde/xbmc/windowing/X11/WinSystemX11GL.cpp 2011-10-29 14:43:48.634117918 +0200
|
||||
+++ xbmc-4c32cde.patch/xbmc/windowing/X11/WinSystemX11GL.cpp 2011-10-29 14:45:56.207774711 +0200
|
||||
@@ -45,7 +45,27 @@
|
||||
{
|
||||
CheckDisplayEvents();
|
||||
|
||||
- if(m_iVSyncMode == 3)
|
||||
+ if(m_iVSyncMode == 2)
|
||||
+ {
|
||||
+ static unsigned int last = 0;
|
||||
+ unsigned int now;
|
||||
+ if(m_glXGetVideoSyncSGI(&now) != 0)
|
||||
+ CLog::Log(LOGERROR, "%s - glXGetVideoSyncSGI - Failed to get current retrace count", __FUNCTION__);
|
||||
+
|
||||
+ if (now == last)
|
||||
+ {
|
||||
+ if (m_glXWaitVideoSyncSGI(2, (last + 1) % 2, &now) != 0)
|
||||
+ CLog::Log(LOGERROR, "%s - glXWaitVideoSyncSGI - Returned error", __FUNCTION__);
|
||||
+ if(m_glXGetVideoSyncSGI(&now) != 0)
|
||||
+ CLog::Log(LOGERROR, "%s - glXGetVideoSyncSGI - Failed to get current retrace count", __FUNCTION__);
|
||||
+ last = now + 1;
|
||||
+ }
|
||||
+ else
|
||||
+ last = now;
|
||||
+
|
||||
+ glXSwapBuffers(m_dpy, m_glWindow);
|
||||
+ }
|
||||
+ else if(m_iVSyncMode == 3)
|
||||
{
|
||||
glFinish();
|
||||
unsigned int before = 0, after = 0;
|
||||
@@ -238,7 +258,6 @@
|
||||
else
|
||||
m_glXSwapIntervalMESA = NULL;
|
||||
|
||||
-
|
||||
return true;
|
||||
}
|
||||
|
@ -1,27 +0,0 @@
|
||||
From dff7d824c82f957e19ad56247134912d70862188 Mon Sep 17 00:00:00 2001
|
||||
From: FernetMenta <fernetmenta@online.de>
|
||||
Date: Sun, 14 Aug 2011 11:21:32 +0200
|
||||
Subject: [PATCH] vaapi: increase number of video surface allocated
|
||||
|
||||
---
|
||||
xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 4 +++-
|
||||
1 files changed, 3 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
|
||||
index bcc3fe1..326c390 100644
|
||||
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
|
||||
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
|
||||
@@ -358,7 +358,9 @@ bool CDecoder::EnsureContext(AVCodecContext *avctx)
|
||||
else
|
||||
m_refs = 2;
|
||||
}
|
||||
- return EnsureSurfaces(avctx, m_refs + 3);
|
||||
+ // number of reference + 3 renderbuffers + Holder
|
||||
+ // an extra one should not harm
|
||||
+ return EnsureSurfaces(avctx, m_refs + 5);
|
||||
}
|
||||
|
||||
bool CDecoder::EnsureSurfaces(AVCodecContext *avctx, unsigned n_surfaces_count)
|
||||
--
|
||||
1.7.5.4
|
||||
|
@ -0,0 +1,11 @@
|
||||
diff -Naur xbmc-f3b0020/xbmc/peripherals/Peripherals.cpp xbmc-f3b0020.patch/xbmc/peripherals/Peripherals.cpp
|
||||
--- xbmc-f3b0020/xbmc/peripherals/Peripherals.cpp 2011-12-10 22:16:17.000000000 +0100
|
||||
+++ xbmc-f3b0020.patch/xbmc/peripherals/Peripherals.cpp 2011-12-11 18:25:13.143643374 +0100
|
||||
@@ -19,6 +19,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+#include "system.h"
|
||||
#include "Peripherals.h"
|
||||
#include "bus/PeripheralBus.h"
|
||||
#include "devices/PeripheralBluetooth.h"
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,12 @@
|
||||
diff -Naur xbmc-f3b0020/xbmc/network/AirTunesServer.cpp xbmc-f3b0020.patch/xbmc/network/AirTunesServer.cpp
|
||||
--- xbmc-f3b0020/xbmc/network/AirTunesServer.cpp 2011-12-10 22:16:17.000000000 +0100
|
||||
+++ xbmc-f3b0020.patch/xbmc/network/AirTunesServer.cpp 2011-12-11 18:22:56.423945075 +0100
|
||||
@@ -279,7 +279,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
-CAirTunesServer::CAirTunesServer(int port, bool nonlocal)
|
||||
+CAirTunesServer::CAirTunesServer(int port, bool nonlocal) : CThread("CAirTunesServer")
|
||||
{
|
||||
m_port = port;
|
||||
m_pLibShairport = new DllLibShairport();
|
Loading…
x
Reference in New Issue
Block a user