aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Browet <koying@users.noreply.github.com>2018-02-25 19:31:28 +0100
committerGitHub <noreply@github.com>2018-02-25 19:31:28 +0100
commitbeea2e412ff9852b21b9ce378bdf9a20150316c3 (patch)
tree477dea251469093cf56f45d61c7c37e0ad318dbd
parent1ed83d8293cfd12dece2e341f0b74ebb0dff16cb (diff)
parent0ab8b2eb7f49364b747ad0e162a0127ffc298704 (diff)
Merge pull request #13584 from koying/fixdroid3D2D
FIX: [amc] 3D->2D
-rw-r--r--xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererMediaCodecSurface.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererMediaCodecSurface.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererMediaCodecSurface.cpp
index f832405bfb..2be7081262 100644
--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererMediaCodecSurface.cpp
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererMediaCodecSurface.cpp
@@ -119,37 +119,39 @@ bool CRendererMediaCodecSurface::Supports(ERENDERFEATURE feature)
void CRendererMediaCodecSurface::RenderUpdate(int index, int index2, bool clear, unsigned int flags, unsigned int alpha)
{
CXBMCApp::get()->WaitVSync(100);
- ManageRenderArea();
m_bConfigured = true;
-}
-
-void CRendererMediaCodecSurface::ReorderDrawPoints()
-{
- CBaseRenderer::ReorderDrawPoints();
// this hack is needed to get the 2D mode of a 3D movie going
RENDER_STEREO_MODE stereo_mode = g_graphicsContext.GetStereoMode();
if (stereo_mode)
g_graphicsContext.SetStereoView(RENDER_STEREO_VIEW_LEFT);
+ ManageRenderArea();
+
if (stereo_mode)
g_graphicsContext.SetStereoView(RENDER_STEREO_VIEW_OFF);
m_surfDestRect = m_destRect;
- CRect srcRect(m_sourceRect);
switch (stereo_mode)
{
case RENDER_STEREO_MODE_SPLIT_HORIZONTAL:
m_surfDestRect.y2 *= 2.0;
- srcRect.y2 *= 2.0;
break;
case RENDER_STEREO_MODE_SPLIT_VERTICAL:
m_surfDestRect.x2 *= 2.0;
- srcRect.x2 *= 2.0;
+ break;
+ case RENDER_STEREO_MODE_MONO:
+ m_surfDestRect.y2 = m_surfDestRect.y2 * (m_surfDestRect.y2 / m_sourceRect.y2);
+ m_surfDestRect.x2 = m_surfDestRect.x2 * (m_surfDestRect.x2 / m_sourceRect.x2);
break;
default:
break;
}
+}
+
+void CRendererMediaCodecSurface::ReorderDrawPoints()
+{
+ CBaseRenderer::ReorderDrawPoints();
// Handle orientation
switch (m_renderOrientation)