xbmc: add patches for XVBA/VDPAU fixes

This commit is contained in:
Gregor Fuis 2012-09-16 15:25:08 +02:00
parent 33a760fb26
commit 829cddcc57
3 changed files with 83 additions and 0 deletions

View File

@ -0,0 +1,26 @@
From 66a8245d4e7d02469f03c6a1b3e295dde346645f Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Sat, 15 Sep 2012 17:24:30 +0200
Subject: [PATCH] videoplayer: fix calcDropRequirement for forced
deinterlacing
---
xbmc/cores/dvdplayer/DVDPlayerVideo.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
index db0fb1f..81e0012 100644
--- a/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
+++ b/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
@@ -1702,7 +1702,7 @@ int CDVDPlayerVideo::CalcDropRequirement(double pts)
bNewFrame = iDecoderPts != m_droppingStats.m_lastDecoderPts;
- if (interlaced)
+ if (interlaced || iSkippedDeint)
iInterval = 2/m_fFrameRate*(double)DVD_TIME_BASE;
else
iInterval = 1/m_fFrameRate*(double)DVD_TIME_BASE;
--
1.7.10

View File

@ -0,0 +1,32 @@
From f0bf2b7dff16ac6ee875770b390accf71660a662 Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Sun, 16 Sep 2012 08:27:06 +0200
Subject: [PATCH] vdpau: fix AutoInterlaceMethod to prevent from double
de-interlacing
---
xbmc/cores/VideoRenderers/LinuxRendererGL.cpp | 7 -------
1 file changed, 7 deletions(-)
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
index f25252c..374d75d 100644
--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
@@ -3743,14 +3743,7 @@ EINTERLACEMETHOD CLinuxRendererGL::AutoInterlaceMethod()
return VS_INTERLACEMETHOD_NONE;
if(m_renderMethod & RENDER_VDPAU)
- {
-#ifdef HAVE_LIBVDPAU
- VDPAU::CVdpauRenderPicture *vdpauPic = m_buffers[m_iYV12RenderBuffer].vdpau;
- if(vdpauPic && vdpauPic->vdpau)
- return vdpauPic->vdpau->AutoInterlaceMethod();
-#endif
return VS_INTERLACEMETHOD_NONE;
- }
if(Supports(VS_INTERLACEMETHOD_RENDER_BOB))
return VS_INTERLACEMETHOD_RENDER_BOB;
--
1.7.10

View File

@ -0,0 +1,25 @@
From a7d40418f3aaf35f5df1de8987ce14afd59fb04f Mon Sep 17 00:00:00 2001
From: xbmc <fernetmenta@online.de>
Date: Sun, 16 Sep 2012 12:19:27 +0200
Subject: [PATCH] xvba: oopsie :)
---
xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp
index d4cf6cf..bd7cc3d 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp
@@ -768,6 +768,7 @@ void CDecoder::DestroySession()
XVBA_Destroy_Decode_Buffers_Input bufInput;
bufInput.size = sizeof(bufInput);
bufInput.num_of_buffers_in_list = 1;
+ bufInput.session = m_xvbaConfig.xvbaSession;
for (unsigned int i=0; i<m_xvbaBufferPool.data_control_buffers.size() ; ++i)
{
--
1.7.10