Skip to content
Permalink
Browse files

PRs

  • Loading branch information...
StormTrooper committed Jan 15, 2019
1 parent ef1c2d9 commit 0d03b94548bf6a29c0c5b10259e620f2f7e908b1
@@ -0,0 +1,61 @@
From b96b3ec89be22885aa57b50f770c905ee68afee6 Mon Sep 17 00:00:00 2001
From: Anton Fedchin <afedchin@ruswizards.com>
Date: Sun, 13 Jan 2019 23:12:51 +0300
Subject: [PATCH] [videopayer] WinRenderer: don't keep past frames for
progressive material

---
xbmc/cores/VideoPlayer/VideoRenderers/WinRenderBuffer.cpp | 2 ++
xbmc/cores/VideoPlayer/VideoRenderers/WinRenderBuffer.h | 1 +
xbmc/cores/VideoPlayer/VideoRenderers/WinRenderer.cpp | 6 ++++--
3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderBuffer.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderBuffer.cpp
index a85da3735b46..189bcafb5251 100644
--- a/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderBuffer.cpp
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderBuffer.cpp
@@ -85,6 +85,7 @@ void CRenderBuffer::Release()
m_activePlanes = 0;
texBits = 8;
bits = 8;
+ pictureFlags = 0;
m_locked = false;

m_planes[0] = nullptr;
@@ -340,6 +341,7 @@ void CRenderBuffer::AppendPicture(const VideoPicture & picture)
videoBuffer = picture.videoBuffer;
videoBuffer->Acquire();

+ pictureFlags = picture.iFlags;
primaries = static_cast<AVColorPrimaries>(picture.color_primaries);
color_space = static_cast<AVColorSpace>(picture.color_space);
color_transfer = static_cast<AVColorTransferCharacteristic>(picture.color_transfer);
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderBuffer.h b/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderBuffer.h
index 3c55e3ca92d3..9dde7238a702 100644
--- a/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderBuffer.h
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderBuffer.h
@@ -60,6 +60,7 @@ class CRenderBuffer

bool loaded;
unsigned int frameIdx;
+ unsigned int pictureFlags = 0;
EBufferFormat format;
CVideoBuffer* videoBuffer;
AVColorPrimaries primaries;
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderer.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderer.cpp
index 50967ea11259..ca7275df7c1d 100644
--- a/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderer.cpp
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/WinRenderer.cpp
@@ -1131,8 +1131,10 @@ bool CWinRenderer::NeedBuffer(int idx)
{
if (m_renderBuffers[idx].loaded)
{
- int numPast = m_processor->PastRefs();
- if (m_renderBuffers[idx].frameIdx + numPast*2 >= m_renderBuffers[m_iYV12RenderBuffer].frameIdx)
+ const int numPast = m_processor->PastRefs();
+ if (m_renderBuffers[idx].pictureFlags & DVP_FLAG_INTERLACED &&
+ m_renderBuffers[idx].frameIdx + numPast * 2 >=
+ m_renderBuffers[m_iYV12RenderBuffer].frameIdx)
return true;
}
}
@@ -0,0 +1,27 @@
From 7b243530d7a3c4eb20d88149ebbca04170cd3b67 Mon Sep 17 00:00:00 2001
From: Kostas Andrianos <andrianos.ks>
Date: Mon, 14 Jan 2019 04:40:32 +0200
Subject: [PATCH] Add missing POP to return to the calling directory after
error

---
tools/buildsteps/windows/download-dependencies.bat | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/tools/buildsteps/windows/download-dependencies.bat b/tools/buildsteps/windows/download-dependencies.bat
index d8e8ff3178ab..a316de08be9b 100644
--- a/tools/buildsteps/windows/download-dependencies.bat
+++ b/tools/buildsteps/windows/download-dependencies.bat
@@ -53,6 +53,12 @@ IF NOT EXIST %FORMED_OK_FLAG% (
ECHO C:\^> SET KODI_MIRROR=http://example.com/pub/xbmc/
ECHO.
ECHO Then, rerun this script.
+
+ REM Restore the previous current directory
+ POPD
+
+ ENDLOCAL
+
EXIT /B 101
)

0 comments on commit 0d03b94

Please sign in to comment.
You can’t perform that action at this time.