diff --git a/packages/mediacenter/xbmc/patches/xbmc-11.0.2-902.22-videoplayer_fix_calcDropRequirement_for_forced_deinterlacing.patch b/packages/mediacenter/xbmc/patches/xbmc-11.0.2-902.22-videoplayer_fix_calcDropRequirement_for_forced_deinterlacing.patch new file mode 100644 index 0000000000..01043f4e81 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-11.0.2-902.22-videoplayer_fix_calcDropRequirement_for_forced_deinterlacing.patch @@ -0,0 +1,26 @@ +From 66a8245d4e7d02469f03c6a1b3e295dde346645f Mon Sep 17 00:00:00 2001 +From: xbmc +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 + diff --git a/packages/mediacenter/xbmc/patches/xbmc-11.0.2-902.23-vdpau_fix_AutoInterlaceMethod_to_prevent_from_double_de-interlacing.patch b/packages/mediacenter/xbmc/patches/xbmc-11.0.2-902.23-vdpau_fix_AutoInterlaceMethod_to_prevent_from_double_de-interlacing.patch new file mode 100644 index 0000000000..620eb0a651 --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-11.0.2-902.23-vdpau_fix_AutoInterlaceMethod_to_prevent_from_double_de-interlacing.patch @@ -0,0 +1,32 @@ +From f0bf2b7dff16ac6ee875770b390accf71660a662 Mon Sep 17 00:00:00 2001 +From: xbmc +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 + diff --git a/packages/mediacenter/xbmc/patches/xbmc-11.0.2-902.24-xvba_oopsie.patch b/packages/mediacenter/xbmc/patches/xbmc-11.0.2-902.24-xvba_oopsie.patch new file mode 100644 index 0000000000..9139fd4ddc --- /dev/null +++ b/packages/mediacenter/xbmc/patches/xbmc-11.0.2-902.24-xvba_oopsie.patch @@ -0,0 +1,25 @@ +From a7d40418f3aaf35f5df1de8987ce14afd59fb04f Mon Sep 17 00:00:00 2001 +From: xbmc +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 +Date: Sun, 16 Sep 2012 18:38:01 +0200 +Subject: [PATCH] vdpau: fix upscaling setting + +--- + xbmc/settings/AdvancedSettings.cpp | 4 ++-- + xbmc/settings/AdvancedSettings.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp +index 61ccf85..3556b7d 100644 +--- a/xbmc/settings/AdvancedSettings.cpp ++++ b/xbmc/settings/AdvancedSettings.cpp +@@ -98,7 +98,7 @@ void CAdvancedSettings::Initialize() + m_videoIgnoreSecondsAtStart = 3*60; + m_videoIgnorePercentAtEnd = 8.0f; + m_videoPlayCountMinimumPercent = 90.0f; +- m_videoVDPAUScaling = false; ++ m_videoVDPAUScaling = -1; + m_videoNonLinStretchRatio = 0.5f; + m_videoEnableHighQualityHwScalers = false; + m_videoAutoScaleMaxFps = 30.0f; +@@ -492,7 +492,7 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file) + XMLUtils::GetString(pElement,"cleandatetime", m_videoCleanDateTimeRegExp); + XMLUtils::GetString(pElement,"ppffmpegdeinterlacing",m_videoPPFFmpegDeint); + XMLUtils::GetString(pElement,"ppffmpegpostprocessing",m_videoPPFFmpegPostProc); +- XMLUtils::GetBoolean(pElement,"vdpauscaling",m_videoVDPAUScaling); ++ XMLUtils::GetInt(pElement,"vdpauscaling",m_videoVDPAUScaling); + XMLUtils::GetFloat(pElement, "nonlinearstretchratio", m_videoNonLinStretchRatio, 0.01f, 1.0f); + XMLUtils::GetBoolean(pElement,"enablehighqualityhwscalers", m_videoEnableHighQualityHwScalers); + XMLUtils::GetFloat(pElement,"autoscalemaxfps",m_videoAutoScaleMaxFps, 0.0f, 1000.0f); +diff --git a/xbmc/settings/AdvancedSettings.h b/xbmc/settings/AdvancedSettings.h +index b3a54ff..f50151a 100644 +--- a/xbmc/settings/AdvancedSettings.h ++++ b/xbmc/settings/AdvancedSettings.h +@@ -152,7 +152,7 @@ class CAdvancedSettings + CStdString m_audioHost; + bool m_audioApplyDrc; + +- bool m_videoVDPAUScaling; ++ int m_videoVDPAUScaling; + float m_videoNonLinStretchRatio; + bool m_videoEnableHighQualityHwScalers; + float m_videoAutoScaleMaxFps; +-- +1.7.10 +